【Hadoop学习】之Mahout
来源:互联网 发布:先导爱知出现集数 编辑:程序博客网 时间:2024/06/05 04:03
Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,也是apache的重点项目。Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的数据量和处理性能。
对机器学习算法的分布式实现比较感兴趣,后续准备深入学习下Mahout这个项目。今天主要是把基本的环境给搭建起来了,然后跑了一个demo
主要是参照 http://itindex.net/detail/49323-mahout-%E5%AD%A6%E4%B9%A0-mahout。来搭建环境
接下来就是结合《Mahout实战》来学习Mahout的使用以及相关算法的Map-Reduce实现。在Eclipe环境下跑了一个Mahout里面推荐系统的实例,程序如下:
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 recommend { public static void main(String[] args) throws Exception { DataModel model = new FileDataModel(new File("intro.csv")); 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, 1); for (RecommendedItem recommendation : recommendations) { System.out.println(recommendation); } }}
在建立工程之后,尝试运行,肯定会报错,因为还没有导入任何相关Jar包。本例需要导入以下jar包,这些包都可以在Mahout的安装目录及其lib目录下找到:
最后显示运行结果:RecommendedItem[item:104, value:4.257081]
那么这个实例就算正常运行了。
0 0
- 【Hadoop学习】之Mahout
- hadoop学习笔记之maven、mahout
- Hadoop Mahout学习
- Mahout驾驭hadoop之详解
- mahout学习之TasteOptionParser
- Mahout学习之Mahout算法分类
- 【hadoop学习】--(3)安装mahout
- Mahout和Hadoop:机器学习的基本原理
- hadoop 自学指南十二之mahout
- mahout学习之推荐算法
- Mahout学习之Mahout简介、安装、配置、程序测试
- Mahout学习之Mahout简介、安装、配置、入门程序测试
- Mahout学习之Mahout简介、安装、配置、入门程序测试
- Mahout学习之Mahout简介、安装、配置、入门程序测试
- Mahout学习之Mahout安装、配置、入门程序测试
- Mahout学习之Mahout简介、安装、配置、入门程序测试
- Mahout学习之Mahout简介、安装、配置、入门程序测试
- Mahout学习之Mahout简介、安装、配置、入门程序测试
- MySQL学习(三)
- 1.Tomcat 系统架构与设计模式,第 1 部分: 工作原理
- 简单Struts2实例(入门级)
- Bootstrap 滚动侦测
- c++第一次上机-2
- 【Hadoop学习】之Mahout
- CentOS系统中使用iptables设置端口转发
- hdoj 5615 Jam's math problem 【十字相乘】
- Python 调用Matlab的函数或者调用M文件方法
- static变量 静态方法 静态代码块
- 第3周项目2打印星花
- Ubuntu14.0下编译FFMpeg
- HDU1686
- JAVA几种常见的设计模式