我想知道sklearn中是否有一个功能对应于准确度(实际和预测数据之间的差异)以及如何将其打印出来?
from sklearn import datasets
iris = datasets.load_iris()
from sklearn.naive_bayes import GaussianNB
naive_classifier= GaussianNB()
y =naive_classifier.fit(iris.data, iris.target).predict(iris.data)
pr=naive_classifier.predict(iris.data)
scikit中的大多数分类器都有内置的score()
函数,您可以在其中输入X_test和y_test,它将为该估计器输出适当的度量。对于分类估计,它主要是'mean accuracy'
。
此外sklearn.metrics
有许多功能可以输出不同的指标,如accuracy
,precision
,recall
等。
对于您的具体问题,您需要accuracy_score
from sklearn.metrics import accuracy_score
score = accuracy_score(iris.target, pr)
你可以使用accuracy_score
,找到文档here。
像这样实施 -
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(prediction, labels_test)
这将返回一个浮点值。浮点值描述(正确分类的点数)/(测试集中的总点数)
对于分类问题,请使用“metrics.accuracy_score”,使用“metrics.r2_score”进行回归。
您必须从sklearn.metrics导入accuracy_score。它应该如下所示,来自sklearn.metrics import accuracy_score print accuracy_score(预测,测试标签集)
准确度的公式是正确分类的点数/测试集中的所有点