Ich verwende scikit-learn
um einen einfachen überwachten Lernalgorithmus zu implementieren. Im Wesentlichen folge ich dem Tutorial here (aber mit meinen eigenen Daten).SVC (Support Vector Classification) mit kategorialen (String) Daten als Label
Ich versuche, um das Modell zu passen:
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(features_training,labels_training)
Aber in der zweiten Zeile, erhalte ich eine Fehlermeldung: ValueError: could not convert string to float: 'A'
Der Fehler wird erwartet, weil label_training
String-Werte enthält, die drei verschiedenen Kategorien darstellen, wie zum als A
, B
, C
.
Die Frage ist also: Wie verwende ich SVC (Support-Vektor-Klassifikation), wenn die markierten Datenkategorien in Form von Zeichenkette darstellen. Eine intuitive Lösung für mich scheint einfach jede Zeichenfolge in eine Zahl zu konvertieren. Zum Beispiel A = 0
, B = 1
usw. Aber ist das wirklich die beste Lösung?
Sie sollten zumindest direkt mit dem Abschnitt verlinken und den OneHotEncoder erwähnen. –
Aber wie kann Ihnen das Hotencoding helfen, wenn Sie versuchen, eine neue Farbe vorherzusagen? Vielleicht musst du in deinem Fall das Modell umschulen. Hast du irgendeine Lösung? – gtzinos