跳转到内容

5.2.1 监督学习路线图:从有标签样本中学习

监督学习回答一个问题:当样本已经有标签时,怎样学出一个能预测新样本标签的模型?

监督学习路线图

监督学习章节流程

模型族第一用途
线性回归预测连续数值
逻辑回归用简单概率模型做分类
决策树用可读规则切分数据
集成模型合并多个模型,做更强的表格 baseline
SVM用间隔直觉学习更稳定的边界

创建 supervised_first_loop.py,安装 scikit-learn 后运行。

from sklearn.datasets import load_diabetes
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
from sklearn.model_selection import train_test_split
X, y = load_diabetes(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
model = LinearRegression().fit(X_train, y_train)
predictions = model.predict(X_test)
print("task: regression")
print("r2:", round(r2_score(y_test, predictions), 3))
print("first_prediction:", round(predictions[0], 1))

预期输出:

Terminal window
task: regression
r2: 0.485
first_prediction: 137.9

分数不完美也很有价值。baseline 告诉你后续模型或特征工程至少要超过哪里。

顺序阅读比较什么
15.2.2 线性回归简单数值预测
25.2.3 逻辑回归分类概率
35.2.4 决策树规则、非线性、过拟合
45.2.5 集成学习bagging、boosting、更强表格模型
55.2.6 支持向量机间隔、边界、经典分类器直觉

能判断一个有标签任务是回归还是分类,能跑一个 baseline,并能解释模型可能失败的一个原因,就算通过。

检查思路与讲解
  1. 标签是连续数值时,先按回归处理;标签是类别时,先按分类处理。
  2. baseline 可以是简单线性/逻辑模型,也可以是 dummy 规则。它的作用是定义复杂模型至少要超过的分数。
  3. 常见失败原因包括特征太弱、目标泄漏、类别不平衡、缩放不当、过拟合,以及指标和真实目标不匹配。

学完这一页,至少保留这张证据卡:

任务
带目标定义的回归或分类问题
模型
线性/逻辑回归/树/集成/SVM 配置和训练/测试划分
指标
回归误差、准确率/F1、阈值曲线或混淆矩阵
失败检查
过拟合、欠拟合、特征缩放、阈值选择或类别不平衡
期望产出
模型结果加错误样本或残差复查