ruby-on-rails – Mahout插件,用于轨道上的ruby

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Mahout插件,用于轨道上的ruby前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的 Ruby on Rails项目中使用Apache Mahout来实现建议和协同过滤.具体我的要求是:

>建议相关标签.
>建议相关文章.
>根据用户的偏好提示他审查文章.
根据地理位置和用户的其他元信息,建议他类似用户.

如果轻松地与轨道轨道集成,并满足我的要求,我可以使用任何其他解决方案(除了mahout).

解决方法

Mahout(和Hadoop)在运行在JRuby上的Rails中工作得很好.您可以包括Hadoop和Mahout jar如下所示:

require ‘rubygems’
require ‘java’

Dir[“/mahout-base-dir/**/*.jar”].each { |jar| require jar }
Dir[“/hadoop-base-dir/**/*.jar”].each { |jar| require jar }

然后,您可以包括您计划使用的Mahout课程,例如:

include_class ‘org.apache.hadoop.fs.Path’
include_class ‘org.apache.hadoop.conf.Configuration’
include_class ‘org.apache.hadoop.fs.FileSystem’
include_class ‘org.apache.mahout.clustering.spectral.common.AffinityMatrixInputJob’
include_class ‘org.apache.mahout.clustering.spectral.kmeans.SpectralKMeansDriver’

从那里,您可以遵循Mahout Java文档和JRuby约定来构建您的Rails rec系统.

话虽如此,我不知道这将是你的网站最好的架构(很难说没有更多的细节).如果您的问题规模足够大以保证Mahout,那么使用Rails只是为了网络的东西可能更有意义,并在Web框架之外生成您的建议(例如通过在夜间批量生成亲和力等).

猜你在找的Ruby相关文章