《机器学习Python实战》课件 22-项目11 模型评估与优化知识准备_第1页
《机器学习Python实战》课件 22-项目11 模型评估与优化知识准备_第2页
《机器学习Python实战》课件 22-项目11 模型评估与优化知识准备_第3页
《机器学习Python实战》课件 22-项目11 模型评估与优化知识准备_第4页
《机器学习Python实战》课件 22-项目11 模型评估与优化知识准备_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机器学习Python实战

项目11模型评估与优化实战目录CONTENTS01任务导入从Kaggle排名波动看模型评估的稳定性·科技向善、数据可信02任务目标会交叉验证·会超参数调优·会可信度评估03相关知识交叉验证·超参数调优·分类可信度·ROC/AUC04任务实施动手1:predict_proba概率估计·动手2:ROC/AUC曲线绘制05总结提升核心要点回顾·延伸思考项目11模型评估与优化实战·11.1项目知识准备任务导入为什么同一模型,换个随机种子就“变脸”?现实·竞赛与业务中的评估困境·Kaggle/天池数据竞赛里,A榜高分模型到B榜可能大幅滑坡。·同一算法、同一数据,仅改变train_test_split的random_state,准确率可相差10%以上。·医疗诊断、金融风控中,一次“运气好”的划分可能让坏模型过关,带来真实风险。思考·我们真正需要什么样的评估·不能让“一刀切”决定模型生死,要把划分随机性“平均掉”。·不能只看准确率,尤其当正类样本极少(欺诈、疾病)时。·模型不仅要给出标签,还要给出“底气”——概率或决策分数。从“一考定终身”到“多轮模拟考”训练集模型的“习题册”反复打磨参数测试集模型的“高考卷”只打分不泄题交叉验证轮流当考生/出题老师平均随机性项目11模型评估与优化实战·11.1项目知识准备任务目标学完本节,你将能够——1理解交叉验证掌握KFold/StratifiedKFold的思想与用法,能对模型做稳健评估,看懂“平均分±标准差”。2掌握超参数调优能使用GridSearchCV/RandomizedSearchCV搜索最优参数组合,理解“验证集不偷看测试集”。3掌握可信度评估会用predict_proba/decision_function输出置信度,理解ROC/AUC在不平衡数据中的意义。项目11模型评估与优化实战·11.1项目知识准备11.1.1交叉验证让“运气”平均掉,让评估更稳健核心思想“轮流当考生,也轮流当出题老师”·把数据集分成k份(Fold0~Foldk-1)。·每一轮用k-1份训练,剩下1份测试。·每个样本恰好当一次“考生”。·最终成绩=k次得分均值±标准差。10折交叉验证流程0训练测试1训练2训练3训练4训练5训练6训练7训练8训练9训练图示:第1轮留Fold0作测试,其余9份训练结论:10折CV让模型经历10种“出题风格”,平均分比单次划分稳健,标准差反映稳定性。项目11模型评估与优化实战·11.1项目知识准备11.1.2超参数调优找到让模型泛化误差最小的“旋钮组合”参数vs超参数1参数:模型内部系数例:线性回归的w、神经网络权重来源:由数据自动学习2超参数:模型外部开关例:KNN的k、SVM的C/γ、学习率来源:必须由人指定比喻:超参数就像烤箱的温度旋钮温度不对,再好的食材也会烤煳;超参数设置不当,再先进的算法也达不到精度。常用超参数调优方法对比方法思想优点缺点网格搜索GridSearchCV穷举所有组合简单,可并行指数爆炸,算力浪费随机搜索RandomizedSearchCV随机采样固定次数速度快,易实现无法保证最优贝叶斯优化BayesSearchCV预测“最有希望”的点样本效率高,适合黑盒实现略复杂项目11模型评估与优化实战·11.1项目知识准备11.1.3分类模型的可信度评估准确率≠可信度为什么准确率会“骗人”1垃圾邮件识别99%正常邮件,全判正常也有99%准确率,但收件箱会被垃圾淹没。2信用卡欺诈0.1%是盗刷,全判“无欺诈”就有99.9%准确率,银行却赔了。结论:在类别不平衡任务中,整体准确率可能虚高。需要更细颗粒度的评估指标——概率/决策分数。两种核心置信度输出方法predict_proba()·输出每个样本属于每一类的估计概率·prob.shape=(样本数,类别数)·每行概率之和为1·列顺序严格对应clf.classes_decision_function()·输出样本到分类边界的决策分数·SVC默认不支持概率时常用此方法·二分类:一维数组,符号代表类别·可经Sigmoid/softmax转为相对概率项目11模型评估与优化实战·11.1项目知识准备11.1.4ROC曲线与AUC类别不平衡场景下的“试金石”ROC曲线:阈值权衡的可视化通过不断调整分类阈值,得到一系列(FPR,TPR)点,连接后形成ROC曲线。假正例率FPR=FP/(FP+TN)真正例率TPR=TP/(TP+FN)(召回率)AUC:ROC曲线下方面积AUC=0.5:相当于随机猜测,模型无区分能力AUC→1:区分能力越来越强,排序越准确统计意义:随机抽一正一负,正例得分更高的概率ROC曲线示意图TPRFPR随机猜测理想点AUC=0.87越接近1越好项目11模型评估与优化实战·11.1项目知识准备任务实施1·用predict_proba看透模型“底气”以iris数据集为例关键代码fromsklearn.linear_modelimportLogisticRegressionfromsklearn.datasetsimportload_irisdata=load_iris()X,y=data.data,data.targetclf=LogisticRegression(max_iter=200).fit(X,y)print("类别顺序:",clf.classes_)prob=clf.predict_proba(X[:3])print("前3个样本的概率矩阵:")print(prob)图11-2iris数据集前3个样本的概率矩阵预期输出·classes_输出类别顺序[012]·prob形状为(3,3):3个样本、3个类别·每行概率之和为1(满足概率基本性质)·例如prob[2,1]=0.85表示第2个样本属于类别1的概率为85%▸列顺序由clf.classes_决定,不是主观设定的类别编号项目11模型评估与优化实战·11.1项目知识准备任务实施2·绘制ROC曲线,计算AUC基于虚拟不平衡数据关键代码importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.metricsimportroc_curve,aucnp.random.seed(42)n_samples=500y_true=np.zeros(n_samples);y_true[:80]=1np.random.shuffle(y_true)y_scores=(y_true*np.random.uniform(0.5,1.0,n_samples)+(1-y_true)*np.random.uniform(0.0,0.6,n_samples))fpr,tpr,thresholds=roc_curve(y_true,y_scores)roc_auc=auc(fpr,tpr)print("AUC值为:",roc_auc)plt.plot(fpr,tpr,label=f"ROCcurve(AUC={roc_auc:.3f})")plt.plot([0,1],[0,1],linestyle='--',label="RandomGuess")plt.legend();plt.show()图11-3虚拟数据的ROC曲线和AUC值预期输出·输出AUC值(约0.85~0.90)·ROC曲线位于随机猜测虚线之上·曲线越靠近左上角(FPR=0,TPR=1),模型越优·AUC不受类别比例和固定阈值影响,适合不平衡任务▸将正例得分排序在负例之前的概率=AUC项目11模型评估与优化实战·11.1项目知识准备总结与提升一条主线:稳健评估→调优→可信度量化知识掌握了什么·交叉验证:K折/分层K折,消随机、看稳定·超参数:参数自动学,超参数人指定·调优方法:网格搜索、随机搜索、贝叶斯优化·可信度:predict_proba/decision_function·ROC/AUC:不平衡场景下的核心指标能力会做什么·会用StratifiedKFold+cross_val_score评估模型·会用GridSearchCV搜索最优参数组合·会读取并解释predict_proba的概率矩阵·会绘制ROC曲线并计算AUC·能识别准确率虚高,选择更合理的评估指标素质沉淀了什么·数据事实决策:用平均分±标准差替代单次运气·工匠精神:反复试验、分析、迭代优化·审慎评估:不平衡任务多看AUC/召回/F1·科技

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论