Sre*_*ndh 6 hadoop numpy machine-learning amazon-ec2 mahout
我们是学生试图处理大约1.4亿条记录的数据大小并试图运行一些机器学习算法.我们是整个云解决方案和mahout实现的新手.目前我们已经在postgresql数据库中设置它们但是当前的实现没有扩展,并且在经过多次性能调整后,读/写操作似乎非常慢.因此我们计划寻求基于云的服务.
我们已经探索了一些可能的替代方案.
以下是以下问题
谢谢
这取决于您想要解决的机器学习问题的性质.我建议你首先将数据集子采样到适合内存的东西(例如,假设稀疏表示,每个样本有几百个非零特征的100k样本).
然后尝试几种机器学习算法,可以在scikit-learn中扩展到大量样本:
执行网格搜索以查找模型的超参数的最佳值(例如,正规化器alpha和n_iterSGDClassifier 的通过次数),并使用交叉验证评估性能.
完成后,重试2x更大的数据集(仍然适合内存)并查看它是否显着提高了预测准确性.如果情况并非如此,那么不要浪费时间尝试在群集上并行化这个以在完整数据集上运行它,因为它不会产生任何更好的结果.
如果它做了你能做的事情,将数据分成碎片,然后将每个节点上的数据切片,在picloud上独立学习每个节点上的SGDClassifier或SGDRegressor模型,并收回权重(coef_和intercept_),然后计算平均权重到构建最终的线性模型,并在数据集的某些切片上进行评估.
要了解有关错误分析的更多信息.看看如何绘制学习曲线:
PiCloud是建立在AWS之上的,所以无论哪种方式,你都会在一天结束时使用亚马逊.问题是你需要多少基础设施才能将所有内容连接在一起.PiCloud提供了一些免费的使用方式来完成它的步伐,所以你最初可能会给它拍摄.我自己没有使用它,但显然他们试图为机器学习类应用程序提供易于部署.
看起来这是尝试结果,而不是云项目,所以除了直接EC2或其他一些其他软件如PiCloud或Heroku或其他可以处理引导的服务之外,我会考虑使用亚马逊的其他服务之一. .
| 归档时间: |
|
| 查看次数: |
1985 次 |
| 最近记录: |