处理大数据以执行随机森林分类
Posted
技术标签:
【中文标题】处理大数据以执行随机森林分类【英文标题】:Dealing with big data to perform random forest classification 【发布时间】:2016-07-27 10:53:57 【问题描述】:我目前正在撰写我的论文,其中涉及处理相当大的数据集:约 400 万个观察值和约 260 个特征。它是国际象棋游戏的数据集,其中大部分特征是玩家假人(每种颜色 130k)。
至于硬件和软件,我在这台计算机上有大约 12GB 的 RAM。我在 Python 3.5 中完成所有工作,主要使用 pandas 和 scikit-learn 包。
我的问题是显然我无法将这么多的数据加载到我的 RAM 中。我想做的是生成虚拟变量,然后将数据库切成大约一千块左右,应用随机森林并再次聚合结果。
但是,要做到这一点,我需要能够首先创建虚拟变量,由于内存错误,我无法做到这一点,即使我使用稀疏矩阵也是如此。从理论上讲,我可以先对数据库进行切片,然后创建虚拟变量。但是,这样做的效果是我将为不同的切片具有不同的特征,所以我不确定如何聚合这些结果。
我的问题: 1. 你们会如何解决这个问题?尽管在不同的数据“块”中有不同的特征,有没有办法“合并”我的估计结果? 2. 租用服务器或许可以完全避免这个问题。是否有此类服务的试用版?我不确定完成这项任务需要多少 CPU/RAM。
感谢您的帮助,任何提示都将不胜感激:)
【问题讨论】:
对于第二个问题:也许 AWS 学生计划对您来说会很有趣:aws.amazon.com/education/awseducate。 【参考方案1】:我建议你试试 CloudxLab。
虽然它不是免费的,但价格相当实惠(每月 25 美元)。它提供了完整的环境来试验各种工具,如 HDFS、Map-Reduce、Hive、Pig、Kafka、Spark、Scala、Sqoop、Oozie、Mahout、MLLib、Zookeeper、R、Scala 等。许多流行的培训师都在使用 CloudxLab .
【讨论】:
以上是关于处理大数据以执行随机森林分类的主要内容,如果未能解决你的问题,请参考以下文章