开源框架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配置正确且运行正常:
好了,先到这,下次再深入研究。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
2017金砖会议之spark
前言 2017年金砖国家工商论坛组委会2日召开新闻发布会,介绍有关情况。论坛预期取得四方面成果:一是增强工商界加强互利合作的信心,二是增进工商界之间的交流合作,三是提出有价值的政策建议,四是拓展工商界参与全球经济治理的深度和广度。 spark简介 Spark(注意不要同Apache Spark混淆)的设计初衷是,可以简单容易地创建REST API或Web应用程序。它是一个灵活、简洁的框架,大小只有1MB。Spark允许用户自己选择设计应用程序的模板引擎以及选择最适合他们项目的库,比如,HTML解析功能就有Freemarker、Mustaches、Velocity、Jade、Handlebars、Pebble或Water等选项可供选择,而且很少需要配置或样板文件。不过,灵活简单的代价是,用户可选的功能减少。总之,Spark剔除了许多Java的臃肿之物,提供了一个最小化的、灵活的Web框架。但由于精简程度较高,它缺少了一些功能,不适合用于大型Web应用程序的开发。 使用示例 1.在pom.xml文件上加入依赖: <dependency> <groupId>com.s...
- 下一篇
Hadoop简介
Hadoop简介 Hadoop是使用Java编写,允许分布在集群,使用简单的编程模型的计算机大型数据集处理的Apache的开源框架。 Hadoop框架应用工程提供跨计算机集群的分布式存储和计算的环境。 Hadoop是专为从单一服务器到上千台机器扩展,每个机器都可以提供本地计算和存储。 hadoop2.9.0暂时是个不成熟的版本,建议使用先前的稳定版本hadoop2.8.0 hadoop安装部署的三种模式: (1)Local (Standalone) Mode 本地模式(又称单机模式):hadoop的默认配置模式 1)hadoop使用本地文件系统而非分布式文件系统(HDFS)。 2)不会启动任何hadoop守护进程,map任务和reduce任务作为同一个进程的不同部分来执行。 3)仅用于开发或调试MapReduce应用程序。 4)当首次解压hadoop的源码包时,默认选择了最低的配置。这时,三个xml文件均为空,当配置文件为空时,hadoop会完全运行在本地。 (2)Pseudo-Distributed Mode 伪分布式模式 1)所有的进程都运行在同一台机器上。 2)使用分布式文件系统...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2全家桶,快速入门学习开发网站教程