我目前正在撰写论文,涉及处理相当大的数据集:〜4百万个观测值和〜260个特征。它是国际象棋游戏的数据集,其中的大多数功能都是球员假人(每种颜色130k)。
至于硬件和软件,我在这台计算机上有大约12GB的RAM。我正在Python 3.5中进行所有工作,并且主要使用pandas和scikit-learn软件包。
我的问题是,显然我无法将这么多的数据加载到我的RAM中。我想做的是生成虚拟变量,然后将数据库切成大约一千个左右的块,应用随机森林,然后再次汇总结果。
但是,要做到这一点,我将需要能够首先创建虚拟变量,即使使用稀疏矩阵,由于内存错误,我也无法做到这一点。从理论上讲,我可以先对数据库进行切片,然后创建虚拟变量。但是,这样做的结果是,对于不同的切片,我将具有不同的功能,因此我不确定如何汇总此类结果。
我的问题:
1.你们将如何解决这个问题?尽管在不同的数据“块”中具有不同的功能,是否有办法“合并”我的估计结果?
2.也许可以通过租用服务器来完全避免此问题。是否有此类服务的试用版?我不确定要完成此任务需要多少CPU / RAM。
谢谢您的帮助,任何提示将不胜感激:)
我建议您尝试一下CloudxLab。
尽管它不是免费的,但价格却相当便宜(每月25美元)。它提供了完整的环境,可以使用HDFS,Map-Reduce,Hive,Pig,Kafka,Spark,Scala,Sqoop,Oozie,Mahout,MLLIb,Zookeeper,R,Scala等各种工具进行实验。许多流行的培训师都在使用CloudxLab 。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句