部署Mahout

简介: 一、Mahout简介Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。

一、Mahout简介


Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Apache Mahout项目已经发展到了它的第三个年头,目前已经有了三个公共发行版本。Mahout包含许多实现,包括集群、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。

(就是他,骑在象头上的那个Mahout) 



在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安装、配置 


一、下载Mahout

http://archive.apache.org/dist/mahout/

二、解压

tar -zxvf mahout-distribution-0.9.tar.gz

三、配置环境变量

3.1、配置Mahout环境变量

# set mahout environment

export MAHOUT_HOME=/home/yujianxin/mahout/mahout-distribution-0.9

export MAHOUT_CONF_DIR=$MAHOUT_HOME/conf

export PATH=$MAHOUT_HOME/conf:$MAHOUT_HOME/bin:$PATH

3.2、配置Mahout所需的Hadoop环境变量

 # set hadoop environment

export HADOOP_HOME=/home/yujianxin/hadoop/hadoop-1.1.2 
export HADOOP_CONF_DIR=$HADOOP_HOME/conf 

export PATH=$PATH:$HADOOP_HOME/bin

export HADOOP_HOME_WARN_SUPPRESS=not_null


四、验证Mahout是否安装成功

        执行命令mahout。若列出一些算法,则成功,如图:

        

       

五、使用Mahout 之入门级使用

5.1、启动Hadoop

5.2、下载测试数据

           链接中的synthetic_control.data

5.3、上传测试数据

hadoop fs -put synthetic_control.data /user/root/testdata

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

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

花费9分钟左右完成聚类 。 

5.5 查看聚类结果

    执行hadoop fs -ls /user/root/output,查看聚类结果。

方法二、 Mahout安装与配置

Mahout是Hadoop的一种高级应用。运行Mahout需要提前安装好Hadoop。Hadoop的安装网上很多,并不复杂,这里不再讲述,接下来阐述怎么安装Mahout。
1:下载二进制解压安装。
到http://labs.renren.com/apache-mirror/mahout/0.7下载,我选择下载二进制包,直接解压及可。

hadoop@ubuntu:~$ tar -zxvf mahout-distribution-0.7.tar.gz


2:配置环境变量:在/etc/profile,/home/hadoop/.bashrc中添加如下红色信息
#set java environment
MAHOUT_HOME=/home/hadoop/mahout-distribution-0.7
PIG_HOME=/home/hadoop/pig-0.9.2
HBASE_HOME=/home/hadoop/hbase-0.94.3
HIVE_HOME=/home/hadoop/hive-0.9.0
HADOOP_HOME=/home/hadoop/hadoop-1.1.1
JAVA_HOME=/home/hadoop/jdk1.7.0
PATH=$JAVA_HOME/bin:$PIG_HOME/bin:$MAHOUT_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/conf:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$HBASE_HOME/lib:$MAHOUT_HOME/lib:$PIG_HOME/lib:$HIVE_HOME/lib:$JAVA_HOME/lib/tools.jar
export MAHOUT_HOME
export PIG_HOME
export HBASE_HOME
export HADOOP_HOME
export JAVA_HOME
export HIVE_HOME
export PATH
export CLASSPATH

3:启动hadoop,也可以用伪分布式来测试

4:mahout --help    #检查Mahout是否安装完好,看是否列出了一些算法

5:mahout使用准备
a.下载一个文件synthetic_control.data,下载地址http://archive.ics.uci.edu/ml/databases/synthetic_control/synthetic_control.data,并把这个文件放在$MAHOUT_HOME目录下。

b.启动Hadoop:$HADOOP_HOME/bin/start-all.sh

c.创建测试目录testdata,并把数据导入到这个tastdata目录中(这里的目录的名字只能是testdata)

hadoop@ubuntu:~/$ hadoop fs -mkdir testdata #
hadoop@ubuntu:~/$ hadoop fs -put /home/hadoop/mahout-distribution-0.7/synthetic_control.data testdata


d.使用kmeans算法(这会运行几分钟左右)

hadoop@ubuntu:~/$ hadoop jar /home/hadoop/mahout-distribution-0.7/mahout-examples-0.7-job.jar org.apache.mahout.clustering.syntheticcontrol.kmeans.Job


e.查看结果

hadoop@ubuntu:~/$ hadoop fs -lsr output

如果看到以下结果那么算法运行成功,你的安装也就成功了。
clusteredPoints  clusters-0  clusters-1  clusters-10  clusters-2  clusters-3  clusters-4 clusters-5  clusters-6  clusters-7  clusters-8  clusters-9  data


目录
相关文章
|
人工智能 编解码 芯片
告别低效沟通|让技术提问不再头疼-这套高效AI提问模板来帮你
不会向ai提问,不知道怎么提问的 可以看看
21578 1
告别低效沟通|让技术提问不再头疼-这套高效AI提问模板来帮你
|
网络安全 数据安全/隐私保护
等保二级配置(四)口令复杂度策略和禁止root登录
等保二级配置(四)口令复杂度策略和禁止root登录
951 0
|
IDE 程序员 开发工具
Python 进阶指南(编程轻松进阶):三、使用 Black 工具来格式化代码
Python 进阶指南(编程轻松进阶):三、使用 Black 工具来格式化代码
573 0
|
C++ 索引 Python
Lua中self 、自索引及其面向对象应用代码示例
Lua中self 、自索引及其面向对象应用代码示例
|
存储 前端开发 JavaScript
Go语言实战案例-项目实战篇:编写一个轻量级在线聊天室
本文介绍如何用Go语言从零实现一个轻量级在线聊天室,基于WebSocket实现实时通信,支持多人消息广播。涵盖前后端开发、技术选型与功能扩展,助你掌握Go高并发与实时通信核心技术。
1127 158
|
12月前
|
自然语言处理 算法 调度
数字人平台数字分身技术分析
数字人正重塑生活,从虚拟偶像到金融医疗赋能。三维图形计算突破,构建全栈技术闭环,推动虚实融合的“数字分身”革命,引领中国范式崛起。
|
12月前
|
人工智能 安全 算法
当AI开始一本正经“胡说八道”,我们该怎么办?——聊聊大模型安全与反“幻觉”技术
当AI开始一本正经“胡说八道”,我们该怎么办?——聊聊大模型安全与反“幻觉”技术
1077 7
|
存储 虚拟化 Windows
想要掌握Hyper-V如何安装,首先需要确保你的操作系统版本满足Hyper-V的安装要求
Hyper-V的安装需确保操作系统版本和硬件满足要求。硬件上,64位处理器需支持SLAT及虚拟化技术(如VT-x或AMD-V),至少4GB RAM和充足存储空间;BIOS/UEFI中启用虚拟化技术和DEP。软件方面,需Windows 10 Pro及以上或Windows Server 2016/2019及以上,并保持系统更新。安装步骤包括检查系统要求、启用Hyper-V功能、配置并创建虚拟机,最后安装操作系统。注意备份数据及网络适配器配置。
|
JSON Rust 前端开发
【sheetjs】纯前端如何实现Excel导出下载和上传解析?
本文介绍了如何使用`sheetjs`的`xlsx`库在前端实现Excel的导出和上传。项目依赖包括Vite、React、SheetJS和Arco-Design。对于导出,从后端获取JSON数据,通过`json_to_sheet`、`book_new`和`writeFile`函数生成并下载Excel文件。对于上传,使用`read`函数将上传的Excel文件解析为JSON并发送至后端。完整代码示例可在GitHub仓库[fullee/sheetjs-demo](https://github.com/fullee/sheetjs-demo)中查看。
2091 10

热门文章

最新文章