7 自动机器学习工作流程之模型培训
系列进度
AutoML 入门 · 第 7 / 29 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
图文索引
按图先建立主线,再跳回正文核对步骤、配置和判断标准。
AutoML 的训练阶段要控制预算和复现性。没有固定数据版本和随机种子,结果很难比较。
我会保存每次搜索的配置、耗时、最佳模型和验证指标。没有实验记录,自动化结果不可追踪。
在上一篇中,我们讨论了自动机器学习(AutoML)工作流程的第一步——数据准备。确保我们能够有效利用数据是成功实施模型的关键。在数据准备阶段,我们整理并清洗了数据,以便为后续的模型培训做好充分的准备。接下来,我们将深入探讨“模型培训”过程,这一过程是AutoML的核心环节。
模型培训概述
模型培训的目的在于利用清洗和准备好的数据,通过机器学习算法生成一个可以用于预测的新模型。此步骤中,我们需要选择合适的算法、设置超参数,并执行实际的训练过程。
使用 AutoML 做模型训练时,先确认候选算法、特征处理、时间预算、评估指标和验证集。自动搜索也需要清楚边界。
选择算法
在AutoML中,算法选择通常是自动化的。系统会评估多种算法并选择最能适应数据特征的模型。常见的机器学习算法包括:
决策树随机森林支持向量机(SVM)神经网络梯度提升树(GBM)
例如,假设我们在进行一项关于房价预测的项目,AutoML系统可能会首先尝试随机森林和梯度提升树算法,因为它们在结构性数据上通常表现良好。
超参数调优
超参数是定义模型性能的重要参数,通常在模型训练之前设置。在AutoML流程中,常用的超参数调优技术包括:
网格搜索(Grid Search)随机搜索(Random Search)贝叶斯优化(Bayesian Optimization)
以随机森林为例,我们可能需要调整的超参数包括:
n_estimators(树的数量)max_depth(每棵树的最大深度)min_samples_split(分枝所需的最小样本数)
使用Grid Search来寻找最佳设置的示例代码如下:
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import GridSearchCV
# 定义模型
rf = RandomForestRegressor()
# 定义超参数范围
param_grid = {
'n_estimators': [100, 200],
'max_depth': [None, 10, 20, 30],
'min_samples_split': [2, 5, 10]
}
# 网格搜索
grid_search = GridSearchCV(estimator=rf, param_grid=param_grid, cv=3)
grid_search.fit(X_train, y_train)
# 输出最佳参数
print("最佳参数:", grid_search.best_params_)
模型训练
一旦选择了合适的算法并完成超参数调优,接下来便是模型的实际训练。在训练过程中,模型将学习数据中的模式,并更新其内部参数以提高预测精度。
# 使用优化后的超参数训练模型
best_rf = grid_search.best_estimator_
best_rf.fit(X_train, y_train)
在这里,我们使用了GridSearchCV返回的最佳模型进行最终的训练。这一步将产生一个经过优化的模型,能够更好地拟合我们的训练数据。
训练评估
虽然模型培训是一个重要的步骤,但我们必须确保训练后的模型具有良好的泛化能力。为了评估模型的有效性,通常在模型培训后,我们会使用交叉验证来检查模型的稳定性。我们将在下一章节的模型评估中深入探讨。
如果《自动机器学习工作流程之模型培训》还没完全消化,可以从这张卡片的四个动作重新走一遍。
回看《自动机器学习工作流程之模型培训》时,不必一次做大项目,先用一条简单样例确认主线是否清楚。
小结
在本章节中,我们详细探讨了AutoML工作流程中的模型培训部分。从算法选择到超参数调优,再到模型训练,整个过程都是为了最大化模型的预测能力。确保在每一步都使用高质量的输入,以及合理的训练策略是至关重要的。
《自动机器学习工作流程之模型培训》这类内容容易被细节带偏。先看图里的主线,再回到正文核对环境、输入、输出和判断标准。
下篇将接着讨论模型评估,确保我们所训练的模型能够在未见数据上表现良好。我们将具体讨论如何验证模型效果,以及在实践中如何利用评估指标进行决策。
继续阅读