前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >分类模型的评测指标

分类模型的评测指标

作者头像
用户11414625
发布2024-12-20 16:08:08
发布2024-12-20 16:08:08
5200
代码可运行
举报
文章被收录于专栏:生信星球520生信星球520
运行总次数:0
代码可运行

娃感冒了,把我传染了,他好了,我还没好O(∩_∩)O,请了两天直播课的假,带娃也被妈妈和老公全权承包,当了两天幸福的废物。今天开始复工复产咯,小朋友们珍惜你们的假期,明天还剩最后一天咯。

1.逻辑回归

逻辑回归用于分类问题,输出结果是概率

如果概率p>0.5,则模型预测数据标签为1

如果概率p<0.5,则模型预测数据标签为0

(代码接上一篇)

代码语言:javascript
代码运行次数:0
复制
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression()
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3,random_state=42)
logreg.fit(X_train, y_train)
y_pred = logreg.predict(X_test)
y_pred_probs = logreg.predict_proba(X_test)[:, 1]
print(y_pred_probs[0])
代码语言:javascript
代码运行次数:0
复制
0.20665323740381789

概率的阈值时0.5 , 不特定于逻辑回归,KNN也有阈值。如果改变阈值会发生什么?

2.ROC曲线

随着阈值的变化,混淆矩阵的每个数值都在发生变化,那么TPR和FPR也在变化,所以可以画出一条曲线。

代码语言:javascript
代码运行次数:0
复制
#ROC曲线
from sklearn.metrics import roc_curve
import matplotlib.pyplot as plt
fpr, tpr, thresholds = roc_curve(y_test, y_pred_probs)
plt.plot([0, 1], [0, 1], 'k--')
plt.plot(fpr, tpr)
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Logistic Regression ROC Curve')
plt.show()
from sklearn.metrics import roc_auc_score
print(roc_auc_score(y_test, y_pred_probs))
代码语言:javascript
代码运行次数:0
复制
0.668060272519064
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-10-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信星球 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.逻辑回归
  • 2.ROC曲线
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档