Hadoop 之 Mahout

Mahout

提供了常用算法的程序库,可以基于分布式做数据挖掘.


常见算法

回归算法:用于预测(日期交易量预测等等)。
比如身高和体重作为x,y坐标,给出一组人的身高体重,形成作为图上的一个个点(学习集),
计算出一条直线或者抛物曲线,能够离所有点综合距离最小。
那么可以任意给出身高,根据给出的曲线预测出相应的体重。
-------------------------------------------------------------
分类器

依据以往的数据样本,做出一个分类器(或者说分类函数),对现有的数据进行分类。
通常是二分函数

贝叶斯分类器 概率分类器
常用于垃圾邮件的分类,将邮件内容进行分词,发现词语高频率属于垃圾邮件的词汇,
判断出此邮件是否为垃圾邮件的概率。
---------------------------------------------------------------
聚类(K-Means)

根据数据的共同特性,进行归类。

比如动物的进化树,通过分析DNA做聚类,可以计算出哪些生物是有亲缘关系。
------------------------------------------------------------------
频繁数据挖掘

依据以往数据样本,计算出物品共同出现的概率。
可以做推荐系统
-------------------------------------------------------------------
传统数据分析工具的困境

R,SAS,SPSS等典型应用场景为实验室工具
处理的数据需要先读入内存,因此数据量受限于内存,无法处理海量数据。
使用Oracle数据等处理海量数据,但缺乏有效快速专业分析功能。
可以采用抽样等方法,但有局限性。比如聚类,推荐系统无法使用抽样
解决方向:hadoop集群和Map-Reduce并行计算

Mahout的主要目的是实现可伸缩的机器学习算法(就是算法的M-R化)。
目的是帮组开发人员建立具有机器智能的应用程序。
1.频繁模式挖掘
2.聚类算法
3.分类器
4.推荐系统
5.频繁子项挖掘

 

### HadoopMahout 集成概述 Mahout 是一个用于构建可扩展机器学习应用程序的库,而 Hadoop 提供了一个强大的分布式计算平台。两者结合可以实现高效的大型数据集处理和分析。 #### 下载并准备环境 对于 Hadoop 版本的选择至关重要。由于 Mahout 0.10之前的版本仅支持 Hadoop 1.x系列[^3],因此如果要使用较新的功能,则需注意兼容性问题。建议按照官方发布的说明文档来获取合适的软件组合: - 访问 Apache 官方网站下载页面以获得稳定版 Hadoop 发行包[^2] ```bash wget http://hadoop.apache.org/releases.html#Download tar zxvf hadoop-1.2.1.tar.gz -C /usr/local/ ``` 同样地,也需要从 Apache Mahout 的官方网站找到对应版本进行安装: ```bash wget https://archive.apache.org/dist/mahout/0.9/apache-mahout-distribution-0.9.tar.gz tar zxvf apache-mahout-distribution-0.9.tar.gz -C /opt/ ``` #### 设置环境变量 为了让命令可以在任何地方执行,在 `.bashrc` 或者其他 shell profile 文件里添加如下路径设置语句: ```shell export MAHOUT_HOME=/opt/apache-0.9 export PATH=$PATH:$MAHOUT_HOME/bin source ~/.bashrc ``` #### 测试集群连接性和基本操作 完成上述步骤之后,应该验证本地计算机能否成功访问远程节点以及提交作业给 YARN 资源管理器。这一步骤通常涉及到 SSH 密钥配置、防火墙端口开放等问题。具体细节取决于实际部署情况,请参照相关资料自行调整网络参数直至能够正常通信为止。 #### 运行 KMeans 示例程序 当一切就绪后就可以尝试启动简单的聚类任务了。这里给出一段 Python脚本来展示如何利用 Mahout 实现K-Means算法,并将其应用于鸢尾花分类问题上: ```python from subprocess import call call(['mahout', 'kmeans', '--input', '/path/to/input/data', '--output', '/path/to/output/directory', '--clusters', '/path/to/clusters', '--distanceMeasure', 'euclidean', '--convergenceDelta', '0.5', '--maxIterations', '10']) ``` 以上代码片段展示了通过命令行接口调用 Mahout 工具来进行一次完整的 k-means 聚类过程。其中 `--input`, `--output`, 及其它选项都需要根据实际情况指定具体的文件位置和其他必要的参数值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值