har*_*hal 8 parallel-processing r amazon-web-services
我想通过为每个客户建立一个模型来拍摄Kaggle Dunnhumby的挑战.我想将数据拆分为十个组,并使用Amazon Web服务(AWS)在十个组中并行使用R来构建模型.我遇到的一些相关链接是:
我不明白的是:
如果你能分享建议和提示,指出我正确的方向,我将非常感激.
PS我在AWS上使用免费使用帐户,但在Amazon Linux AMI上从源代码安装R非常困难(由于缺少标题,库和其他依赖项而导致许多错误).
小智 8
您可以在AWS上手动构建所有内容.您必须使用多个实例构建自己的亚马逊计算机群集.亚马逊网站上有一个很好的教程视频:http://www.youtube.com/watch?v = YfCgK1bmCjw
但是要花一些时间让一切运转起来:
segue包很不错但你一定会遇到数据通信问题!
简单的解决方案是cloudnumbers.com(http://www.cloudnumbers.com).此平台使您可以轻松访问云中的计算机群集.您可以在云端使用小型计算机集群免费测试5个小时!查看来自useR会议的幻灯片:http://cloudnumbers.com/hpc-news-from-the-user2011-conference
我不确定我能回答关于使用哪种方法的问题,但我可以解释一下我将如何思考这个问题.我是Segue的作者所以请记住这个偏见:)
在我开始尝试弄清楚如何运行AWS(或任何其他系统)之前,我会回答几个问题:
只是浏览一下训练数据,它看起来不那么大(~280 MB).所以这不是一个"大数据"问题.如果您的模型需要很长时间才能创建,那么它可能是一个"大CPU"问题,Segue可能会或可能不会成为帮助您解决问题的好工具.
在回答有关如何将数据传输到AWS的具体问题时,Segue通过序列化您提供给emrlapply()命令的列表对象,将序列化对象上载到S3,然后使用Elastic Map Reduce服务来传输对象来实现此目的.通过Hadoop.但作为Segue的用户,您不需要知道这一点.你只需要调用emrlapply()并传递你的列表数据(可能是一个列表,其中每个元素是单个购物者数据的矩阵或数据框)和一个函数(你编写的一个函数适合你选择的模型)和Segue需要照顾其余的.但请记住,Segue在调用emrlapply()时所做的第一件事就是序列化(有时候是慢速)并将数据上传到S3.因此,根据数据的大小和互联网连接上传速度,这可能会很慢.我对Markus断言你将"肯定会遇到数据通信问题"提出质疑.这显然是FUD.我使用Segue进行随机模拟,发送/接收300MB/1GB并具有一定的规律性.但我倾向于从AWS实例运行这些模拟,因此我从一个AWS机架发送和接收另一个,这使得一切都更快.
如果您想在AWS上进行一些分析,并在云端了解R,我推荐Drew Conway的AMI for Scientific Computing.使用他的AMI将使您不必安装/构建太多.要将数据上传到正在运行的计算机,一旦设置了ssh证书,就可以使用scp将文件上载到实例.
我喜欢在我的Amazon实例上运行RStudio.这将需要设置您的实例的密码访问权限.有很多资源可以帮助解决这个问题.
| 归档时间: |
|
| 查看次数: |
5807 次 |
| 最近记录: |