Mahout简介
Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序
Mahout相关资源
- Mahout主页:http://mahout.apache.org/
- Mahout 最新版本0.8下载: http://mirrors.hust.edu.cn/apache/mahout/0.8/ 使用mahout-distribution-0.8.tar.gz可试跑,源码在mahout-distribution-0.8-src.tar.gz中
- Mahout 简要安装步骤:
如无需修改源代码,只是试用试跑,请无需安装maven(网上许多教程会有这个弯路,请跳过),具体可以参考以下教程
http://www.hadoopor.com/thread-983-1-1.html
如果需要能修改源代码并重新编译打包,需要安装maven,请参考如下图文教程:http://wenku.baidu.com/view/dbd15bd276a20029bd642d55.html
- Mahout 专业教程 : Mahout in action http://yunpan.taobao.com/share/link/R56BdLH5O
注: 出版时间2012年, 对应mahout版本0.5, 是目前mahout最新的书籍读物。目前只有英文版,但是翻了一下,里面词汇基本都是计算机基础词汇,且配图和源代码,是适合阅读的。
- IBM mahout简介: http://www.ibm.com/developerworks/cn/java/j-mahout/
注:中文版, 更新是时间为09年,但是里面对于mahout阐述较全面,推荐阅读,特别是最后的书籍清单,适合深入了解
Mahout模块详解
- Mahout模块详解
Mahout目前专注于推荐(RECOMMENDATIONS)、聚类(CLUSTERING)、分类(CLASSIFICATION)三大部分,具体事例可见Mahout In Action
推荐(RECOMMENDATIONS)
推荐算法介绍
http://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy2/index.html
Item Based Algothrim
https://cwiki.apache.org/confluence/display/MAHOUT/Itembased+Collaborative+Filtering
Collaborative Filtering using a parallel matrix factorization
https://cwiki.apache.org/confluence/display/MAHOUT/Collaborative+Filtering+with+ALS-WR
注:基于矩阵因子分解的方法,由于需要不断迭代,所以在mapreduce框架下效率会受影响
Non-distributed recommenders
https://cwiki.apache.org/confluence/display/MAHOUT/Recommender+Documentatio
注:mahout中也提供了推荐算法的非分布式的实现,其中有代号为”taste”的开源推荐引擎
分类(CLUSTERING)
Bayesian 贝叶斯分类
http://blog.echen.me/2011/08/22/introduction-to-latent-dirichlet-allocation/
注:其中同时实现了Naive Bayes和Complementary Naive
BayesRandom Forests 随机森林
https://cwiki.apache.org/confluence/display/MAHOUT/Random+Forests
注:在公司内部,GBDT(内部称treelink)有着广泛的引用,附介绍文章
http://www.searchtb.com/2010/12/an-introduction-to-treelink.html (tbsearch博客)
http://www.cnblogs.com/LeftNotEasy/archive/2011/03/07/random-forest-and-gbdt.html (介绍随机森林与GBDT的博客)
Logistic Regression(逻辑回归)
https://cwiki.apache.org/confluence/display/MAHOUT/Logistic+Regression
注:是用SGD(Stochastic Gradient Descent,随机梯度下降)的方法实现的
也可用liblinear: http://www.csie.ntu.edu.tw/~cjlin/liblinear/ (其中支持L1&L2 regularized logistic regression)
SVM(支持向量机)
目前mahout这个模块还在开发,尚未集成入发布包,如有需要,建议使用台大的libSVM包
libSVM:http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/
聚类(CLASSIFICATION)
聚类方法简述
http://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy3/
Canopy Clustering模块分析
http://www.cnblogs.com/vivounicorn/archive/2011/09/23/2186483.html (中文博客)
https://cwiki.apache.org/confluence/display/MAHOUT/Canopy+Clustering (英文文档)
Kmeans模块分析
http://www.cnblogs.com/vivounicorn/archive/2011/10/08/2201986.html (中文博客)
https://cwiki.apache.org/confluence/display/MAHOUT/K-Means+Clustering (英文文档)
Fuzz Kmeans
https://cwiki.apache.org/confluence/display/MAHOUT/Fuzzy+K-Means
Mean Shift Clustering
https://cwiki.apache.org/confluence/display/MAHOUT/Mean+Shift+Clustering
注:目前主要用于图像分割和跟踪等计算机视觉领域
Latent Dirichlet Allocation(LDA)
https://cwiki.apache.org/confluence/display/MAHOUT/Latent+Dirichlet+Allocation
注:经典方法,附论文英文原著论文 http://machinelearning.wustl.edu/mlpapers/paper_files/BleiNJ03.pdf (引用数:6829)
http://www.docin.com/p-413125834.html (基于LDA话题演化研究方法综述)
http://leyew.blog.51cto.com/5043877/860255 (中文博客学习笔记)
http://blog.echen.me/2011/08/22/introduction-to-latent-dirichlet-allocation/ (英文入门博客)
Pattern Mining 模式挖掘
Parallel Frequent Pattern Mining 并行频繁模式挖掘
https://cwiki.apache.org/confluence/display/MAHOUT/Parallel+Frequent+Pattern+Mining
论文http://wenku.baidu.com/view/9cce67ed172ded630b1cb615.html(在Query推荐中的应用)
Dimension reduction 降维
Singular Value Decomposition(SVD) 奇异值分解
https://cwiki.apache.org/confluence/display/MAHOUT/Dimensional+Reduction
SVD介绍: http://wenku.baidu.com/view/7f483a6b561252d380eb6ea6.html
Evolutionary Algorithms 进化算法
进化算法框架
进化算法介绍:
http://www.geatbx.com/docu/algindex.html
框架使用方法:
https://cwiki.apache.org/confluence/display/MAHOUT/Mahout.GA.Tutorial
注:目前mahout只是提供一套进化算法的并行化实现框架,但具体的进化算法,如遗传算法、模拟退火算法、蚁群算法等,还未集成到开发包中。
相关工具书
- 统计学习书籍
1. 统计学习基础 — 数据挖掘、推理与预测(中文版)
http://yunpan.taobao.com/share/link/R56BeLI6O
注:此书英文版每年都在更新,但是中文版只有2004年一版,而且网上纸质书早就脱销了,由于是统计学习基础,所以大多数经典内容还是可读的;
2. 统计学习基础 — 数据挖掘、推理与预测(英文版)(The Elements of Statistical Learning)
http://yunpan.taobao.com/share/link/D56BeLKYE
目前的最新版,第二版(09年)的的第10次印刷版本(13年)
可与中文版对照看
- 概率论与数理统计基础书籍
1. 浙大概率论与数理统计第三版
http://yunpan.taobao.com/share/link/U56BeLWBT
经典的教科书
2. 统计学完全教程(中文版)
http://yunpan.taobao.com/share/link/756BeLYAa
统计学的百科全书
- 数据挖掘概述书籍
1. 数据挖掘导论(中文版)
http://yunpan.taobao.com/share/link/O56BeLoPx
2. Data Mining.Concepts and Techniques.3Ed(英文版)
http://yunpan.taobao.com/share/link/256BeLopX
注:中文版还是2000年的老版,起不到参考作用,所以放了最新的英文版
- 统计学习在自然语言处理方面应用的书籍
1.统计自然语言处理基础(中文版)
http://yunpan.taobao.com/share/link/25VBpL7X
其它
更多更新可见wiki: http://searchwiki.taobao.ali.com/index.php/PbaseLearning/mahout
http://www.xiaoyaochong.net/wordpress/index.php/2013/10/12/mahout%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99%E6%95%B4%E7%90%86/
相关推荐
Apache Mahout是一个专注于机器学习领域的开源项目,由Apache Software Foundation维护。该项目提供了许多经典的机器学习算法的高效实现,如聚类、分类、协同过滤等。这些算法的应用范围非常广泛,可以帮助开发者...
- **数据预处理**:清洗和整理原始数据,使其适用于机器学习模型。 - **特征工程**:选择和构建有用的特征来提高模型性能。 **步骤:** 1. **收集数据**:获取股票价格历史数据。 2. **数据清洗**:去除缺失值、...
总之,这个基于Java+Mahout的图书推荐系统是一个很好的学习和实践案例,对于理解和应用推荐算法、熟悉Java编程以及了解大数据处理工具有着重要价值。通过深入研究源码,开发者不仅可以掌握推荐系统的实现,还能...
本资料整理旨在提供一个全面的大数据学习框架,帮助学习者理解和掌握大数据的核心技术和应用。 首先,我们要理解大数据的四大特性,通常被称为4V:Volume(大量)、Velocity(高速)、Variety(多样)和Value(价值...
本资料包“大数据学习笔记,学习路线,技术案例整理”是一个全面的大数据学习资源,旨在帮助初学者和进阶者系统地掌握大数据的核心技术和应用实践。 首先,我们来了解一下大数据的关键概念和技术栈。大数据通常有四...
在这个系统中,Mahout作为强大的机器学习库,提供了实现这种算法的工具和框架。 首先,我们要理解协同过滤的基本原理。协同过滤分为两种主要类型:用户-用户协同过滤和物品-物品协同过滤。在用户-用户协同过滤中,...
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全栈开发),有任何...收取的费用仅用于收集和整理资料耗费时间的酬劳
文章的作者通过个人学习笔记的方式整理了上述内容,反映了作者对机器学习各个方面的认识和理解。笔记中不仅涉及了理论知识,还包括了一些实践和应用,如使用Hadoop、Pig、Hive、Mahout和NoSQL等工具处理大数据和...
对于经验丰富的开发者,它可以帮助整理已有的知识体系,并发现新的学习方向。 在学习Hadoop家族的过程中,理解HDFS的存储机制、MapReduce的工作原理是基础,掌握Hive的查询语法和性能调优是提升工作效率的关键,...
本文是斯坦福大学《机器学习》课程的个人学习笔记,由学生JerryLead整理完成。笔记内容主要基于Andrew Ng教授的讲义和视频,同时参考了其他论文和讲义资料,并按照作者自己的学习思路总结而成。这份笔记对于初学者...
Andrew Ng教授的课程内容被详细地整理和记录下来,笔记中还涉及了其他文献和资料的研究成果。以下是对这些知识点的详细说明: 首先,笔记提到了机器学习的几种基本方法,包括线性回归、logistic回归和一般回归。...
5. 大数据挖掘与机器学习:学习使用Mahout、MLlib等库进行大数据挖掘,包括分类、聚类、关联规则挖掘等。了解基于Spark的机器学习流程,如特征工程、模型训练、验证和调优。 6. 大数据可视化:掌握使用Tableau、...
学习者在斯坦福大学的CS229机器学习课程中,会接触到这些核心的机器学习概念和技术,并通过个人的实践和笔记整理,加深对每种算法的理解。在学习过程中,参考教授的讲义和视频,并结合个人实践对理解的内容进行补充...
本实验室将探讨如何利用Apache Mahout这一基于Java的机器学习框架构建推荐系统。Apache Mahout是一个开源项目,旨在提供可扩展的、分布式机器学习算法,其中就包括协同过滤等推荐算法。 首先,我们要理解推荐系统的...
个人笔记整理出了这门课程的核心知识点,并以线性回归、logistic回归等概念作为起点,展现了机器学习的基本原理和应用。 笔记首先介绍了线性回归,这是机器学习中最基础的模型之一。线性回归用于预测连续变量,其...
这份技能整理涵盖了大数据架构师所需掌握的核心技术和工具,包括但不限于大数据处理平台、分布式存储、资源调度、机器学习、数据分析与数据仓库、消息队列、流式计算、编程语言、算法以及云计算服务。 1. 大数据...
Apache Mahout 是一个高度可扩展的机器学习库,支持多种数据挖掘算法。其中就包括了FP-Growth算法。以下是对提供的练习数据进行分析的例子: ##### 数据预处理 给定的数据格式为一系列数字,代表不同的商品ID。...
- **Apache Mahout:** 是一个用于创建可伸缩的机器学习算法的框架,支持分类、聚类、推荐系统等算法。 - **TensorFlow 和 PyTorch:** 是目前最流行的用于深度学习的开源机器学习框架,提供了丰富的API和工具,支持...
本压缩包"Java 开源项目集合.zip"汇聚了众多优秀的Java开源项目,其中包含了一个名为"awesome-java-master"的目录,这是一个广泛收集并整理的Java开源项目列表,为开发者提供了宝贵的参考资料。 首先,"awesome-...
比如Apache Mahout和MLlib都是在大数据环境下进行机器学习的库。它们的应用位置是在数据处理流程的下游,这些工具能够帮助我们从大量的数据中挖掘出有价值的信息和模式。 最后,数据可视化和应用是数据处理流程的...