2016-07-27 92 views
3

我目前正在研究我的论文,其中涉及处理相当大的数据集:约40万个观测值和〜260个特征。这是一个国际象棋游戏的数据集,其中大部分功能是玩家假人(每种颜色130k)。处理大数据以执行随机森林分类

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

我的问题是,显然我无法将这些数据加载到我的RAM中。我想要做的是生成虚拟变量,然后将数据库分成几千块左右的块,应用随机森林并再次汇总结果。

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

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

感谢您的帮助,任何一种技巧可以理解的:)

+1

对于第二个问题:也许AWS学生计划对你很有趣:https://aws.amazon.com/education/awseducate/。 –

+0

显然,我的uni搞砸了他们的电子邮件地址,我的应用程序被拒绝,但我会尽力联系他们,看看我能做些什么,谢谢! :) – JohnnyQ

回答

4

我建议你给CloudxLab一试。

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