Ich benutze die scikit-learn SVM zur Textklassifizierung und befolge die Richtlinie here. Aber ich bin verwirrt, wie die predict_proba
Methode zu verwenden, um die Wahrscheinlichkeiten, assoziieren mit dem richtigen Etikett zu holen und holen die oben 3.scikit-learn/svm - Hol Wahrscheinlichkeiten und zugehörige Beschriftungen nach 'predict_proba'
vectorizer = HashingVectorizer()
clf = svm.SVC(probability=True,class_weight='balanced')
test_data = [...]
test_vectors = vectorizer.transform(test_data)
predicted = clf.predict_proba(test_vectors)
for doc, pred in zip(test_labels, predicted):
print('%r => %s' % (doc, test_labels[pred]))
Auf den obigen Code läuft ich diese Ausnahme erhalten:
TypeError: only integer arrays with one element can be converted to an index
Dies ist verständlich, da die test_labels eine Reihe von Wahrscheinlichkeiten ist, aber ich bin mir nicht sicher, wie man die zugehörige Bezeichnung und Wahrscheinlichkeit holt.
Bitte buchen Sie die vollständige Fehler-Stack-Trace. In welcher Zeile bekommen Sie den Fehler? Und zeigen Sie auch einige Beispiele Ihrer Daten –