Mahout对于定制的GroupLens推荐进行评估

/*
 * 这段程序写的是测试定制的GroupLens的评估
 * */
package byuser;

import java.io.File;

import org.apache.mahout.cf.taste.common.TasteException;
import org.apache.mahout.cf.taste.eval.RecommenderBuilder;
import org.apache.mahout.cf.taste.eval.RecommenderEvaluator;
import org.apache.mahout.cf.taste.impl.eval.AverageAbsoluteDifferenceRecommenderEvaluator;
import org.apache.mahout.cf.taste.impl.neighborhood.NearestNUserNeighborhood;
import org.apache.mahout.cf.taste.impl.recommender.GenericUserBasedRecommender;
import org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity;
import org.apache.mahout.cf.taste.model.DataModel;
import org.apache.mahout.cf.taste.neighborhood.UserNeighborhood;
import org.apache.mahout.cf.taste.recommender.Recommender;
import org.apache.mahout.cf.taste.similarity.UserSimilarity;
import org.apache.mahout.cf.taste.similarity.precompute.example.GroupLensDataModel;

public class GenericRecByGroupLens_Evalu {

	public GenericRecByGroupLens_Evalu() throws Exception{
		DataModel model = new GroupLensDataModel(new File("E:\\mahout项目\\examples\\ratings.dat"));
		RecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator();
		RecommenderBuilder recommenderBuilder = new RecommenderBuilder() {
			@Override
			public Recommender buildRecommender(DataModel model) throws TasteException {
				UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
				UserNeighborhood neighborhood = new NearestNUserNeighborhood(100, similarity, model);
				return new GenericUserBasedRecommender(model, neighborhood, similarity);
			}
		};
		double score = evaluator.evaluate(recommenderBuilder, null, model, 0.95, 0.05);
		System.out.println("GroupLens定制的推荐引擎的评测得分是: " + score);
	}
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		GenericRecByGroupLens_Evalu eva = new GenericRecByGroupLens_Evalu();
	}

}

时间: 2024-10-13 00:52:51

Mahout对于定制的GroupLens推荐进行评估的相关文章

Mahout in action 中文版-2.推荐器的介绍-2.1~2.2

2?推荐器的介绍 本章概要: ???????? Mahout中的推荐器 ?????????推荐器实战一瞥 ?????????推荐引擎精度与质量评估 ?????????基于一个真实数据集的测试:GroupLens 每天我们都会对一些喜欢的.不喜欢的甚至不关心的事物进行一些评价.这中行为往往是无意识的.你在收音机上听到一首歌,你可能会因为它的美妙或者难听而注意到它,也可能直接忽略.这样的情形也会非常普遍的发生在人们对于T恤.沙拉酱.滑雪场.发型.脸型或者电视节目. ???????? 尽管人们的口味多

Mahout in action 中文版-2.推荐器的介绍-2.4~2.6

2.4 评估查准率(precision)和召回率(recall) 我们可以从更广义的角度去看待推荐问题:它并不是严格的要去估计偏好指数来提供推荐结果,也不总是要向用户提供准确的偏好指数的值.很多时候,我们只需从好到坏列出推荐排序,事实上,有些时候我们只需列出很少一部分排名考前的就可以了. ???????? 这样来看,我们也可以利用经典的信息检索中的度量方法去评估分类器:查准率和召回率.这些术语被典型的用在搜索引擎之中.而且,搜索引擎正是为一个查询返回一些排名较好的结果. ???????? 一个搜

Mahout in action 中文版-2.推荐器的介绍-2.3

2.3 评估推荐器 ???????? 推荐器是一个工具,它用来解决"如何为一个用户给出最好的推荐"这样的问题.在得出结果之前,最好先弄清楚问题.究竟怎样才是一个好的推荐结果?我们如何才能得出这样的结果?这一章剩下的部分将停下来探索推荐器的评估,因为这是用来了解特定推荐器的有力工具. ???????? 最理想的推荐器会像巫师一样某明奇妙的猜到你所喜欢的东西.它可能会知道你有多喜欢一个东西,甚至你都没有见过它或者从未表达过你是否喜欢它.一个推荐器能够精确的得出你对于每个项目的偏好指数,然后

推荐系统-01-Spark电影推荐、评估与部署

原文地址:https://www.cnblogs.com/freebird92/p/9047575.html

基于 Apache Mahout 构建社会化推荐引擎

推荐引擎简介 推荐引擎利用特殊的信息过滤(IF,Information Filtering)技术,将不同的内容(例如电影.音乐.书籍.新闻.图片.网页等)推荐给可能感兴趣的用户.通常情况下,推荐引擎的实现是通过将用户的个人喜好与特定的参考特征进行比较,并试图预测用户对一些未评分项目的喜好程度.参考特征的选取可能是从项目本身的信息中提取的,或是基于用户所在的社会或社团环境. 根据如何抽取参考特征,我们可以将推荐引擎分为以下四大类: 基于内容的推荐引擎:它将计算得到并推荐给用户一些与该用户已选择过的

mahout之分布式Item-Based使用

一:简介 基于用户的协同推荐算法随着使用者数量的增多,计算的时间就会变长,所以在2001年Sarwar提出了基于项目的协同过滤推荐算法(Item-based Collaborative Filtering Algorithms).基于用户的协同推荐mahout没有实现分布式算法,Mahout基于Item的分布式推荐算法的主要内容见org.apache.mahout.cf.taste.hadoop.item. 二:准备输入文件 采用分布式算法,输入文件首先需存放在hdfs上,文件格式(userid

探索推荐引擎内部的秘密,第 2 部分: 深入推荐引擎相关算法 - 协同过滤(转)

第 2 部分: 深入推荐引擎相关算法 - 协同过滤 本系列的第一篇为读者概要介绍了推荐引擎,下面几篇文章将深入介绍推荐引擎的相关算法,并帮助读者高效的实现这些算法. 在现今的推荐技术和算法中,最被大家广泛认可和采用的就是基于协同过滤的推荐方法.它以其方法模型简单,数据依赖性低,数据方便采集 , 推荐效果较优等多个优点成为大众眼里的推荐算法“No.1”.本文将带你深入了解协同过滤的秘密,并给出基于 Apache Mahout 的协同过滤算法的高效实现.Apache Mahout 是 ASF 的一个

深入浅出Hadoop Mahout数据挖掘实战(算法分析、项目实战、中文分词技术)

Mahout简介 Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目, 提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序 Mahout相关资源 ?Mahout主页:http://mahout.apache.org/ ?Mahout 最新版本0.8下载: http://mirrors.hust.edu.cn/apache/mahout/0.8/ 使用mahout-distribution-0.8.tar.g

【博客美化】01.推荐和反对悬浮窗样式

进入自己的博客园->设置,将以下css代码添加到“页面定制CSS代码” /*推荐与反对*/ #div_digg{ position:fixed; bottom:5px; width:140px; right:390px; border:2px solid #6FA833; padding:10px; background-color:#fff; border-radius:5px 5px 5px 5px !important; box-shadow:0 0 0 1px #5F5A4B, 1px