开源框架Mahout配置


开源框架Mahout配置

机器学习这两年特别火,ATB使劲开百万到几百万年薪招美国牛校的机器学习方向博士,作为一个技术控,也得折腾下,就这样来初步折腾下Mahout这个机器学习的主流开源框架。

一、Mahout简介

Mahout的中文意思:驭象的人,再看看Mahout的logo,骑在象头上的那个Mahout。机器学习是人工智能的一个分支,它涉及通过一些技术来允许计算机根据之前的经验改善其输出。此领域与数据挖掘密切相关,并且经常需要使用各种技巧,包括统计学、概率论和模式识别等。虽然机器学习并不是一个新兴领域,但它的发展速度是毋庸置疑的。许多大型公司,包括 IBM、Google、Amazon、Yahoo! 和 Facebook,都在自己的应用程序中实现了机器学习算法。此外,还有许多公司在自己的应用程序中应用了机器学习,以便学习用户以及过去的经验,从而获得收益。

Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括被称为Taste的分布式协同过滤的实现、分类、聚类等。Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的数据量和处理性能。

在Mahout实现的机器学习算法:


算法类


算法名


中文名


分类算法


Logistic Regression


逻辑回归


Bayesian


贝叶斯


SVM


支持向量机


Perceptron


感知器算法


Neural Network


神经网络


Random Forests


随机森林


Restricted Boltzmann Machines


有限波尔兹曼机


聚类算法


Canopy Clustering


Canopy聚类


K-means Clustering


K均值算法


Fuzzy K-means


模糊K均值


Expectation Maximization


EM聚类(期望最大化聚类)


Mean Shift Clustering


均值漂移聚类


Hierarchical Clustering


层次聚类


Dirichlet Process Clustering


狄里克雷过程聚类


Latent Dirichlet Allocation


LDA聚类


Spectral Clustering


谱聚类


关联规则挖掘


Parallel FP Growth Algorithm


并行FP Growth算法


回归


Locally Weighted Linear Regression


局部加权线性回归


降维/维约简


Singular Value Decomposition


奇异值分解


Principal Components Analysis


主成分分析


Independent Component Analysis


独立成分分析


Gaussian Discriminative Analysis


高斯判别分析


进化算法


并行化了Watchmaker框架


推荐/协同过滤


Non-distributed recommenders


Taste(UserCF, ItemCF, SlopeOne)


Distributed Recommenders


ItemCF


向量相似度计算


RowSimilarityJob


计算列间相似度


VectorDistanceJob


计算向量间距离


非Map-Reduce算法


Hidden Markov Models


隐马尔科夫模型


集合方法扩展


Collections


扩展了java的Collections类

