sklearn中的评分预测(Python机器学习)

时间:2017-07-04 23:08:15

标签: python machine-learning scikit-learn

我正在浏览以下分析Iris dataset

的IPython Notebook

在笔记本中的某一点上,作者构建了以下模型:

enter image description here

此时,我变得非常困惑。最后一行发生了什么? 根据我的经验,您应该根据模型创建预测,然后将该预测与y_test值进行比较。

我会做以下事情:

predictions = decision_tree_classifier.predict(X_test)
from sklearn.metrics import classification_report
print classification_report(y_test, predictions)

当作者根据testing_inputstesting_classes生成得分时会发生什么?

2 个答案:

答案 0 :(得分:4)

来自docs

  

得分(X,y,sample_weight =无)

     

返回给定测试数据和标签的平均准确度。

而这正是它的作用。它在内部对X_test执行预测,生成y_pred并将其与y_test进行比较,以计算准确度得分。

你做的是类似的,但分两步。您首先预测然后与y_test进行比较。此外,您正在打印出精确度,召回率和f1分数。

答案 1 :(得分:2)

为@ Coldspeed的答案添加一些细节,score调用DecisionTreeClassifier sklearn.metrics.accuracy_score。这是正确分类的百分比。只是指出这一点,因为我没有找到所有直观的“平均准确度”。

from sklearn.metrics import accuracy_score
y_pred = [0, 2, 1, 3]
y_true = [0, 1, 2, 3]

accuracy_score(y_true, y_pred)
Out[106]: 0.5