设为首页 加入收藏

TOP

【Datawhale】动手学数据分析(七)
2023-07-25 21:25:59 】 浏览:141
Tags:Datawhale
s_rfc.mean()) scores_clf = cross_val_score(clf, x_train, y_train,cv = 5) scores_rfc = cross_val_score(rfc, x_train, y_train,cv = 5) print("scores_clf.mean_5:",scores_clf.mean()) print("scores_rfc.mean_5:",scores_rfc.mean())
scores_clf.mean_10: 0.7397849462365592
scores_rfc.mean_10: 0.8186635944700461
scores_clf.mean_5: 0.7496129032258064
scores_rfc.mean_5: 0.8138322580645161

【思考】k折越多的情况下会带来什么样的影响?

【答】拟合效果不好

任务二:混淆矩阵

  • 计算二分类问题的混淆矩阵
  • 计算精确率、召回率以及f-分数

【思考】什么是二分类问题的混淆矩阵,理解这个概念,知道它主要是运算到什么任务中的

【答】这个可以很好的应用到任务为样本不太均衡的场景

from sklearn.metrics import confusion_matrix
from sklearn.metrics import classification_report
pred = lr_l1.predict(x_train)
confusion_matrix(y_train, pred)
array([[328,  56],
       [ 75, 164]], dtype=int64)
print(classification_report(y_train, pred))
              precision    recall  f1-score   support

           0       0.81      0.85      0.83       384
           1       0.75      0.69      0.71       239

    accuracy                           0.79       623
   macro avg       0.78      0.77      0.77       623
weighted avg       0.79      0.79      0.79       623

任务三:ROC曲线

【思考】什么是ROC曲线,OCR曲线的存在是为了解决什么问题?

【答】主要是用来确定一个模型的 阈值。同时在一定程度上也可以衡量这个模型的好坏

from sklearn.metrics import roc_curve
fpr, tpr, thresholds = roc_curve(y_test, lr_l1.decision_function(x_test))
plt.plot(fpr, tpr, label="ROC Curve")
plt.xlabel("FPR")
plt.ylabel("TPR (recall)")# 找到最接近于0的阈值
close_zero = np.argmin(np.abs(thresholds))
plt.plot(fpr[close_zero], tpr[close_zero], 'o', markersize=10, label="threshold zero", fillstyle="none", c='k', mew=2)
plt.legend(loc=4)

image-20221114153348823

【思考】对于多分类问题如何绘制ROC曲线

【答】对每一个类别画一条ROC曲线最后取平均

首页 上一页 4 5 6 7 下一页 尾页 7/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇【验证码逆向专栏】安某客滑块逆向 下一篇matplotlib详细教学

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目