郭震 AI公众号:郭震AI

11 模型选择与训练之模型训练

发布日期:

最近更新:

分类: 机器学习小白

预计阅读: 3 分钟

阅读次数: 0

预计阅读3 分钟
结构重点7 个
图文要点6 张
正文规模1.4k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 7 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

模型训练流程图查看大图
模型训练流程图

模型训练不是一次性运行脚本。数据版本、随机种子、参数配置和评估结果都要保存,后面才知道哪一次实验真的更好。

模型训练核对图查看大图
模型训练核对图

每次训练我会写一行实验记录:数据版本、模型名、关键参数、验证指标、备注。没有记录的实验,等于没做。

在上一篇中,我们讨论了如何选择合适的模型,如线性模型、决策树、支持向量机等。模型的选择是成功应用机器学习的第一步,但选择之后,我们需要关注的一步是如何进行模型训练。模型训练可以理解为通过现有数据来调整模型的参数,以使模型能够更好地预测新数据。

1. 数据准备

在进行模型训练之前,首先要确保数据已经准备妥当。数据准备主要包括以下几个步骤:

机器学习模型训练判断卡查看大图
机器学习模型训练判断卡

训练机器学习模型时,先看数据切分、特征处理、算法参数、验证指标和过拟合迹象。

  • 数据清洗:去除缺失值、异常值等。
  • 特征选择与工程:根据业务需求选择合适的特征,并进行特征转换或归一化处理。
  • 数据集划分:通常将数据集划分为训练集、验证集和测试集。常见的划分比例是68%用于训练,16%用于验证,16%用于测试。

例如,我们有一个用于房价预测的简单数据集 housing.csv,我们可以使用 pandas 来读取和预处理数据:

import pandas as pd
from sklearn.model_selection import train_test_split

# 读取数据
data = pd.read_csv('housing.csv')

# 数据清洗:去掉缺失值
data = data.dropna()

# 特征选择
X = data[['size', 'bedrooms', 'location']]
y = data['price']

# 划分数据集
X_train, X_temp, y_train, y_temp = train_test_split(X, y, test_size=0.32, random_state=42)
X_val, X_test, y_val, y_test = train_test_split(X_temp, y_temp, test_size=0.5, random_state=42)

2. 模型训练

2.1 选择训练方法

机器学习阅读地图卡查看大图
机器学习阅读地图卡

学习《模型选择与训练之模型训练》不必一口气吃完所有细节。先挑一个能动手验证的小问题,再顺着图和正文补齐概念。

训练模型的方法主要取决于所选择的模型类型。常见的训练方法包括:

  • 梯度下降法:适用于大多数线性模型和神经网络,通过反向传播更新参数。
  • 决策树的分裂方法:如信息增益、基尼系数,通过选择最佳分裂点来构建树。
  • 支持向量机的最优超平面:通过最大化间隔来找到最佳决策边界。

2.2 训练模型的代码示例

以下是使用 scikit-learn 进行线性回归模型训练的简单示例:

from sklearn.linear_model import LinearRegression

# 创建线性回归模型
model = LinearRegression()

# 模型训练
model.fit(X_train, y_train)

# 在验证集上评估
val_score = model.score(X_val, y_val)
print(f'Validation R^2: {val_score:.2f}')

在此示例中,我们采用 fit 方法来训练模型,并使用 score 方法评估模型在验证集上的表现。

3. 监控模型性能

在训练过程中,我们需要定期监控模型的性能,以便在必要时进行调整。可以通过绘制损失图、精确度图等方式观察模型在训练集和验证集上的表现。此外,过拟合和欠拟合是我们在训练过程中常会遭遇的问题。

  • 过拟合:模型在训练集上表现良好,但在验证集或测试集上表现不佳。可以通过增加正则化、减少模型复杂度或使用更多的数据来减轻。
  • 欠拟合:模型在训练集上表现也不好,通常是因为模型太简单。可以通过使用更复杂的模型或者增强特征来改善。

4. 训练结束后的保存与加载

模型训练完成后,保存模型以便后续的使用是非常重要的。可以使用 joblibpickle 来保存和加载模型。例如:

import joblib

# 保存模型
joblib.dump(model, 'linear_model.pkl')

# 加载模型
loaded_model = joblib.load('linear_model.pkl')

这样可以在之后的工作中直接使用已经训练好的模型,而无需重新训练。

模型选择与训练之模型训练应用复盘卡查看大图
模型选择与训练之模型训练应用复盘卡

如果《模型选择与训练之模型训练》还没完全消化,可以从这张卡片的四个动作重新走一遍。

模型选择与训练之模型训练应用检查卡查看大图
模型选择与训练之模型训练应用检查卡

回看《模型选择与训练之模型训练》时,不必一次做大项目,先用一条简单样例确认主线是否清楚。

5. 总结

在这一节中,我们详细讨论了如何进行模型训练,包括数据准备、训练方法、模型评估及结果的保存等。一次成功的模型训练能够为后续的超参数调优打下良好的基础。接下来的章节中,我们将进一步探讨《模型选择与训练之超参数调优》,以优化我们的模型性能,使其在特定任务上达到最优效果。

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

模型选择与训练之模型训练适合谁读?

这是 机器学习入门 系列第 11 / 21 篇,适合正在学习机器学习入门,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇机器学习入门教程要多久?

按中文技术文章阅读速度估算,通读大约 3 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...