mahout0.7 示例运行纪实
http://1992mrwang.blog.51cto.com/3265935/1205282
运行太不容易了 所以要记下来以免后面忘记了
首先是数据
vim testdata.txt
第一列为UserID ,第二列为ItemID,第三列为Preference Value 即评分
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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 |
新建立一个工程
导入 mahout包 mahout-core-0.7-job.jar
这样进行开发的时候就不会出现各种红叉叉 从编程心情上会更好一点
新建一个类 RecommenderIntro
代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
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 { DataModel model = new FileDataModel( new File( "intro.csv" )); // step:1 构建模型 UserSimilarity similarity = new PearsonCorrelationSimilarity(model); // 2 计算相似度 UserNeighborhood neighborhood = new NearestNUserNeighborhood( 2 , similarity, model); // 3 查找邻近 Recommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity); // 4 构造推荐引擎 List<RecommendedItem> recommendations = recommender.recommend( 1 , 2 ); // 为用户1推荐两个ItemID for (RecommendedItem recommendation : recommendations) { System.out.println(recommendation); } } } |
这样就能够运行了
但是会报错 原因在于没有导入它所需要的所有包
在mahout当中 只要你正确安装了都会有他所需要的包
除了google的一个需要自己下
1
2
3
4
5
6
7
|
mahout-core- 0.7 -job.jar slf4j-api- 1.6 . 1 .jar slf4j-jcl- 1.6 . 1 .jar google-collection- 1.0 -rc2.jar //这个找不到 然后需要自己下载一个 guava-r09.zip 用当中的 guava-r09.jar来解决这个google依赖问题 commons-logging- 1.1 . 1 .jar mahout-math- 0.7 .jar uncommons-maths- 1.2 . 2 .jar |
然后就能够运行了
结果 应该是
1
2
3
4
5
6
7
8
9
10
|
2013 - 5 - 21 2 : 45 : 56 org.slf4j.impl.JCLLoggerAdapter info 信息: Creating FileDataModel for file /root/input/testMahout.txt 2013 - 5 - 21 2 : 45 : 56 org.slf4j.impl.JCLLoggerAdapter info 信息: Reading file info... 2013 - 5 - 21 2 : 45 : 56 org.slf4j.impl.JCLLoggerAdapter info 信息: Read lines: 21 2013 - 5 - 21 2 : 45 : 56 org.slf4j.impl.JCLLoggerAdapter info 信息: Processed 5 users RecommendedItem[item: 104 , value: 4.257081 ] RecommendedItem[item: 106 , value: 4.0 ] |
总结:
主要是依赖问题解决用了比较长的时间
我用的ubuntu 下开发 所以在找包的时候 直接用 find | grep *** 在mahout 的安装目录下去寻找包
参考自:http://blog.csdn.net/aidayei/article/details/6626699
mahout0.7 示例运行纪实的更多相关文章
- S2X环境搭建与示例运行
S2X环境搭建与示例运行 http://dbis.informatik.uni-freiburg.de/forschung/projekte/DiPoS/S2X.html 环境 Maven proje ...
- Appium(JAVA)Windows 7系统搭建及示例运行
Appium(JAVA)Windows 7系统搭建及示例运行 分类: Appium 2014-11-14 17:44 4323人阅读 评论(2) 收藏 举报 1.搭建Android环境 http:// ...
- 沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录
目录 沁恒CH32F103C8T6(一): Keil5环境配置,示例运行和烧录 沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录 StdPeriphLi ...
- 转载:官方Caffe-windows 配置与示例运行
转载来自:http://blog.csdn.net/guoyk1990/article/details/52909864 本文主要介绍官方给出的caffe-windows的配置及如何训练mnist数据 ...
- 官方Caffe-windows 配置与示例运行
http://blog.csdn.net/guoyk1990/article/details/52909864 标签: caffewindows配置训练自己的数据 2016-10-24 13:34 1 ...
- Flink快速入门--安装与示例运行
flink是一款开源的大数据流式处理框架,他可以同时批处理和流处理,具有容错性.高吞吐.低延迟等优势,本文简述flink在windows和linux中安装步骤,和示例程序的运行. 首先要想运行Flin ...
- istio 安装与bookinfo示例运行
目的 本文旨在帮助想了解istio安装和运行bookinfo示例的同学快速入门 前置准备 安装k8s和helm 1.k8s安装 修改主机名 hostnamectl set-hostname k8s-m ...
- Hama安装及示例运行
Hama介绍 Apache Hama是一个纯BSP(Bulk Synchronous Parallel)计算框架,模仿了Google的Pregel.用来处理大规模的科学计算,特别是矩阵和图计算. BS ...
- Abp zero 示例运行
https://aspnetboilerplate.com/Pages/Documents/Zero/Startup-Template-Core Introduction The easiest wa ...
随机推荐
- 16、Redis手动创建集群
写在前面的话:读书破万卷,编码如有神 --------------------------------------------------------------------------------- ...
- MikroTik RouterOS虚拟机/实体机安装方法
一.设置光驱 二.安装RouerOS 按a全选,按i安装,q退出,空格可以选取或取消选取.这里是选择你要安装的组件. 是否要保存原有配置:是否要提交.一路y. 安装好之后按回车重启:之后为这个界面,安 ...
- scrum vs devops vs sre
DevOps&SRE 超越传统运维之道[北京站] IT大咖说 - 大咖干货,不再错过 http://www.itdks.com/eventlist/detail/908
- Delphi : Analyze PE file headers?
Analyze PE file headers? { You'll need a OpenDialog to open a Exe-File and a Memo to show the file i ...
- mybatis 详解
http://www.cnblogs.com/ysocean/category/1007230.html
- oracle linux dtrace
http://docs.oracle.com/cd/E37670_01/E38608/html/pref.html
- Mysql5.6主从复制-基于binlog
MySQL5.6开始主从复制有两种方式:基于日志(binlog):基于GTID(全局事务标示符). 此文章是基于日志方式的配置步骤 环境: master数据库IP:192.168.247.128sla ...
- SATA工作模式咋选?揭秘AHCI和IDE区别(全文)
第1页:AHCI模式与Win7.SSD的不解之缘 AHCI这个注定和SATA接口结下不解之缘的接口模式,它担负着淘汰IDE模式的重任,从诞生开始就充满争议,它经历了整整7年时间.它伴随着SSD ...
- 【Devops】【docker】【CI/CD】Jenkins源码管理,设置gitlab上项目的clone地址 + jenkins构建报错:Please make sure you have the correct access rights and the repository exists.
注意,如果 jenkins构建报错:Please make sure you have the correct access rights and the repository exists. 而此时 ...
- android ActionBarImpl can only be used with a compatible window decor layout
在Activity中添加 requestWindowFeature(Window.FEATURE_ACTION_BAR); requestWindowFeature(Window.FEATURE_AC ...