首页 > 解决方案 > Sklearn中的拟合方法。使用 KNeighborsClassifier 时

问题描述

from sklearn.neighbors import KNeighborsClassifier

knn_clf =KNeighborsClassifier() 
knn_clf.fit(x_train[:92000],y_train[:92000]) #1st method call
knn_clf.fit(x_train[92000:123000],y_train[92000:123000]) #2nd method call

我的疑问是,当我像这样调用 fit 方法时,第二次调用是否会再次从头开始训练模型?或者它会增加它从之前的 fit 调用(第一个方法调用)中学到的东西?

我想要实现的是进行批量训练,因为如果我一次使用完整的数据集,笔记本电脑将无法处理数据!提前致谢 :-)

标签: pythonmachine-learningscikit-learnknn

解决方案


每次调用 fit 方法时,它都会尝试拟合模型。如果您多次调用 fit 方法,它将尝试重新拟合模型,正如@Julien 指出的那样,批量训练对 KNN 没有任何意义。

KNN 将考虑所有数据点并选择前 K 个最近的邻居。因此,如果您的数据很大,则需要更多时间。

您所能做的就是缩小数据规模或增加系统内存大小。


推荐阅读