趋近智
现在,让我们把准备好的数据和选定的算法结合起来。我们已经到了机器学习 (machine learning)工作流程中的核心一步:训练模型。这正是机器学习中“学习”真正发生的地方。
可以把未经训练的模型想象成课前的学生。它有学习的能力,这种能力体现在算法的结构中(比如线性回归或K-近邻算法),但它对我们希望解决的具体问题还一无所知。训练是一个向模型展示用于训练的数据(X_train和y_train),并让算法找出输入特征和输出目标之间关系的过程。
fit() 方法:教导模型幸运的是,像Scikit-learn这样的流行机器学习 (machine learning)库提供了统一且直接的模型训练方式。您将使用的最常用方法叫做fit()。您可以把fit()理解为告诉模型的命令:“从这些数据中学习。”
要使用Scikit-learn训练模型,您通常需要前面步骤中准备好的两个主要要素:
X_train中每个样本对应的“正确答案”。
y_train将是一个包含连续数值的1D数组(例如,房价)。y_train将是一个包含类别标签的1D数组(例如,'垃圾邮件'/'非垃圾邮件',0/1,'猫'/'狗')。fit() 方法接收这两部分数据(X_train,y_train),并执行所选算法的学习过程。
fit() 内部发生什么?当您调用 model.fit(X_train, y_train) 时,算法就开始工作了。虽然具体情况取决于算法(例如,我们之前在线性回归中看到了梯度下降 (gradient descent)),但大致思路是一样的:
X_train)以及相关联的目标值(y_train)。X_train上的预测尽可能接近实际的y_train值。“接近”的衡量方式取决于算法和问题(例如,在回归中最小化均方误差)。重要的结果是 model 对象本身被修改。在 fit() 完成后,该对象现在包含已学习的参数。它已经从一个通用算法蓝图转变为一个针对我们数据集的训练有素的模型。
让我们看看这在代码中有多简单。假设您已经:
from sklearn.linear_model import LinearRegression 或 from sklearn.neighbors import KNeighborsClassifier)。model = LinearRegression() 或 model = KNeighborsClassifier(n_neighbors=3))。X_train 和 y_train。训练模型只需一行代码:
# X_train: 您准备的训练特征(例如,NumPy 数组或 Pandas DataFrame)
# y_train: 您准备的训练目标变量(例如,NumPy 数组或 Pandas Series)
# model: 您选择的算法实例(例如,LinearRegression, KNeighborsClassifier)
# 训练模型
model.fit(X_train, y_train)
# 现在 'model' 对象已经训练完毕,并包含已学习的参数!
print("模型训练完成。")
就是这样!fit() 方法处理所有底层计算。它本身通常不会返回任何有意义的值;相反,它直接修改 model 对象。这个训练过的 model 现在已准备好进行下一步:在新数据上进行预测并评估其学习效果。
这部分内容有帮助吗?
fit()方法、其输入以及模型训练方式。© 2026 ApX Machine LearningAI伦理与透明度•