Ich arbeite an einem Klassifikator mit sklearn.neighbors.KNeighborsRegressor. Die Daten, die ich verwende, hat folgendes Format:Kategoriale Labels in KNN sklearn
- [numeric_feature1, numeric_feature2, ...., numeric_featureN] [label_to_predict]
Alle Funktionen sind Numerik außer dem Label, das ich will Vorhersage mit KNN.
Es ist ein kategorisches Etikett mit mehreren Werten, zum Beispiel: 'w1', 'w2', 'w3'.
Meine Fragen sind:
- Ist die KNN kategorische Etiketten oder nur numerische diejenigen unterstützen?
- Falls es nur mit numerischen Werten funktioniert, gibt es einen richtigen Weg, um die Etiketten zu codieren?
PD: Ich weiß über sklearn.preprocessing.LabelEncoder Labels zu codieren, aber in der Dokumentation sagt, dass die kategorischen Werte hashable und vergleichbar sein müssen. Meine Etiketten sind nur willkürliche Wörter, es gibt keine Möglichkeit, eine logische Entfernung zwischen ihnen zu berechnen.
PD2: Ich habe mit kategorischen Etiketten versucht, und ich bin erhalte eine Fehlermeldung:
"unsupported Operandtyp (e) für /: 'str' und 'int'"
Try MultilabelBinarizer –
Bitte senden Sie das Code-Snippet und den vollständigen Stack-Trace. Labels sollen kategorial sein, sie werden bei keiner Entfernungsberechnung verwendet. – aberger