二、Mahout安装配置(网上很多相关文档是错误的,我这个方法能成功运行

1、下载Mahout

进入 http://archive.apache.org/dist/mahout/ 下载最新版本包

wget  http://archive.apache.org/dist/mahout/0.12.2/apache-mahout-distribution-0.12.2.tar.gz

2、解压

tar zxvf apache-mahout-distribution-0.12.2.tar.gz

3、配置环境变量(必备前提是hadoop已完全配置好并能正常使用,hadoop的部署文档很多了,我就不说了。)

配置Mahout环境变量

export MAHOUT_HOME=/root/apache-mahout-distribution-0.12.2
export MAHOUT_CONF_DIR=$MAHOUT_HOME/conf
export PATH=$MAHOUT_HOME/conf:$MAHOUT_HOME/bin:$PATH

 

4、验证Mahout是否安装成功

运行命令mahout,若列出一些算法就配置成功,如图:

三、Mahout 之入门使用

 

1、启动Hadoop集群

2、下载测试数据,把这个文件放在$MAHOUT_HOME/testdata目录下:

 

/root/apache-mahout-distribution-0.12.2

 

mkdir testdata

 

cd testdata

 

wget  http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data

 

 3、使用Mahout中的kmeans聚类算法,执行命令:

mahout org.apache.mahout.clustering.syntheticcontrol.kmeans.Job

大概28秒完成聚类,结果如下图: (根据集群机器的硬件配置,有人说要10分钟)

 

注意:当你运行上面命令看到如下的代码时以为是错的,其实不是,原因:MAHOUT_LOCAL:设置是否本地运行,如果设置该参数就不会在hadoop运行了,一旦设置这个参数那HADOOP_CONF_DIR 

和HADOOP_HOME两个参数就自动失效了。
MAHOUT_LOCAL is not set, so we don’t add HADOOP_CONF_DIR to classpath.
no HADOOP_HOME set , running locally

 

4、查看聚类分析结果,结果会在根目录建立output新文件夹,如下图表示mahout配置正确且运行正常:

好了,先到这,下次再深入研究。

 

时间: 2024-11-08 18:54:05

开源框架Mahout配置的相关文章

java开源框架SpringSide3多数据源配置的方法详解

原创整理不易,转载请注明出处:java开源框架SpringSide3多数据源配置的方法详解 代码下载地址:http://www.zuidaima.com/share/1781579130801152.htm 在SpringSide 3社区中,不断有人提出多数据源配置的问题,但是时至今日却一直没有一个完美的答案.经过一个星期的折腾,我总算搞清楚了在SpringSide 3中配置多数据源的各种困难并加以解决,在这里,特地把我配置SpringSide 3项目中多数据源的过程写出来,与大家分享. 我使用

Farseer.net轻量级开源框架 V1.x 入门篇:数据库配置及其它配置文件

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 V1.x 入门篇:新版本说明 下一篇:Farseer.net轻量级开源框架 V1.x 入门篇:表实体类映射 前言 Farseer.Net是支持多数据库的ORM,使用者通过配置文件即可切换指定的数据库而不需要修改项目中的任何代码.本篇讲述如何进行数据库环境的配置.同时也讲述其它配置文件的使用. 配置文件 1.配置文件的路径: 不管是WebForm.Mvc.WinForm,配置文件统一放在:~

开源框架ImageLoader初始化配置

android图片异步加载开源框架Android-Universal-Image-Loader 是一个被广泛应用的框架,Github上的下载路径为:https://github.com/nostra13/Android-Universal-Image-Loader ,用这个框架来帮助我们实现网络图片下载,不用担心OOM等问题,使用方便,我们简单讲下其它初始化配置. 一般而言我们是要全局使用ImageLoader,所以我们可以选择在Application中初始化设置该类.初始化ImageLoade

Android开源框架ImageLoader:加载图片的三级缓存机制

前言:可从  https://github.com/nostra13/Android-Universal-Image-Loader 下载三级缓存机制的开源框架.下文简单介绍该框架中主要的常用方法,掌握这些方法,基本就可应对多数图片下载的需求. 注意:以下代码为示意代码片断,仔细读一下应能知道怎么用.蓝色表示为开源框架中的类. 1.初始化ImageLoader类对象: ImageLoader imageLoader = ImageLoader.getInstance(); imageLoader.

Android开源框架 Android-Universal-Image-Loader

Android开源框架Universal-Image-Loader就像图片加载守护者,为我们提供了丰富的功能特性: (1)多线程加载图像(异步或同步): (2)高度可定制化imageloader配置(线程池.图片下载器.解码器.内存和磁盘缓存.显示图像选项等): (3)每一个显示图像有许多自定义选项(存根图片,缓存开关,解码选项,位图处理和显示等): (4)支持内存和磁盘上的图像缓存(设备的文件系统和SD卡): (5)监听加载过程(包括下载进度): 下来我们详解如何配置使用Universal-I

六款值得推荐的android(安卓)开源框架简介

1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载: (2) 网络请求的排序(scheduling) (3) 网络请求的优先级处理 (4) 缓存 (5) 多级别取消请求 (6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求) 2.android-async-http 项目地址:https://github.com/loopj/android-async-http

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)

iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 2015-04-05 15:25 2482人阅读 评论(1) 收藏 举报开源框架 图像: 1.图片浏览控件MWPhotoBrowser       实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作.      下载:https://github.com/mwaterfall/MWPhotoBrowser目前比较活跃的社区仍旧是Github,

【光速使用开源框架系列】数据库框架OrmLite

[关于本系列] 最近看了不少开源框架,网上的资料也非常多,但是我认为了解一个框架最好的方法就是实际使用.本系列博文就是带领大家快速的上手一些常用的开源框架,体会到其作用. 由于作者水平有限,本系列只会描述如何快速的使用框架的基本功能,更多的详细设置大家可以在这些项目的页面上找到. [介绍]: ORMLite是一款辅助开发数据库的框架,可以通过给实体配置标注来快速建立数据表,也可以通过其提供的DAO类中的方法来快速对数据库进行操作,如增删改查等. [项目页面]: http://ormlite.co

Farseer.net轻量级开源框架 中级篇:数据库切换

导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 中级篇: 动态数据库访问 下一篇:Farseer.net轻量级开源框架 中级篇: SQL执行报告 上文中讲述了,在项目运行过程中,如何通过代码动态改变数据库的访问,这种方式更加倾向于实体类相同,有多个相同的表结构. 本篇中讲述的是,如何快速切换不同的数据库.比如你现在使用在使用SqlServer 哪天数据库老板心血来潮,让你换成Oracle了,怎么办? 这种数据库的切换在ORM中能明显突出