- Recommender Engine in Ruby. Based loosely in Apache Mahout
- For using it, install the gem and then as an example do the following:
def save_as_csv_file(file_path,values) File.open(file_path,'w') do |file| values.each do |row| file.puts "#{row[0]},#{row[1]},#{row[2]}" end end end save_as_csv_file '/tmp/data_file',[['A','B',5],['A','C',3],['B','B',5],['B','C',3],['B','D',2]] data_model = Recommendations::DataModel::FileDataModel.new('/tmp/data_file') similarity = Recommendations::Similarity::EuclideanDistanceSimilarity.new(data_model) neighborhood = Recommendations::Similarity::Neighborhood::NearestNUserNeighborhood.new(data_model,similarity,5,0.5) rating_estimator = Recommendations::Recommender::Estimation::DefaultRatingEstimator.new(data_model,similarity) recommender = Recommendations::Recommender::GenericUserBasedRecommender.new(data_model,similarity,neighborhood,rating_estimator) recommendations = recommender.recommend('A',5) puts recommendations[0].item puts recommendations[0].value