机器学习建模流程
1 课程概览
本课详细讲解机器学习的建模流程,对比数据挖掘流程,重点阐述六大步骤(获取数据→数据预处理→特征工程→模型训练→模型评估→模型预测)及特征工程的五个子领域。强调数据处理和特征工程是最耗时的环节,而模型训练相对省时(因为使用现成算法库)。
2 核心概念与定义
- 建模流程(Modeling Process):机器学习项目从数据到上线的标准步骤。
- 数据预处理(Data Preprocessing):处理缺失值、异常值,生成新字段等。
- 特征工程(Feature Engineering):从数据中提取、处理、选择有效特征的过程。
- 模型训练(Model Training):选择合适算法对模型进行训练。
- 模型评估(Model Evaluation):评估模型效果好坏,决定是否上线。
- 模型预测(Model Prediction):使用训练好的模型对新数据进行预测。
- 量纲(Dimension):数据的单位,不同单位会导致特征对模型影响不同。
- 鲁棒性(Robustness):模型对数据变化的稳定性,数据变化时结果保持一致的能力。
3 算法与模型详解
3.1 机器学习建模六步流程
- 获取数据:搜集与任务相关的数据集(图像、文本、音频、视频等)。
- 数据基本处理:处理缺失值、异常值,生成新字段。
- 特征工程:提取、预处理、降维、选择、组合特征。
- 模型训练:选择合适算法训练模型。
- 模型评估:评估模型效果,不达标则重复上述步骤。
- 模型预测:提供在线服务,对新数据预测。
❗此流程为固定步骤,需熟记。后续代码均按此流程编写。
3.2 数据挖掘流程 vs 机器学习流程对比
| 步骤 | 数据挖掘流程 | 机器学习流程 |
|---|---|---|
| 1 | 数据采集(加载) | 获取数据 |
| 2 | 预处理 | 数据基本处理 |
| 3 | 统计分析 | 特征工程 |
| 4 | 导出结果 | 模型训练 |
| 5 | 可视化 | 模型评估 |
| 6 | — | 模型预测 |
3.3 数据基本处理
缺失值处理(两种方案):
- 删除:缺失值较少时(如4万条数据缺2条)直接删除。
- 填充:用中位数、平均值等填充。
异常值处理:
- 过滤异常数据(如RFM案例中订单金额低于1元的刷单数据)。
生成新字段:
- 基于A列生成B列(如RFM案例中的year列)。
3.4 特征工程五个子领域
| 子领域 | 作用 | 是否改变原数据 | 使用频率 |
|---|---|---|---|
| 特征提取(Extraction) | 从原始数据中提取特征列 | 是 | 高 |
| 特征预处理(Preprocessing) | 防止量纲不同导致影响差异 | 是 | 高 |
| 特征降维(Dimensionality Reduction) | 降低数据维度(3D→2D) | 是 | 低 |
| 特征选择(Selection) | 选择与任务直接相关的特征 | 否 | 低 |
| 特征组合(Combination) | 多列合并为一列(如BMI) | 是 | 低 |
3.5 模型训练常用算法
| 问题类型 | 算法 |
|---|---|
| 回归 | 线性回归 |
| 分类 | 逻辑回归、KNN、决策树 |
| 聚类 | KMeans |
| 集成 | GBDT(梯度提升决策树) |
3.6 模型评估指标
| 模型类型 | 评估指标 |
|---|---|
| 回归 | 均方误差(MSE)、均方根误差(RMSE)、平均绝对误差(MAE) |
| 分类 | 准确率、精确率、召回率、F1值 |
| 聚类 | (后续讲解) |
⚠️准确率不能作为唯一衡量标准。
3.7 关键变量名
输入数据 → 特征提取器 → 特征列 → 模型训练 → 预测
| 变量名 | 含义 |
|---|---|
x_train | 训练集特征 |
y_train | 训练集标签 |
x_test | 测试集特征 |
y_test | 测试集标签(真实值) |
y_predict | 模型预测值 |
评估方法:对比
y_predict(预测值)与y_test(真实值),计算准确率。
4 数学原理与推导
本课无数学推导,但提及GBDT公式推导约需半小时。
5 代码示例
后续代码标准流程(Python伪代码):
# 1. 获取数据
# 2. 数据基本处理(缺失值、异常值)
# 3. 特征工程(提取、预处理、降维、选择、组合)
# 4. 模型训练
model.fit(x_train, y_train)
# 5. 模型评估
# 6. 模型预测
y_predict = model.predict(x_test)
6 重难点与易错提醒
- ❗重点:建模六步流程必须熟记——获取数据→数据预处理→特征工程→模型训练→模型评估→模型预测。
- ❗重点:数据处理和特征工程是最耗时的环节;模型训练相对省时(使用现成算法库)。
- ⚠️易错:缺失值处理只有两种方案——删除或填充,没有第三种。
- ⚠️易错:准确率不能作为模型评估的唯一标准。
- 💡深入理解:模型训练不是从0到1自己训练,而是使用现成的算法库,传入数据即可。重点是数据准备和模型优化。
7 课堂问答精选
Q: 机器学习建模流程中哪个步骤最耗时?
A: 数据的基本处理和特征工程最耗时。如果数据已经筛选好、特征处理好,机器学习模型训练反而简单——只需传入数据即可,因为使用的是别人写好的算法库。
Q: 建模流程的正确顺序是什么?
A: 1.获取数据 → 2.数据基本处理 → 3.特征工程 → 4.模型训练 → 5.模型评估 → 6.模型预测(提供在线服务)。
8 本课小结
- 建模六步流程:获取数据→数据预处理→特征工程→模型训练→模型评估→模型预测。
- 数据预处理:缺失值(删除/填充)、异常值(过滤)、生成新字段。
- 特征工程五子领域:提取、预处理、降维、选择、组合。
- 数据处理和特征工程最耗时,模型训练相对省时。
- 评估方法:对比
y_predict与y_test计算准确率。
9 延伸思考与实践
- 思考:为什么准确率不能作为模型评估的唯一标准?
- 思考:如何根据不同任务(分类/回归/聚类)选择合适的算法?
- 实践:背诵建模六步流程,为后续编码做准备。