评估预测的准确性

时间:2015-04-13 10:51:56

标签: python machine-learning scikit-learn classification

我已经训练并测试了我的KNN分类器。我已经通过验证,平均得分也不错。现在,我想预测一些真实数据的标签。但有没有办法看到预测的准确性?我只想在准确度足够高的情况下保存预测标签。我正在使用Python和scikit-learn。

1 个答案:

答案 0 :(得分:2)

正如@jonrsharpe所说,predict_proba应该这样做。

它提供了一个包含所有类别概率的数组。可以说,你有3个类别[A,B,C]。 predict_proba方法将返回 [0.2,0.3,0.5]。 所以这里你的准确性将是

A=0.2
B=0.3
C=0.5

例如:

categories = [A, B, C]
X = # put your data
Y = # put your result

classifier.fit(X, Y)
prediction = classifier.predict_proba(X) # predict whatever you want here

for line in prediction:
    # numpy.argmax return the index of the biggest value in the array
    # max return the biggest value
    print("The class is %s with proba : %f " % (categories[numpy.argmax(line)], max(line, key=float)))

重要:处理您的类别数组中的顺序。 predict_proba结果的内容基于类别以词汇方式排序。在处理结果之前,请毫不犹豫地对类别进行排序