gpt4 book ai didi

python - Sci-Kit 学习的 .fit(X,y) 方法是否按顺序工作,如果不是,它是如何工作的?

转载 作者:太空宇宙 更新时间:2023-11-04 01:02:58 24 4
gpt4 key购买 nike

我正在使用 Sci-Kit learn 的 svm 库对图像进行分类。我想知道我什么时候适合测试数据它是按顺序工作还是它会删除以前的分类 Material 并重新适应新的测试数据。例如,如果我将 100 张图像拟合到分类器中,我可以继续然后依次拟合另外 100 张图像,还是 SVM 会删除它对原始 100 张图像执行的工作。这对我来说很难解释,所以我将提供示例:

为了使 SVM 分类器适合 200 张图像,我可以这样做吗:

clf=SVC(kernel='linear')
clf.fit(test.data[0:100], test.target[0:100])
clf.fit(test.data[100:200], test.target[100:200])

或者我必须这样做:

clf=SVC(kernel='linear')
clf.fit(test.data[:200], test.target[:200])

我想知道只是因为我在尝试一次对太多图像使用 .fit(X, y) 时遇到内存错误。那么是否可以按顺序使用 fit 并向上“增加”我的分类器,以便在技术上对 10000 张图像进行训练,但一次只能训练 100 张。

如果可以,请确认并解释一下?如果不可能,请解释一下?

最佳答案

http://scikit-learn.org/stable/developers/index.html#estimated-attributes

The last-mentioned attributes are expected to be overridden when you call fit a second time without taking any previous value into account: fit should be idempotent.

https://en.wikipedia.org/wiki/Idempotent

所以是的,第二次调用将删除旧模型并计算新模型。懂python代码的可以自己查。例如在 sklearn/svm/classes.py

我想你需要minibatch训练,但我没有看到 SVM 的 partial_fit 实现,可能是因为 scikit-learn 团队推荐 SGDClassifier 和 SGDRegressor 用于样本大小超过 100k 的数据集。 http://scikit-learn.org/stable/tutorial/machine_learning_map/ , 尝试按照描述将它们与小批量一起使用 here .

关于python - Sci-Kit 学习的 .fit(X,y) 方法是否按顺序工作,如果不是,它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31971761/

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