gpt4 book ai didi

scikit-learn - 不同的结果 roc_auc_score 和 plot_roc_curve

转载 作者:行者123 更新时间:2023-12-04 10:26:36 24 4
gpt4 key购买 nike

我正在训练一个 RandomForestClassifier (sklearn) 来预测信用卡欺诈。然后当我测试模型并检查 rocauc 分数时,当我使用 roc_auc_score 时会得到不同的值和 plot_roc_curve . roc_auc_score 给我大约 0.89,而 plot_curve 计算出的 AUC 为 0.96,这是为什么?

标签都是 0 和 1,预测是 0 或 1。
代码:

clf = RandomForestClassifier(random_state =42)
clf.fit(X_train, y_train[target].values)
pred_test = clf.predict(X_test)
print(roc_auc_score(y_test, pred_test))
clf_disp = plot_roc_curve(clf, X_test, y_test)
plt.show()

代码的输出(roc_auc_Score 就在图表上方)。

image

最佳答案

您正在提供预测类而不是预测概率roc_auc_score .

来自 Documentation :

y_score: array-like of shape (n_samples,) or (n_samples, n_classes)

Target scores. In the binary and multilabel cases, these can be either probability estimates or non-thresholded decision values (as returned by decision_function on some classifiers).



将您的代码更改为:

clf = RandomForestClassifier(random_state =42)
clf.fit(X_train, y_train[target].values)
y_score = clf.predict_prob(X_test)
print(roc_auc_score(y_test, y_score))

关于scikit-learn - 不同的结果 roc_auc_score 和 plot_roc_curve,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60615281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com