首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分类模型的best_score_与accuracy_score_和AUROC的性能评分(二进制)

分类模型的best_score_与accuracy_score_和AUROC的性能评分(二进制)
EN

Stack Overflow用户
提问于 2022-10-05 20:12:32
回答 1查看 49关注 0票数 1

我有这三个指标来完成分类任务。有人能用通俗易懂的英语告诉我,区别是什么,使用哪一种和什么时候使用?

谢谢

代码语言:javascript
复制
for name, model in fitted_models.items():
    print(name, model.best_score_)

l1

0.8493863035326624

l2

0.8493863035326624

射频

0.9796513913558318

gb

0.9752980461811722

///////////////////////////////////////////////

代码语言:javascript
复制
for name, model in fitted_models.items():
    pred = model.predict(X_test)
    print(name, accuracy_score(y_test, pred))

l1

0.8603411513859275

l2

0.8603411513859275

射频

0.9790334044065387

gb

0.9758351101634684

///////////////////////////////////////////////

代码语言:javascript
复制
for name, model in fitted_models.items():
    pred = model.predict_proba(X_test)
    pred = [p[1] for p in pred]
    print(name, roc_auc_score(y_test, pred))

l1

0.9015388373737675

l2

0.9015381433597084

射频

0.9915194952019338

gb

0.988678201643009

EN

回答 1

Stack Overflow用户

发布于 2022-10-11 15:32:20

1.首先:

代码语言:javascript
复制
model.best_score_

请返回列车数据的准确性,但本问题中的另外两种方法适用于测试数据

2.model.best_score_ & accuracy_score(y_test,pred)返回到您的意思是:

代码语言:javascript
复制
accuracy = (tp + tn) / (tp + fp + fn + tn)

但是roc_auc_score(y_test,pred)计算auc时,每个类的概率点是分开的,当然是用ROC曲线下的面积计算的。

3.当我们可以使用predict_proba()时,列车数据的精度不是很好的度量参数,而roc auc的精度要好于精度。

4.最后,精度和召回是比精度更好的参数,我们必须根据需要在两者之间做出明智的选择。

我向您提供classification_report,此方法返回每个类的所有参数,并对它们进行平均值:

代码语言:javascript
复制
from sklearn.metrics import classification_report
print(classification_report(y_pred=y_pred, y_true=y_test))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73965844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档