之前已经在sklearn里训练好了一个分类模型,现在因为有了新的训练数据,如何在之前模型的基础之上利用新数据更新模型呢?
谢谢~!
3个回答
只要有partial_fit方法,就可以在原有模型的基础上继续训练。
sklearn中有partial_fit的方法有:
分类算法
sklearn.naive_bayes.MultinomialNB
sklearn.naive_bayes.BernoulliNB
sklearn.linear_model.Perceptron
sklearn.linear_model.SGDClassifier
sklearn.linear_model.PassiveAggressiveClassifier
回归算法
sklearn.linear_model.SGDRegressor
sklearn.linear_model.PassiveAggressiveRegressor
无监督
sklearn.cluster.MiniBatchKMeans
sklearn.decomposition.MiniBatchDictionaryLearning
SofaSofa数据科学社区DS面试题库 DS面经假设模型有N个可训练参数,一个训练好的模型是N维参数空间一点。当训练数据确定后,loss function是一曲面,训练就是找到局部或全局最小值。新加入数据后,loss对应曲面会变化,要从上次最小值开始找新的最小值。(loss曲面在每个mini batch都会变,只是训练次数多了,统计意义上相当于一个曲面,可理解为曲面的平均。)
需要注意的是新旧数据比例,学习率 learning rate,学习次数。需要设置提前结束条件,也不能只用新数据训练,否则很容易过拟合到新数据,而“忘记”旧数据。
SofaSofa数据科学社区DS面试题库 DS面经 相关主题
sklearn中的Randomizedlogisticregression是什么算法?和SGDClassifier一样吗?
2回答
sklearn.linear_model.SGDClassifier中的参数n_iter设置问题
2回答
GradientBoostingClassifier的每次输出结果不同
1回答
sklearn训练classifier的时候报错Unknown label type
1回答
sklearn中的predict_proba方法的返回值的意义
2回答
python sklearn模型中random_state参数的意义
2回答
sklearn中除了sgd以外,还有什么可以使用partial_fit方法吗?
1回答
sklearn SGDClassifier的partial_fit是什么意思?
3回答
我们谢绝在回答前讲“生动”的故事。
我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。
我们谢绝答非所问。
我们谢绝自己不会、硬要回答。
我们感激每一个用户在编写答案时的努力与付出!