2013-04-04 82 views
4

我已经使用knn来分类我的数据集。但我不知道如何测量训练分类器的准确性。 scikit是否有任何内置函数来检查knn分类器的准确性?如何测量Python中knn分类器的准确性

from sklearn.neighbors import KNeighborsClassifier 
knn = KNeighborsClassifier() 
knn.fit(training, train_label)  
predicted = knn.predict(testing) 

欣赏所有的帮助。由于

回答

4

另一种方法是计算混淆矩阵,它告诉你这两个类和α和β误差精度:

from sklearn.metrics import confusion_matrix 
con_mat = confusion_matrix(true_values, pred_values, [0, 1]) 

如果您的标签 如果您想要一个不错的产品,可以添加代码:

from numpy import np 
import math 
total_accuracy = (con_mat[0, 0] + con_mat[1, 1])/float(np.sum(con_mat)) 
class1_accuracy = (con_mat[0, 0]/float(np.sum(con_mat[0, :]))) 
class2_accuracy = (con_mat[1, 1]/float(np.sum(con_mat[1, :]))) 
print(con_mat) 
print('Total accuracy: %.5f' % total_accuracy) 
print('Class1 accuracy: %.5f' % class1_accuracy) 
print('Class2 accuracy: %.5f' % class2_accuracy) 
print('Geometric mean accuracy: %.5f' % math.sqrt((class1_accuracy * class2_accuracy))) 
相关问题