Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Heroku Rails应用程序的数据挖掘/统计分析选项?_Ruby_Ruby On Rails 3_R_Heroku_Stata - Fatal编程技术网

Ruby Heroku Rails应用程序的数据挖掘/统计分析选项?

Ruby Heroku Rails应用程序的数据挖掘/统计分析选项?,ruby,ruby-on-rails-3,r,heroku,stata,Ruby,Ruby On Rails 3,R,Heroku,Stata,我有一个rails应用程序,它托管在Heroku上,我想为它加入一些实时数据分析。理想情况下,我想找出一种运行广义增强回归模型的方法,我知道这在R和R中都可用(http://cran.r-project.org/web/packages/gbm/index.html)还有斯塔塔(http://www.stata-journal.com/article.html?article=st0087). 我想保存生成的gbm树,然后在我的应用程序中,使用它根据用户输入预测新结果 如果不可能,我愿意使用其他

我有一个rails应用程序,它托管在Heroku上,我想为它加入一些实时数据分析。理想情况下,我想找出一种运行广义增强回归模型的方法,我知道这在R和R中都可用(http://cran.r-project.org/web/packages/gbm/index.html)还有斯塔塔(http://www.stata-journal.com/article.html?article=st0087). 我想保存生成的gbm树,然后在我的应用程序中,使用它根据用户输入预测新结果

如果不可能,我愿意使用其他数据挖掘算法。对我来说最重要的是能够将它集成到我的Heroku应用程序中,这样它就可以在没有本地机器的情况下运行

我研究过的选项:

1) Heroku的支持人员建议将Vendor库添加到ruby gem中。我对ruby和rails比较陌生,这对我来说是可行的吗。我已经在gems中查找了关于自动售货库的说明,但没有找到太多

2) 这里还有一条线(http://stackoverflow.com/questions/6495232/statistic-engine-that-work-with-heroku)提到了CloudNumber,但似乎不可能从Rails应用程序调用该服务

3) 在他们的一个案例研究中,Heroku提到FlightCaster,它使用Clojure、Hadoop和EC2进行机器学习(http://www.infoq.com/articles/flightcaster-clojure-rails). 我看到Heroku支持Clojure,但有没有办法将它(或者更具体地说是白炽灯)集成到我的Rails应用程序中


如果你有任何想法,请告诉我。

我将从R的角度回答这个问题。 通常,您将面临两个问题:

1) 与R接口,无论它在哪里运行

2) 在Heroku做这件事,那里有一系列特殊的挑战

对于第一种方法,有几种通用的方法——您可以使用与R的绑定(
rsruby
rinruby
,等等),您可以向R提供支持(例如,从ruby
R-e“RCODEHERE”
),您可以作为Web服务访问R(参见
Rook
包,特别是类似的东西),或者您可以使用类似于
rserve
的工具手动访问R

其中,如果您只做一个操作,并且不太关心性能,那么向R输出是最容易做到的。您需要解析返回的输出,但这是我经验中对单个操作最快的方法

对于更重要的用法,我建议使用其中一个绑定,或者在另一个Heroku应用程序上将R设置为Web服务,并通过HTTP调用它

下一个挑战是让R在Heroku上运行——它不是标准环境的一部分,而且它是一个只读文件系统,没有根访问权限,因此您不能只执行
sudo apt get install

有可能把R变成一块宝石——有人已经开始这样做了,但我个人无法让它工作。通过安装所有依赖项等,也可以直接在Heroku上构建R——这就是我所采用的方法(如果不使用Rook,第1步就是所需的全部)

请注意,Heroku可能不允许您在与Rails应用程序相同的线程中启动第二个进程,这是大多数绑定所做的。这会使这些绑定工作起来相当困难,这就是为什么我倾向于将其剥离到R,或者将其公开为Web服务并通过HTTP访问它