机器学习任务:使用什么工具?

em7*_*m70 6 cloud classification machine-learning amazon-ec2

我目前正在尝试一项涉及分类模型的监督培训的ML任务.到目前为止,我已经有大约500万个训练样例和~5M交叉验证示例.目前,每个示例都有46个功能,但我可能希望在不久的将来再生成10个功能,因此任何解决方案都应留有一些改进空间.

我的问题如下:我用什么工具来解决这个问题?我想使用随机森林或SVM,但我担心后者可能在我的情况下太慢.我已经考虑了Mahout,但是因为看起来需要一定的配置以及搞乱命令行脚本而转过身去.我宁愿直接对某些(记录良好的!)库进行编码,也可以使用GUI定义我的模型.

我还应该指出我正在寻找可以在Windows上运行的东西(没有像cygwin这样的东西),并且非常感谢那些与.NET兼容的解决方案.

您可以想象,当时间到来时,代码将在Amazon EC 2上的Cluster Compute Eight Extra Large Instance上运行,因此欢迎任何广泛使用RAM和多核CPU的内容.

最后但并非最不重要的是,我将指定我的数据集是密集的(因为没有缺失值/所有列都有每个向量的值)

car*_*sdc 2

我建议针对这种规模的问题考虑随机梯度下降。VowpalWabbit是一个值得关注的好工具。在这个尺寸下,您可能可以在具有合理规格的桌面上运行实验。我认为对你来说唯一的缺点是它不是以 Windows 为中心的,但尽管我没有检查它应该在 cygwin 上运行。

编辑: 开发人员对让 VowpalWabbit 在 Windows 上运行非常感兴趣。截至 2013 年 3 月,VowpalWabbit(版本 7.2)可在 Windows 上开箱即用。有一些高级/可选功能尚未在 Windows 上实现,其中之一是将 VowpalWabbit 作为守护进程运行,但似乎将在短期内得到处理。