本文主要是介绍Mahout学习总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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.聚类算法:找到各个对象之前的相似性,对不同对象进行划分操作。
这篇关于Mahout学习总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!