处理大数据以执行随机森林分类

时间:2016-07-27 10:53:58

标签: python pandas scikit-learn sparse-matrix bigdata

我目前正在研究我的论文,该论文涉及处理相当大的数据集:~4mln观测值和~260ths特征。它是国际象棋游戏的数据集,其中大多数功能都是玩家假人(每种颜色为130k)。

至于硬件和软件,我在这台电脑上有大约12GB的RAM。我正在使用Python 3.5完成所有工作,主要使用pandas和scikit-learn包。

我的问题是显然我无法将这么多数据加载到我的RAM中。我想做的是生成虚拟变量,然后将数据库切成大约一千个块,应用随机森林并再次聚合结果。

然而,要做到这一点,我需要能够首先创建虚拟变量,即使我使用稀疏矩阵,由于内存错误我无法做到这一点。从理论上讲,我可以先切片数据库,然后创建虚拟变量。然而,其效果将是我将针对不同切片具有不同的特征,因此我不确定如何聚合这样的结果。

我的问题:
你们怎么解决这个问题?有没有办法合并"虽然在不同的"块中有不同的特征,但我估计的结果是数据?
2.也许可以通过租用服务器来完全避免这个问题。这些服务有试用版吗?我不确定完成此任务需要多少CPU / RAM。

感谢您的帮助,我们将不胜感激任何提示:)

1 个答案:

答案 0 :(得分:4)

我建议您尝试使用CloudxLab。

虽然它不是免费的但是价格实惠(一个月25美元)。它提供了完整的环境来试验各种工具,如HDFS,Map-Reduce,Hive,Pig,Kafka,Spark,Scala,Sqoop,Oozie,Mahout,MLLib,Zookeeper,R,Scala等。许多受欢迎的培训师都在使用CloudxLab