【问题标题】:Fitting a random forest model on a large dataset - few million rows and few thousands columns在大型数据集上拟合随机森林模型 - 几百万行和几千列
【发布时间】:2019-12-04 20:13:57
【问题描述】:
我正在尝试在一个稍大的数据集上构建一个随机森林 - 50 万行和 20K 列(密集矩阵)。
我尝试过修改超参数,例如:
n_jobs = -1 或迭代最大深度。但是它要么因为内存问题而停止(我有一个 320GB 的服务器),要么精度非常低(当我使用较低的 max_depth 时)
有没有办法让我仍然可以使用所有功能并构建模型而不会出现任何内存问题或不丢失准确性?
【问题讨论】:
标签:
python-3.x
scikit-learn
random-forest
【解决方案1】:
在我看来(不完全了解您的案例和数据集),您应该专注于从数据集中提取信息,尤其是在您有 20k 列的情况下。我假设它们中的一些不会产生太大的差异或者是多余的,所以你可以让你的数据集稍微小一点,对潜在的过拟合更健壮。
此外,您应该尝试使用一些降维方法,这将使您的数据集更小,同时保留最大的方差。
pca 示例代码
pca gist
以 PCA 为例(如果您已经知道这些方法,这并不是要冒犯您)
pca wiki