gpt4 book ai didi

python - 随机森林 : predict vs predict_proba

转载 作者:行者123 更新时间:2023-12-05 02:43:38 26 4
gpt4 key购买 nike

我正在处理一个多类、高度不平衡的分类问题。我使用随机森林作为基础分类器。

我必须在考虑多个标准(指标:精度、召回 conf_matrix、roc_auc)的情况下给出模型性能报告。

模型火车:

rf = RandomForestClassifier(()
rf.fit(train_X, train_y)

为了获得准确率/召回率和混淆矩阵,我会这样做:

pred = rf.predict(test_X)
precision = metrics.precision_score(y_test, pred)
recall = metrics.recall_score(y_test, pred)
f1_score = metrics.f1_score(y_test, pred)
confusion_matrix = metrics.confusion_matrix(y_test, pred)

很好,但是计算 roc_auc 需要类的预测概率,而不是类标签。为此,我必须进一步这样做:

y_prob = rf.predict_proba(test_X)
roc_auc = metrics.roc_auc_score(y_test, y_prob)

但是我在这里担心 rf.predict() 首先产生的结果可能与 rf.predict_proba() 不一致,所以 roc_auc 我报告的分数。我知道多次调用 predict 会产生完全相同的结果,但我担心 predict 然后 predict_proba 可能会产生稍微不同的结果,使得不宜与上述指标一起讨论。

如果是这样,有没有办法控制它,确保 predict() 用来决定预测标签的类概率在我调用 predict_proab 时完全相同?

最佳答案

predict_proba()predict() 彼此一致。事实上,predict 在内部使用 predict_proba 可以看出here in the source code

关于python - 随机森林 : predict vs predict_proba,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66816050/

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