mahout实现查准率和查全率评估的配置与运行

/*
 * 查准率和查全率评估的配置与运行
 *
 * */
package byuser;

import java.io.File;

import org.apache.mahout.cf.taste.common.TasteException;
import org.apache.mahout.cf.taste.eval.IRStatistics;
import org.apache.mahout.cf.taste.eval.RecommenderBuilder;
import org.apache.mahout.cf.taste.eval.RecommenderIRStatsEvaluator;
import org.apache.mahout.cf.taste.impl.eval.GenericRecommenderIRStatsEvaluator;
import org.apache.mahout.cf.taste.impl.model.file.FileDataModel;
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.common.RandomUtils;

public class RecommenderIRStatsEvaluatorTest {

	public RecommenderIRStatsEvaluatorTest(){
		try{
			RandomUtils.useTestSeed();
			DataModel model = new FileDataModel(new File("E:\\mahout项目\\examples\\intro.csv"));
			RecommenderIRStatsEvaluator evaluator = new GenericRecommenderIRStatsEvaluator();
			RecommenderBuilder recommenderBuilder = new RecommenderBuilder() {
				@Override
				public Recommender buildRecommender(DataModel model) throws TasteException {
					// TODO Auto-generated method stub
					UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
					UserNeighborhood neighborhood = new NearestNUserNeighborhood(2, similarity, model);
					return new GenericUserBasedRecommender(model, neighborhood, similarity);
				}
			};
			//推荐两个数据
			IRStatistics stats = evaluator.evaluate(recommenderBuilder, null, model, null, 2, GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 1.0);
			System.out.println("推荐两个结果的查准率 :" + stats.getPrecision());
			System.out.println("推荐两个结果的查全率 :" + stats.getRecall());
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		RecommenderIRStatsEvaluatorTest test = new RecommenderIRStatsEvaluatorTest();
	}

}

结果:

时间: 2024-08-29 20:58:47

mahout实现查准率和查全率评估的配置与运行的相关文章

mahout利用布尔型数据评估查准率和查全率

/*利用无偏好值得布尔型 * 数据评估查准率和查全率 * */ package byuser; import java.io.File; import java.io.IOException; import org.apache.mahout.cf.taste.common.TasteException; import org.apache.mahout.cf.taste.eval.DataModelBuilder; import org.apache.mahout.cf.taste.eval.

mahout推荐3-评估查准率和查全率

通过估计偏好值来生成推荐结果并非绝对必要.给出一个从优到劣的推荐列表对于许多场景都够用了,而不必包含估计的偏好值. 查准率:在top结果中相关结果的比例 查全率:所有相关结果,包含在top结果中的比例 对上个例子进行测试: package mahout; import java.io.File; import org.apache.mahout.cf.taste.common.TasteException; import org.apache.mahout.cf.taste.eval.IRSta

在IIS中配置PHP运行环境简单步骤-注意事项

在IIS中配置PHP运行环境简单步骤 安装 IIS 7.0 打开 Control Panel\Programs\Programs and Features\Turn Windows features on or off, 在打开的对话框中勾选上这两个选项: 单击OK等待片刻, IIS就安装完成了. 安装 PHP 5.2.6 1. 下载: PHP 5.2.6 ;  其它版本的 PHP 下载. 2. 将压缩包解压, 放到一个目录中, 比如 D:\php 3. 将 php.ini-dist 复制到 C

(转载)关于ubuntu下java环境配置及其运行

转载地址:http://blog.sina.com.cn/s/blog_6730a3aa0100vsiy.html 其实不需要怎么配置,直接到ubuntu软件中心里面搜jre就行了,安装上. 在终端输入:sudo apt-get install openjdk-6-jdk 再在ubuntu软件中心里面搜索eclipse下载安装即可. 不安装eclipse也行,不过运行什么的都要在终端了..... 下面就运行试试: 1.直接终端运行: 在桌面建立一个文本文档命名为test.java,使用其他编辑器

IIS7中配置FastCGI运行PHP

环境说明: 操作系统:使用windows 2008 server 64位系统,IIS7.5PHP版本:官方下载PHP 5.4.16 VC9 x86 Non Thread SafeZIP版本.PHP路径:C:\php-5.4.16\ 配置步骤: 解压PHP文件,修改目录名放到C盘.目录地址为C:\php-5.4.16 复制php.ini-production改名为php.ini,先参考PHP.ini参数说明修改.并修改PHP对FastCGI支持: winmail站点打开按下图添加相关的选项:选择“

hadoop1.2.1配置与运行子串统计程序

一.虚拟机版本 VirtualBox-4.3.30 二.操作系统 CentOS-6.7-x86_64-bin-DVD1.iso 下载地址1:http://www.centoscn.com/CentosSoft/iso/2015/0813/6001.html 三.安装两个Linux虚拟机 名字取名为hadoop1和hadoop2 具体步骤可以参考百度经验 只是注意细节在创建虚拟机时需要将内存大小修改1024MB,因为过低的内存将无法安装桌面系统,只能以命令行形式进行操作,并且建议不要选择安装最小桌

实验 1 Java 运行环境的安装、配置与运行

一.实验目的     1. 掌握下载 Java SDK 软件包.     2. 掌握设置 Java 程序运行环境的方法.     3. 掌握编写与运行 Java 程序的方法.     4. 了解 Java 语言的概貌. 5. 安装.掌握JCreator软件,为学习 Java 语言和进行 Java 程序的实验做好准备工作. 6. 浏览Applet 程序 二.实验要求     1. 安装并设置 Java SDK 软件包.     2. 编写一个简单的 Java 程序,在屏幕上输出"hello,jav

配置和运行 MatchNet CVPR 2015 MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching

配置和运行 MatchNet CVPR 2015 GitHub: https://github.com/hanxf/matchnet 最近一个同学在配置,测试这个网络,但是总是遇到各种问题. 我也尝试了一下,结果也是一堆问题. 这里记录一下. 问题1.  ImportError: No module named leveldb [email protected]:~/Downloads/matchnet-master$ ./run_gen_data.sh Traceback (most rece

PHP+FastCGI+Nginx配置PHP运行环境方法

PHP+FastCGI+Nginx配置PHP运行环境 Nginx不支持对外部程序的调用,所以必须通过FastCGI接口实现对外部程序的调用从而实现对客户端动态页面请求的处理. CGI的英文全称为Common Gateway Interface(公共网关接口),是Nginx和动态脚本程序的桥梁,Nginx通过FastCGI接口将动态请求发送给FastCGI,FastCGI中的Wrapper进程生成一个线程,将请求交给脚本解释程序执行,然后通过原来的socket将解释执行后的结果原路返回给Nginx