Mahout学习总结
一、Mahout定义
①Mahout是一个算法库,集成了很多算法;
②Mahout是Apache SoftWare Foundation(ASF)旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序;
③Mahout包含许多实现,包括:聚类、分类、推荐过滤、频繁子项挖掘;
④通过Apache Hadoop库,Mahout可以有效地扩展到Hadoop集群;
二、Mahout的主要目标:
Mahout的主要目标是简历可伸缩的机器学习算法,这种可伸缩性是针对大规模的数据集而言的。
Apache Mahout的算法运行在Apache Hadoop平台下,通过Mapreduce模式实现。但是Mahout并非严格要求算法的实现基于Haoop平台,单个节点或非Hacoop平台也可以。
三、Mahout的特性:
①Taste CF。Taste是Sean Owen在SourceForge上发起的一个针对CF的开源项目,并在2008年被赠子Mahout;
②一些支持Map-Reduce的集群实现包括:K-Means,模糊K-Means、Canopy、Dirchlet和Mean-Shift;
③Distributed Naive Bayes和Complementary Naive Bayes分类实现:
④针对进化编程的分布式适用性功能;
⑤Matrix和矢量库。
四、Mahout包含的内容:
- 频繁子项挖掘模式:挖掘数据中频繁出现的项集。
- 聚类:将诸如文本、文档之类的教据分成局部相关的组。
- 分类:利用已经存在的分类文档训练分类器,对未分类的文档进行分类。
- 推荐引擎(协同过滤):获得用户的行为并从中发现用户可能喜欢的事物。
- 频繁子项挖掘:利用一个项集(查询记录或购物记录)去识别经常一起出现的项目。
五、Mahout被用于的场景:
1.推荐引擎
服务商或网站会根据用户过去的行为为用户推荐书籍、电影或文章等。
2.聚类
Google news使用聚类技术通过标题把新闻文章进行分组,从而按照逻辑线索来显示新闻,而并非给出所有新闻的原始列表。
3.分类
雅虎邮箱基于用户以前对正常邮件和垃圾邮件的报告,以及电子邮件自身的特征,来判别到来的消息是否是垃圾邮件。
六、在Mahout实现的机器学习算法:
|
算法类 |
算法名 |
中文名 |
|
分类算法 |
Logistic Regression |
逻辑回归 |
|
Bayesian |
贝叶斯 | |
|
SVM |
支持向量机 | |
|
Perception |
感知器算法 | |
|
Neural Network |
神经网络 | |
|
Random Forest |
随机森林 | |
|
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 Component 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自带的分类算法可以对应用进行分类。
2.协同过滤:获取用户的行为并对用户下一步的行为进行预测。
3.关联规则挖掘:分析不同对象的不同特征,找到其中的关联性。
4.聚类算法:找到各个对象之前的相似性,对不同对象进行划分操作。
Apache Mahout是一个开源机器学习库,专注于大规模数据集的算法实现,如聚类、分类、推荐过滤和频繁子项挖掘。它在Hadoop平台上运行,支持MapReduce,提供包括逻辑回归、贝叶斯、支持向量机等多种分类算法,以及K-Means、模糊K-Means等聚类算法。Mahout广泛应用于推荐系统、新闻聚类和垃圾邮件过滤等领域,助力开发智能应用程序。
17万+

被折叠的 条评论
为什么被折叠?



