我目前正在写毕业论文,其中涉及处理相当大的数据集:约4百万条观察数据和约26万个特征。这是一个棋局数据集,大部分特征是选手虚拟值(每个颜色有130k)。
至于硬件和软件,我在这台计算机上有大约12GB的RAM。我使用Python 3.5做所有工作,主要使用pandas和scikit-learn包。
我的问题是,显然我无法将这么多数据加载到RAM中。我希望先生成虚拟变量,然后将数据库切片成大约一千个碎片或更多,应用随机森林并重新聚合结果。
然而,要做到这一点,我首先需要能够创建虚拟变量,但由于内存错误,即使使用稀疏矩阵,我也无法做到这一点。理论上,我可以先将数据库切片,然后创建虚拟变量。然而,这样做的效果将是我将有不同的特征用于不同的数据片段,因此我不确定如何聚合这样的结果。
我的问题:
1. 你们会如何解决这个问题?是否有一种方法可以“合并”我的估计结果,尽管不同“数据块”中具有不同的特征?
2. 也许可以通过租用服务器来避免这个问题。是否有此类服务的试用版本?我不确定我需要多少CPU / RAM才能完成此任务。
感谢您的帮助,任何提示都将受到赞赏:)