Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 评估预测';s精度_Python_Machine Learning_Scikit Learn_Classification - Fatal编程技术网

Python 评估预测';s精度

Python 评估预测';s精度,python,machine-learning,scikit-learn,classification,Python,Machine Learning,Scikit Learn,Classification,我已经训练并测试了KNN分类器。我已经过了,平均分还不错。现在,我想预测一些真实数据的标签。但是有没有一种方法可以证明预测的准确性呢?我只想在准确度足够高的情况下保存预测标签。我正在使用Python和scikit学习。正如@jornsharpe所说,predict\u proba应该做到这一点 它提供了一个包含所有类别概率的数组。比如说,你有3个类别[A,B,C]。predict\u proba方法将返回 [0.2,0.3,0.5]. 所以你的准确度是 A=0.2 B=0.3 C=0.5 例

我已经训练并测试了KNN分类器。我已经过了,平均分还不错。现在,我想预测一些真实数据的标签。但是有没有一种方法可以证明预测的准确性呢?我只想在准确度足够高的情况下保存预测标签。我正在使用Python和scikit学习。

正如@jornsharpe所说,
predict\u proba
应该做到这一点

它提供了一个包含所有类别概率的数组。比如说,你有3个类别[A,B,C]。
predict\u 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结果的内容根据类别进行词汇排序。在处理结果之前,请毫不犹豫地对类别进行排序

您是否检查了“有很多方法可以评估您的模型”您所说的准确性是什么意思?你是说有多少分类器的分类与真实数据相匹配(在这种情况下,你需要一个真理点来进行比较),还是说分类器对它所做的每个分类有多确定?@EdChum,我是说的,但这是模型评估,不是预测评估。@Jornsharpe,我想知道分类器对它预测的标签有多确定。假设预测A的准确率为90%,那么很有可能它是正确的,我会将其保存到我的数据库中。@AndreiHorak您看过了吗?分类器还将具有一个
classes\uu
属性,该属性为您提供使用的顺序。