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

3

我目前正在写毕业论文,其中涉及处理相当大的数据集:约4百万条观察数据和约26万个特征。这是一个棋局数据集,大部分特征是选手虚拟值(每个颜色有130k)。

至于硬件和软件,我在这台计算机上有大约12GB的RAM。我使用Python 3.5做所有工作,主要使用pandas和scikit-learn包。

我的问题是,显然我无法将这么多数据加载到RAM中。我希望先生成虚拟变量,然后将数据库切片成大约一千个碎片或更多,应用随机森林并重新聚合结果。

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

我的问题:
1. 你们会如何解决这个问题?是否有一种方法可以“合并”我的估计结果,尽管不同“数据块”中具有不同的特征?
2. 也许可以通过租用服务器来避免这个问题。是否有此类服务的试用版本?我不确定我需要多少CPU / RAM才能完成此任务。

感谢您的帮助,任何提示都将受到赞赏:)


1
第二个问题:也许AWS学生计划对你来说会很有趣:https://aws.amazon.com/education/awseducate/. - ar-ms
1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接