gpt4 book ai didi

machine-learning - Scikit-learn 支持迁移学习吗?

转载 作者:行者123 更新时间:2023-12-04 09:24:55 25 4
gpt4 key购买 nike

是否Scikit-learn支持迁移学习?请检查以下代码。
型号 clffit(X,y) 获取
jar 头型号clf2clf的基础上学习和转移学习 fit(X2,y2) ?

>>> from sklearn import svm
>>> from sklearn import datasets
>>> clf = svm.SVC()
>>> X, y= ....
>>> clf.fit(X, y)
SVC()

>>> import pickle
>>> s = pickle.dumps(clf)
>>> clf2 = pickle.loads(s)
>>> clf2.fit(X2,y2)

>>> clf2.predict(X[0:1])

最佳答案

scikit-learn 的上下文中没有迁移学习,而是增量学习或持续学习或在线学习。
通过查看您的代码,无论您打算做什么,都不会像您在这里想的那样工作。来自 this scikit-learn文档:

Calling fit() more than once will overwrite what was learned by anyprevious fit()


这意味着使用 fit()在同一模型上不止一次将简单地覆盖所有先前拟合的系数、权重、截距(偏差)等。
但是,如果您想拟合一部分数据集,然后通过拟合新数据来改进模型,您可以做的是查找 estimators包括 partial_fit API 实现。

If we call partial_fit() multiple times, framework will update theexisting weights instead of re-initialising them.


使用 scikit-learn 进行增量学习的另一种方法是寻找支持warm_start的算法范围。
来自 this文档:

warm_start: bool, default=False

When set to True, reuse the solution ofthe previous call to fit() as initialization, otherwise, just erase theprevious solution. Useless for liblinear solver.


另一个例子是 Random forrest regressor .

关于machine-learning - Scikit-learn 支持迁移学习吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63031254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com