python - 在 Python 中拟合 sklearn.KNN 的内存错误
问题描述
我在 Ubuntu、Python 和 sklearn 中使用 32 GB DDR4 RAM拟合kNN模型。
我想加载模型而不再次拟合模型,所以我决定在拟合后转储拟合模型。
输入是一个大型数据集,1M+ 行,1052 列。(大多数列是 [0,1] 中分类变量的虚拟变量。)
安装 KNN 后,我Memory Error
在尝试用泡菜倾倒模型时遇到了问题。
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors = 14)
knn = knn.fit(x,y)
import pickle
pickle.dump(knn, open('KNN.sav', 'wb'))
从另一篇文章中,解决方案总是使用更高的规格和 RAM 来解决它。我认为从长远来看,这不是一个好的解决方案。
更新的问题:任何可能的方法来限制模型火车使用 26/32GB 并留下 6GB 用于倾销?或任何保存拟合模型等的方法。
解决方案
有一个问题——你真的需要如此庞大的训练数据集吗?这个想法是模型可能不需要整个数据集。来自 sklearn的一个很好的代码示例。或者使用一些云实例来处理如此庞大的数据集。
推荐阅读
- python - Django HTTP_REFERER 引用了错误的页面
- python-3.x - 初学者 python - 简单的磅到公斤
- java - 如何从 hashmap json 对象打印值
- arrays - 如何在 Kotlin 中将多维数组转换为多维列表?
- angular - 在Angular 7中隐藏模态组件
- sql - 如何在匿名块执行时打印值
- algorithm - 如何使用哈希图查询多个参数?
- php - 在 URL 中使用 $_GET 变量时 PHP 文件中断
- angular - 显示每个项目的 ngFor 列表内的 Ion-Progress-Bar
- excel - 已删除内容的打印问题