Python 在同一个模型上多次调用fit()有什么作用?

Python 在同一个模型上多次调用fit()有什么作用?,python,machine-learning,scikit-learn,Python,Machine Learning,Scikit Learn,在我实例化一个scikit模型(例如,LinearRegression)之后,如果我多次调用它的fit()方法(使用不同的X和y数据),会发生什么?它是否适合数据上的模型,就像我刚刚重新实例化模型一样(即从头开始),还是将上一次调用fit()时已经适合的数据保存到帐户中 尝试使用LinearRegression(同时查看其源代码)在我看来,每次调用fit(),它都是从头开始拟合的,忽略了以前对同一方法的任何调用的结果。我想知道这在一般情况下是否正确,我可以依赖于scikit学习的所有模型/管道的

在我实例化一个scikit模型(例如,
LinearRegression
)之后,如果我多次调用它的
fit()
方法(使用不同的
X
y
数据),会发生什么?它是否适合数据上的模型,就像我刚刚重新实例化模型一样(即从头开始),还是将上一次调用
fit()
时已经适合的数据保存到帐户中


尝试使用
LinearRegression
(同时查看其源代码)在我看来,每次调用
fit()
,它都是从头开始拟合的,忽略了以前对同一方法的任何调用的结果。我想知道这在一般情况下是否正确,我可以依赖于scikit学习的所有模型/管道的这种行为。

如果您将再次执行
model.fit(X\u train,y\u train)
-它将覆盖所有以前拟合的系数、权重、截距(bias)等


如果您只想拟合数据集的一部分,然后通过拟合新数据来改进模型,那么您可以使用在机器学习中可以互换地使用术语fit()train()word。根据您已实例化的分类模型,可能是
clf=GBNaiveBayes()
clf=SVC()
,您的模型使用指定的机器学习技术。
一旦您调用
clf.fit(features\u train,label\u train)
您的模型就开始使用您通过的特性和标签进行训练

您可以使用
clf.predict(功能测试)
进行预测。
如果再次调用
clf.fit(功能\u train2,标签\u train2)
它将使用传递的数据再次开始训练,并将删除以前的结果。您的模型将重置以下内部模型:

  • 砝码
  • 拟合系数
  • 偏倚
  • 和其他培训相关的东西

如果您希望保留以前计算的数据并使用下一个数据进行额外训练,您也可以使用partial_fit()方法

一些估计器(具有
warm_start
参数)将重用以前调用
fit()的解决方案
作为新调用的初始解决方案,当
warm\u start=True
@VivekKumar,是的,这是真的。但对于“线性模型”算法(如LogisticRegression),之前拟合的系数将仅用于初始化步骤,因此它们也将/可能被覆盖是的,这就是我的意思。感谢我们在KNN中使用了部分匹配?断开的链接,我相信新位置是