【资源软件】 动作暨昝绳鹤锁多好 /494b36Tkwj😕
链接:https://pan.quark.cn/s/43159509c536
「微信被删好友检测工具」筷莱坌教狴犴狾夺郝 链接:https://pan.quark.cn/s/43159509c536
链接:https://pan.quark.cn/s/4598337f6b3e
「【美剧系列】」链接:https://pan.quark.cn/s/663e3ca79519
复制群口令 !0b7236TlXn!😕
将加入群聊免费医院分享
引言:模型“考试”为什么重要?
训练一个机器学习模型就像培养一名学生:
- 只会刷题(训练集表现好):可能成为书呆子(过拟合)
- 从不刷题(训练集表现差):基础不牢(欠拟合)
- 真正能力:要看考试成绩(测试集表现)
本文将揭秘模型评估的核心方法,教你用科学的“考卷”检验模型真实水平,避免被虚假的准确率欺骗!
一、数据划分:公平考试的基石
1.1 为什么不能使用全部数据训练?
- 目标:评估模型对未见数据的预测能力
- 灾难案例:2015年Google流感预测模型因数据泄漏导致准确率虚高
1.2 常用数据划分方法
简单划分(Hold-out)
- 方法:将数据按比例(如7:3或8:2)分为训练集和测试集
- 代码实现:
from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
交叉验证(Cross-Validation)
- 原理:将数据分为K份,轮流用其中K-1份训练,1份验证(如图示)
- 适用场景:数据量较小(<1万条)时更可靠
- 代码实现:
from sklearn.model_selection import cross_val_score scores = cross_val_score(model, X, y, cv=5) # 5折交叉验证 print(f"平均准确率:{ scores.mean():.2f}")
可视化交叉验证流程(想象为旋转木马式验证):
[训练集1][训练集2][训练集3][验证集] → 轮换验证
二、过拟合与欠拟合:模型的两大“病症”
2.1 什么是过拟合?
- 症状:训练集准确率高,测试集大幅下降
- 原因:模型过度记忆训练数据细节(如噪声)
- 类比:学生死记硬背例题,遇到新题型就懵
代码模拟过拟合(决策树不同深度对比):
from sklearn.tree import DecisionTreeClassifier
import matplotlib.pyplot as plt
# 生成月亮形数据集
from sklearn.datasets import make_moons
X, y = make_moons(noise=0.3, random_state=42)
# 不同深度的树模型
depths = [1, 3, 10]
plt.figure(figsize=(15,4))
for i, depth

最低0.47元/天 解锁文章
1486

被折叠的 条评论
为什么被折叠?



