我想在我的scikit-learn模型已经训练完成后再添加数据。例如,我一开始使用了大约250个数据。之后,我需要通过调用函数再次训练这个模型,依此类推。我想到的唯一方法是每次都将新值添加到现有的数据数组中,然后重新训练模型,但这样做非常消耗资源且耗时更长。
还有其他方法可以训练机器学习模型吗?
model = LinearRegression().fit(test, result)
reg.predict(task)
### 这里我想添加一些数据,例如一两个例子,如下:
model.addFit(one_test, one_result)
回答:
在您使用sklearn.linear_model.LinearRegression
模型的情况下,简短的回答是不,不能只添加一两个例子并训练,而无需将这些数据添加到原始训练集并同时进行拟合。 在底层,模型只是使用了普通最小二乘法(详细描述见这里),这需要完整的训练数据矩阵来拟合您的模型。然而,这种算法非常快,在大约数百个训练样本的情况下,每增加几个新例子重新计算模型参数会非常迅速。