如何找出准确性?

时间:2017-02-26 16:31:02

标签: python scikit-learn naivebayes

我想知道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)

7 个答案:

答案 0 :(得分:7)

scikit中的大多数分类器都有一个内置的score()函数,您可以在其中输入X_test和y_test,它将为该估算器输出适当的度量标准。对于分类估算器,它主要是'mean accuracy'

同样sklearn.metrics有许多可用的功能,可以输出不同的指标,如accuracyprecisionrecall等。

针对您的具体问题,您需要accuracy_score

from sklearn.metrics import accuracy_score
score = accuracy_score(iris.target, pr)

答案 1 :(得分:1)

您可以使用accuracy_score,找到文档here

这样的实现-

from sklearn.metrics import accuracy_score
accuracy = accuracy_score(prediction, labels_test)

这将返回一个浮点值。浮点值描述(正确分类的点数)/(测试集中的点总数)

答案 2 :(得分:1)

首先,您需要从sklearn导入指标,在指标中,您需要导入precision_score
然后您可以获得准确度得分

precision_score公式为
accuracy_score = correct_predictions /预测数

from sklearn.metrics import accuracy_score
accuracy_score(y_actual,y_predicted)

PS。它非常适合分类技术

答案 3 :(得分:1)

您可以直接在score()中使用GaussianNB功能。这样,您无需预测标签然后计算准确性。

from sklearn.naive_bayes import GaussianNB
gnb = GaussianNB()
gnb = gnb.fit(train_data, train_labels)
score = gnb.score(test_data, test_labels)

答案 4 :(得分:1)

您始终可以使用 sklearn 的指标来获取模型的准确度,您也可以使用 accuracy_score(test_data,predictions) 来获取模型值与实际值之间的差异,除此之外,您还可以检查模型 metrics.mean_absolute_error(y_test,predictions) 中的错误率对于平均绝对误差,metrics.mean_squared_error(y_test, predictions) 对于均方误差。等

答案 5 :(得分:0)

对于分类问题,请使用“ metrics.accuracy_score”,而回归使用“ metrics.r2_score”。

答案 6 :(得分:0)

您必须从sklearn.metrics导入precision_score。应该像下面这样 从sklearn.metrics导入precision_score 打印precision_score(预测,标签测试集)

精度公式为 正确分类的分数/测试集中的所有分数