python - 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 调用(第一个方法调用)中学到的东西?
我想要实现的是进行批量训练,因为如果我一次使用完整的数据集,笔记本电脑将无法处理数据!提前致谢 :-)
解决方案
每次调用 fit 方法时,它都会尝试拟合模型。如果您多次调用 fit 方法,它将尝试重新拟合模型,正如@Julien 指出的那样,批量训练对 KNN 没有任何意义。
KNN 将考虑所有数据点并选择前 K 个最近的邻居。因此,如果您的数据很大,则需要更多时间。
您所能做的就是缩小数据规模或增加系统内存大小。
推荐阅读
- android-recyclerview - RecyclerView - 如何设置自定义滚动插值器
- mysql - 为什么 select for update 几乎完全锁定了表?
- python - 大查询功能失败
- python - 计算跨行数据帧加权和的最快方法
- kubernetes - 备份 Kubernetes 集群
- prisma - prisma db push 和 prisma migrate dev 之间的区别
- r - 在 Excel 电源查询中抓取交互式图表
- fedora - 注册 MOK 后,shim 引导加载程序被阻止
- sql - PLSQL 将流水线函数的结果连接到表
- db2 - SQLSTATE=23514:在设置完整性上面临错误