Mi piacerebbe ottenere un punteggio di confidenza di ciascuna delle previsioni che effettua, mostrando in che modo il classificatore è sicuro che è corretto.Come ottenere il punteggio di confidenza di un classificatore per una previsione in sklearn?
voglio qualcosa di simile:
Come sicuro è il classificatore sulla sua previsione?
Classe 1: 81% che questo è di classe 1
Classe 2: 10%
Classe 3: 6%
Classe 4: 3%
Campioni del mio codice:
features_train, features_test, labels_train, labels_test = cross_validation.train_test_split(main, target, test_size = 0.4)
# Determine amount of time to train
t0 = time()
model = SVC()
#model = SVC(kernel='poly')
#model = GaussianNB()
model.fit(features_train, labels_train)
print 'training time: ', round(time()-t0, 3), 's'
# Determine amount of time to predict
t1 = time()
pred = model.predict(features_test)
print 'predicting time: ', round(time()-t1, 3), 's'
accuracy = accuracy_score(labels_test, pred)
print 'Confusion Matrix: '
print confusion_matrix(labels_test, pred)
# Accuracy in the 0.9333, 9.6667, 1.0 range
print accuracy
model.predict(sub_main)
# Determine amount of time to predict
t1 = time()
pred = model.predict(sub_main)
print 'predicting time: ', round(time()-t1, 3), 's'
print ''
print 'Prediction: '
print pred
Sospetto che userò la funzione score(), ma mi sembra di continuare a implementarla correttamente. Non so se questa sia la funzione giusta o meno, ma come si otterrebbe la percentuale di confidenza della previsione di un classificatore?
domanda davvero utile. c'è un modo per associare anche i nomi di classe alle probabilità? per esempio se ottengo il seguente elenco di probabilità per un input [0,33 0,25 0,75]. so che verrà scelto il terzo, ma a quale classe fa riferimento il terzo? – AbtPst
le probabilità corrispondono a 'classifier.classes_'. Ma non hanno senso se il set di dati è piccolo :-(. Inoltre, non sono nemmeno garantiti come corrispondenza con 'classifier.predict()': '(. [Collegamento alla pagina dei documenti] (http: // scikit- learn.org/stable/modules/generated/sklearn.svm.SVC.html#sklearn.svm.SVC.predict) – AneesAhmed777