sklearn SGDClassifier的partial_fit是什么意思?

  统计/机器学习 监督式学习 Python    浏览次数:13930        分享
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


  相关讨论

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

sklearn里learning_rate什么意思?

python里怎么安装CatBoostClassifier?

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

请问在sklearn怎么在已有的模型的基础上训练新的数据?

怎么获取sklearn.linear_model.SGDRegressor的回归系数、截距?

GradientBoostingClassifier的每次输出结果不同

sklearn实现adaboost算法了吗?

sklearn中的predict_proba方法的返回值的意义

CatBoostClassifier里的rsm参量是什么意思?

  随便看看

K-means怎么选K?

yolo v4和yolo v3的主要区别是什么?

怎么按照设定概率产生不重复的随机排序?

pandas.DataFrame更改列名

为什么机器学习中的优化问题很少用到牛顿法?