【问题标题】:Scoring predictions in sklearn (Python machine learning)sklearn 中的评分预测(Python 机器学习)
【发布时间】:2017-07-05 09:51:57
【问题描述】:

我正在浏览下面的 IPython Notebook,它分析了 Iris dataset

作者在笔记本中的某一时刻构建了以下模型:

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

我会做以下事情:

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

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

【问题讨论】:

标签: python machine-learning scikit-learn


【解决方案1】:

来自docs

score(X, y, sample_weight=None)

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

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

您所做的类似,但分两个步骤。您首先进行预测,然后与y_test 进行比较。此外,您还打印了准确率、召回率和 f1 分数。

【讨论】:

    【解决方案2】:

    为@Coldspeed 的答案添加一些细节,scoreDecisionTreeClassifier 调用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
    

    【讨论】:

      猜你喜欢
      • 2011-10-04
      • 1970-01-01
      • 2018-11-27
      • 2016-02-25
      • 1970-01-01
      • 2013-05-08
      • 2015-12-13
      • 2019-09-23
      • 2018-08-23
      相关资源
      最近更新 更多