mahout+eclipse推荐系统开发学习之helloworld

本文介绍如何使用Apache Mahout构建推荐系统,包括搭建环境、创建推荐引擎并进行简单推荐等步骤。通过具体示例,展示了从数据准备到推荐结果输出的全过程。

推荐入门--HelloWorld

    1·下载最新版本的mahout,本例使用0.9版本 下载地址 http://mirror.esocc.com/apache/mahout/0.9/
    2·新建一个普通的java项目,导入以下依赖包(所有依赖包都在mahout安装目录的lib文件夹下)
    
    3·新建以下java类:
package com.xinyuan.hello;

import org.apache.mahout.cf.taste.impl.model.file.*;
import org.apache.mahout.cf.taste.impl.neighborhood.*;
import org.apache.mahout.cf.taste.impl.recommender.*;
import org.apache.mahout.cf.taste.impl.similarity.*;
import org.apache.mahout.cf.taste.model.*;
import org.apache.mahout.cf.taste.neighborhood.*;
import org.apache.mahout.cf.taste.recommender.*;
import org.apache.mahout.cf.taste.similarity.*;
import java.io.*;
import java.util.*;
public class RecommenderIntro {
	private RecommenderIntro(){};
	
	public static void main (String args[])throws Exception{
                // step:1 构建模型 2 计算相似度 3 查找k紧邻 4 构造推荐引擎
		DataModel  model =new FileDataModel(new File(System.getProperty("user.dir")+"/data/hello.txt"));//文件名一定要是绝对路径
		UserSimilarity similarity =new PearsonCorrelationSimilarity(model);
		UserNeighborhood neighborhood =new NearestNUserNeighborhood(2,similarity,model);
		Recommender recommender= new GenericUserBasedRecommender(model,neighborhood,similarity);
		List<RecommendedItem> recommendations =recommender.recommend(1, 2);//为用户1推荐两个ItemID
		for(RecommendedItem recommendation :recommendations){
			System.out.println(recommendation);
		}
		
	}
}
    4·在项目目录中添加数据文件hello.txt
1,101,5
1,102,3
1,103,2.5
2,101,2
2,102,2.5
2,103,5
2,104,2
3,101,2.5
3,104,4
3,105,4.5
3,107,5
4,101,5
4,103,3
4,104,4.5
4,106,4
5,101,4
5,102,3
5,103,2
5,104,4
5,105,3.5
5,106,4
    5·添加log4j的配置文件 log4j.properties
# Configure logging for testing: optionally with log file
log4j.rootLogger=WARN, stdout
# log4j.rootLogger=WARN, stdout, logfile

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
执行结果:

转载于:https://my.oschina.net/xinyuan6009/blog/220564

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值