sklearn SGDClassifier的partial_fit是什么意思?

  统计/机器学习 监督式学习 Python    浏览次数:3530        分享
6

SGDClassifier里有个partial_fit的方法,这个和普通的fit方法有什么区别?


 

Beck   2017-10-18 07:50



   3个回答 
7

在第一次训练时,fit和partial_fit训练模型的原理其实本质上是一样的。

但是对于partial_fit的模型来说,当我们有了新数据,我们可以用新的数据在旧的模型基础上训练、更新模型,而不必重新训练。也就是另一位答友提到的,线上算法的特点。

以SGDClassifer为例,partial_fit的具体用法如下

from sklearn.linear_model import SGDClassifier
clf = SGDClassifier(loss='log')

#用数据集训练
clf.partial_fit(X, y)

#当我们有了新数据之后,可以在原基础上更新模型
clf.partial_fit(X_new, y_new)

#partial_fit的模型使用方法也是和正常模型一样的,直接用predict或者predict_proba
y_pred = clf.predict_proba(X_test)


SofaSofa数据科学社区DS面试题库 DS面经

弼码温   2017-10-19 12:33

4

fit就是一次性把模型训练完毕

partial_fit可以在原来的基础继续训练模型,所以partial_fit只针对对onlin的算法。这里SGD就是online的。


SofaSofa数据科学社区DS面试题库 DS面经

山中人   2017-10-19 09:52

0

那除了sgd以外,还有什么可以使用`partial_fit`这个方法吗

SofaSofa数据科学社区DS面试题库 DS面经

mathor   2019-05-26 19:34

我也好奇,所以单独提问了(http://sofasofa.io/forum_main_post.php?postid=1004603) - zzzz   2019-05-27 10:40


  相关主题

lightgbm.LGBMModel和lightgbm.LGBMClassifier该用哪个?   1回答

sklearn训练classifier的时候报错Unknown label type   1回答

sklearn.linear_model.SGDClassifier中的参数n_iter设置问题   2回答

sklearn实现adaboost算法了吗?   1回答

sklearn可以用gpu加速吗?   2回答

sklearn predict的默认阈值   2回答

GradientBoostingClassifier的每次输出结果不同   1回答

sklearn里的LabelEncoder什么用?   3回答

sklearn中的Randomizedlogisticregression是什么算法?和SGDClassifier一样吗?   2回答

关于sklearn.model_selection.PredefinedSplit的用法   1回答

sklearn回归的入门级问题   3回答

查看sklearn版本   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!