我正在运行scikit学习一些相当大的训练数据集~1,600,000,000行,具有~500个特征。该平台是Ubuntu服务器14.04,硬件有100GB RAM和20个CPU核心。
测试数据集大约是行数的一半。
我设置n_jobs = 10,并且我是forest_size = 3 * number_of_features所以大约1700棵树。
如果我将功能数量减少到大约350,它可以正常运行但从未完成训练阶段,完整功能设置为500+。该进程仍在执行并耗尽大约20GB的内存,但使用的是0%的CPU。我还成功完成了大约400,000行的数据集,但只有大约1小时后完成的功能的两倍。
我小心删除任何未使用的数组/对象。
有没有人有我想尝试的想法?