我们如何使用 Scikit-Learn 评估预测值

机器算法验证 预测模型 预言 scikit-学习
2022-03-29 09:48:20

我正在使用 AdaBoost 分类器来预测我拥有的值。如何评估预测模型的准确性(我想看看预测值的准确性如何)。

您可以在此处查看示例:http: //scikit-learn.org/stable/modules/ensemble.html#usage

我发现了两个选项:使用混淆矩阵

from sklearn.metrics import confusion_matrix
cm = confusion_matrix(expected, y_1)

或使用交叉验证分数

scores = cross_val_score(clf_1, X_train, y_train)
print scores.mean()

还有:AdaBoostClassifier.staged_score(X, y) AdaBoostClassifier.score(X, y)

所以,我有点困惑。

最后一个问题:我应该使用 predict() 还是 predict_proba()。

1个回答

为了获得预测的准确性,您可以执行以下操作:

print accuracy_score(expected, y_1)

如果您需要一些指标,例如精度、召回率、f1-score,您可以获得分类报告:

print classification_report(expected, y_1)

混淆矩阵将告诉有多少被分类的样本是根据哪个标签分类的。这将告诉您您的分类器是否混淆了某些类别。

获取这些指标的函数与您使用的分类模型无关。(例如,您可以轻松地测试 SVM)

您应该使用predict(),因为这将给出分类样本的标签。predict_proba将给出属于某个类别的样本的概率

我建议阅读一些文档页面: