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,51,102,31,103,2.52,101,22,102,2.52,103,52,104,23,101,2.53,104,43,105,4.53,107,54,101,54,103,34,104,4.54,106,45,101,45,102,35,103,25,104,45,105,3.55,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.jarslf4j-api-1.6.1.jarslf4j-jcl-1.6.1.jargoogle-collection-1.0-rc2.jar //这个找不到 然后需要自己下载一个 guava-r09.zip 用当中的 guava-r09.jar来解决这个google依赖问题commons-logging-1.1.1.jarmahout-math-0.7.jaruncommons-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.txt2013-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: 212013-5-21 2:45:56 org.slf4j.impl.JCLLoggerAdapter info信息: Processed 5 usersRecommendedItem[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 ...
随机推荐
- Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) E. Goods transportation 动态规划
E. Goods transportation 题目连接: http://codeforces.com/contest/724/problem/E Description There are n ci ...
- Maven 项目不打包 *.hbm.xml 映射文件
使用 Maven 部署 Java Web 项目时,Hibernate 的映射文件 *.hbm.xml 没有被打包部署到目标目录下,解决方法:在 pom.xml 文件中 <build> 节点 ...
- HNA CloudOS | 容器云服务专家
HNA CloudOS | 容器云服务专家 http://cloudos.hnaresearch.com
- spring-boot 速成(11) - 单元测试
一.添加依赖项: testCompile 'org.springframework.boot:spring-boot-starter-test:1.5.2.RELEASE' 二.单元测试代码示例 im ...
- DG449 High Voltage Single SPDT Analog Switch in SOT23-8
DESCRIPTION The DG449 is a dual supply single-pole/double-throw (SPDT) switches. On resistance is 38 ...
- STM32 TIMER DIAGRAM
- STM32 TIMER REGISTER
- 打印 Go 结构体(struct)信息:fmt.Printf("%+v", user)
package main import "fmt" // 用户 type User struct { Id int Name string Age int } func main( ...
- 报错:Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.
在保存数据的时候报这个错误,知道是验证错误,但到底是哪个属性验证错误呢? →打断点,运行,观察程序出错的地方→在出错的部分添加try...catch语句块→添加监视,输入((System.Data.E ...
- uistatusBar 详解
成功的方法: 方法1.隐藏应用程序内所有的StatusBar 第一步:在Info.plist,然后添加一个新的row,"View controller-based status bar ap ...