【发布时间】:2017-04-28 13:53:48
【问题描述】:
我在图像数据语料库上使用 sklearn 在 python 中训练随机森林分类器。因为我正在执行图像分割,所以我必须存储每个像素的数据,这最终是一个巨大的矩阵,比如 100,000,000 长的数据点矩阵,因此在该矩阵上运行 RF 分类器时,我的计算机出现内存溢出错误,并且需要永远运行。
我的一个想法是在连续的小批量数据集上训练分类器,因此最终训练整个事物,但每次都提高分类器的拟合度。这是一个可行的想法吗?每次运行时拟合是否会覆盖上次拟合?
【问题讨论】:
-
您是否尝试将图像大小调整为较低的分辨率,即大幅减少每张图像的像素数?
-
是的,我正在将图像从原始分辨率降低到 100x100 像素。
-
我研究了一个类似的问题,即 RF 作用于图像补丁(大量图像)。我在所有图像补丁的引导样本上分别构建了树(基本上我可以放入内存+空间来创建模型)。安装好后,我腌制了每棵树。我有一个只适合一棵树的脚本,以便释放内存(不适合单个脚本中的所有循环)。拟合所有树后,我通过手动加载树构建了 RF 模型。
-
@ChesterVonWinchester 确实看起来很耗时,但听起来像是一个很好的解决方法
标签: python machine-learning scikit-learn