1、大数据BIG DATA第四章大数据挖掘工具4.1Mahout4.2Spark MLlib4.3其他数据挖掘工具习题of4424.1 Mahout大数据配套PPT课件uMahout 简介定义:Apache Mahout 是一个由Java语言实现的开源的可扩展的机器学习算法库2008年之前 2010年以后 Apache Lucene开源搜索引擎的子项目 实现Lucene框架中的聚类以及分类算法 吸纳协调过滤项目Taste成为独立子项目发展历史 成为Apache顶级项目 实现聚类、分类和协同过滤等机器学习算法 既可以单机运行也可在Hadoop平台上运行目标:机器学习平台,提供类似R的DSL以支持线性
2、代数运算(如分布式向量计算)、大数据统计等基本功能驱象人of4434.1 Mahout大数据配套PPT课件u Mahout在各平台支持的机器学习算法算法单机MapReduceSparkH2O聚类算法Canopydeprecateddeprecatedk-meansxx模糊k-meansxx流k-meansxx谱聚类x分类算法逻辑回归x朴素贝叶斯xx随机森林x隐马尔可夫模型x多层感知器x协同过滤算法基于用户的协同过滤xx基于物品的协同过滤xxx基于ALS的矩阵分解xx基于ALS的矩阵分解(隐式反馈)xx加权矩阵分解x降维算法奇异值分解xxxxLanczosdeprecateddeprecated
3、随机SVDxxxxPCAxxxxQR分解xxxxof4444.1 Mahout大数据配套PPT课件1.下载Mahout安装包2.解压并安装Mahout3.启动并验证Mahout安装环境:Linux操作系统(CentOS 6.5)、Hadoop平台(Hadoop 2.5.1)镜像网站http:/ Mahout 安装4.1 Mahout大数据配套PPT课件K-means聚类算法基于Mahout命令运行k-means算法 基于MahoutAPI运行k-means算法基于多维输入数据运行k-means算法同一个簇中对象具有高相似度无监督学习算法Canopy、k-means、模糊k-means、流k-m
4、eans和谱聚类等都是聚类算法本节重点of4464.1.2 聚类算法4.1 Mahout大数据配套PPT课件u 基于Mahout命令运行k-means算法12个二维数据1 101 112 102 1110 110 2运行聚类算法(1.5,10.5)(10.5,1.5)(10.5,10.5)聚类中心坐标以上述3个坐标为中心,半径为(0.5,0.5),生成3个聚类,每个聚类4个成员3次迭代of4474.1 Mahout大数据配套PPT课件u 基于Mahout API运行k-means算法给出初始聚类中心1 1010 110 10调用Mahout API运行k-means聚类算法,指定Hadoop配
5、置信息、输入数据、初始聚类中心,迭代2次得到聚类结果of4484.1 Mahout大数据配套PPT课件u 基于多维输入数据运行k-means算法60维数据样本n 600条60维趋势数据(600行60列)n 表达了正常、循环、渐增、渐减、向上偏移和向下偏移6类趋势n 每类100条n 每类取一条做初始聚类中心n 运行KmeansDemo类n 将计算出的聚类中心数据导入到Excel文件6个聚类中心所代表的趋势曲线of4494.1 Mahout大数据配套PPT课件考察已被分类的样本数据,学习训练分类规则有监督学习算法进行输入数据的类别判定分类预测垃圾邮件检测of44104.1.3 分类算法4.1 Ma
6、hout大数据配套PPT课件u 逻辑回归算法Mahout下基于随机梯度下降(SGD)实现的逻辑回归(Logistic Regression)算法是一种二元分类算法,只能在单机上运行,适合分类算法的入门学习。可视化表达样本数据分类模型正确分类训练学习模型评估of44114.1 Mahout大数据配套PPT课件u 朴素贝叶斯算法新闻网页数据数据清洗训练分类模型新闻类别判定l 共53条测试数据l 正确分类51条l 未正确分类2条of44124.1 Mahout大数据配套PPT课件通过收集大量用户(协同)的喜好信息,以自动预测(过滤)用户感兴趣的商品协同过滤算法基于物品的协同过滤算法基于ALS的矩阵分
7、解算法计算物品相似性矩阵通过矩阵分解进行预测of44134.1.4 协同过滤算法4.1 Mahout大数据配套PPT课件u 基于物品的协同过滤算法物品1物品2物品3物品4用户1552用户2235用户353用户435物品1物品2物品3物品4物品10.250.660.5物品20.250.330.25物品30.660.330.25物品40.50.250.25物品1物品2物品3物品4用户15524.25用户223.335用户33.6754.143用户434.03.555用户评分矩阵物品相似性矩阵用户评分矩阵(补入预测评分)of44144.1 Mahout大数据配套PPT课件u 基于物品的协同过滤算法实
8、现代码public class ItemCFDemo extends Configured implements Tool public static void main(String args)throws Exception ToolRunner.run(new Configuration(),new ItemCFDemo(),args);Override public int run(String args)throws Exception Configuration conf=getConf();try FileSystem fs=FileSystem.get(conf);String
9、 dir=/itemcfdemo;if(!fs.exists(new Path(dir)System.err.println(Please make director/itemcfdemo);return 2;String input=dir+/input;if(!fs.exists(new Path(input)System.err.println(Please make director/itemcfdemo/input);return 2;String output=dir+/output;Path p=new Path(output);if(fs.exists(p)fs.delete(
10、p,true);String temp=dir+/temp;Path p2=new Path(temp);if(fs.exists(p2)fs.delete(p2,true);RecommenderJob recommenderJob=new RecommenderJob();recommenderJob.setConf(conf);recommenderJob.run(new String-input,input,-output,output,-tempDir,temp,-similarityClassname,TanimotoCoefficientSimilarity.class.getN
11、ame(),-numRecommendations,4);catch(Exception e)e.printStackTrace();return 0;of44154.1 Mahout大数据配套PPT课件u 基于ALS的矩阵分解算法特征维度1特征维度2特征维度3用户11.121.490.48用户21.31-0.520.59用户31.130.67-0.52用户41.390.050.45用户特征矩阵U特征维度1特征维度2特征维度3物品11.811.620.74物品22.661.71-1.08物品31.73-0.230.78物品43.16-0.240.90物品特征矩阵M物品1物品2物品3物品4用户1
12、4.7965.0091.9693.614用户21.9651.9582.8464.795用户32.7464.7131.3952.942用户42.9303.2972.7444.785预测评分矩阵A_k用户评分矩阵A用户评分矩阵U用户评分矩阵MA=UMT预测评分矩阵A_kof4416第四章大数据挖掘工具4.1Mahout4.2Spark MLlib4.3其他数据挖掘工具习题of44174.2 Spark MLlib大数据配套PPT课件离散型连续型有监督的机器学习分类逻辑回归支持向量机(SVM)朴素贝叶斯决策树随机森林梯度提升决策树(GBT)回归线性回归决策树随机森林梯度提升决策树(GBT)保序回归无
13、监督的机器学习聚类k-means高斯混合快速迭代聚类(PIC)隐含狄利克雷分布(LDA)二分k-means流k-means协同过滤、降维交替最小二乘(ALS)奇异值分解(SVD)主成分分析(PCA)MLlib支持的机器学习算法MLlibl 运行在Spark平台上专为在集群上并行运行而设计l 内存中更快地实现多次迭代,适用于大规模数据集of44184.2 Spark MLlib大数据配套PPT课件import org.apache.spark.mllib.clustering.KMeans,KMeansModelimport org.apache.spark.mllib.linalg.Vecto
14、rs/Load and parse the dataval data=sc.textFile(data/mllib/points.txt)val parsedData=data.map(s=Vectors.dense(s.split(s+).map(_.toDouble).cache()/Cluster the data into three classes using KMeansval k=3val numIterations=20val clusters=KMeans.train(parsedData,k,numIterations)for(c-clusters.clusterCente
15、rs)println(c)clusters.predict(Vectors.dense(10,10)/Evaluate clustering by computing Within Set Sum of Squared Errorsval WSSSE=puteCost(parsedData)println(Within Set Sum of Squared Errors=+WSSSE)1.5,10.510.5,1.510.5,10.52Within Set Sum of Squared Errors=6.000000000000057实现代码输出结果与Mahout下的k-means聚类应用相比
16、,无论在代码量、易用性及运行方式上,MLlib都具有明显的优势of44194.2.1 聚类算法4.2 Spark MLlib大数据配套PPT课件回归算法和分类算法都是有监督的学习,分类算法预测的结果是离散的类别,而回归算法预测的结果是连续的数值l 线性回归最常用的算法之一,使用输入值的线性组合来预测输出值l 类LinearRegressionWithSGDMLlib实现线性回归算法的常用类之一,基于随机梯度下降实现线性回归输入函数y=0.5*x1+0.2*x2输入数据weights:0.5000000000539042,0.1999999999989402,intercept:0.0train
17、ing Mean Squared Error=9.576567731363342E-20输出结果of44204.2.2 回归算法4.2 Spark MLlib大数据配套PPT课件0,1 0 00,2 0 00,3 0 00,4 0 01,0 1 01,0 2 01,0 3 01,0 4 02,0 0 12,0 0 22,0 0 32,0 0 4Scala代码加载训练数据文件解析每行数据训练模型预测分类Vector(0 0 9)s label is 2.0Accuracy:1.0输出程序of44214.2.3 分类算法4.2 Spark MLlib大数据配套PPT课件l 先加载了训练数据文件,然
18、后解析每行数据,并将其转换为Rating对象l 定义特征矩阵的维度rank和算法迭代次数numIterationsl 调用ALS的类方法train(),根据训练数据ratings学习出评分模型l 调用recommendProductsForUsers()向用户推荐指定个数的物品MLlib中支持的是基于模型的协同过滤,即交替最小二乘(ALS)算法依旧以4.1.4节中用户物品数据为例:of44224.2.4 协同过滤算法第四章大数据挖掘工具4.1Mahout4.2Spark MLlib4.3其他数据挖掘工具习题of44234.3 其他数据挖掘工具大数据配套PPT课件MahoutSpark MLli
19、bl 提供标准算法,无法满足个性化需求l 提供的并行化机器学习算法数量有限SystemMLGraphLabParameter ServerWEKAscikit-learn基于R语言的机器学习库H2O腾讯大规模主题模型训练系统Peacock与深度学习平台Mariana百度大规模机器学习框架ELF与机器学习云平台BML阿里数据挖掘平台DT PAI其他数据挖掘工具of44244.3 其他数据挖掘工具大数据配套PPT课件u SystemMLIBM Waston Research Center 和 IBM Almaden Research Center联合研发的大数据机器学习系统提供大量的监督和非监督的
20、机器学习算法所需要的线性代数原语,统计功能和ML指定结构,可更容易也更原生地表达ML算法具有较好的可编程性和易用性,用户不需要具备任何分布式系统的概念或编程经验,即可写出可扩展的机器学习算法of44254.3 其他数据挖掘工具大数据配套PPT课件u GraphLab卡内基梅隆大学的Select实验室开发的以顶点为计算单元的大规模图处理系统,是一个基于图模型抽象的可扩展的机器学习框架稀疏数据集迭代可收敛异步执行解决优点缺点高效处理大数据图像算法问题或者可归结为图问题的机器学习和数据挖掘问题提供的接口细节比较复杂,使用难度大of44264.3 其他数据挖掘工具大数据配套PPT课件u Paramet
21、er Server基于模型参数的抽象方法,即把所有机器学习算法抽象为对学习过程中一组模型参数的管理和控制,并提供对大规模场景下大量模型参数的有效管理和访问机器学习算法研究者、深度优化机器学习算法的数据分析程序员适用为大规模机器学习提供了非常灵活的模型参数调优和控制机制优点缺少对大规模机器学习时的数据及编程计算模型的高层抽象缺点of44274.3 其他数据挖掘工具大数据配套PPT课件u scikit-learn基于Python的机器学习库,建立在NumPy、SciPy和matplotlib基础之上,使用BSD开源许可证开发案例分类回归聚类数据降维模型选择数据预处理支持算法SVMK-MeansSV
22、RLassorandom forest主要模块of44284.3 其他数据挖掘工具大数据配套PPT课件u WEKA现今最完备的数据挖掘工具之一,数据挖掘和机器学习历史上的里程碑WEKA可视化GUI界面of44294.3 其他数据挖掘工具大数据配套PPT课件u 基于R语言的机器学习库R语言目前在数据分析应用领域最广为使用的数据分析、统计计算及制图的开源软件系统,提供了大量的专业模块和实用工具R中处理大数据RHadoopRHDFSRHBaseSparkRMapReduceof44304.3 其他数据挖掘工具大数据配套PPT课件u H2O服务于数据科学家和开发者的开源机器学习和深度学习的平台of44
23、314.3 其他数据挖掘工具大数据配套PPT课件u 腾讯大规模主题模型训练系统Peacock与深度学习平台MarianaPeacock:大规模LDA主题模型训练系统,用于语义理解、兴趣挖掘、用户拓展、QQ群推荐等大规模矩阵分解隐含语义学习Peacock应用于QQ群推荐Mariana应用于微信语音识别Mariana:大规模并行化机器学习处理,用于微信语音和图像识别的深度学习平台大规模样本数据处理Peacock多GPU的深度神经网络并行计算系统Mariana DNN多GPU的深度卷积神经网络并行计算系统Mariana CNNCPU集群的深度神经网络并行计算系统Mariana ClusterMari
24、anaof44324.3 其他数据挖掘工具大数据配套PPT课件u 百度大规模机器学习框架ELF与机器学习云平台BMLELF:大规模分布式机器学习框架,基于Parameter Server模型的通用化大规模机器学习系统BML:大规模并行化机器学习处理,用于微信语音和图像识别的深度学习平台ELF(Essential Learning Framework)吸收了Hadoop、Spark和MPI等大数据平台的优点,用类似于Spark的全内存DAG计算引擎,可基于数据流的编程模式,通过高度抽象的编程接口,让用户方便地完成各种机器学习算法的并行化设计和快速计算BML(Baidu Machine Learn
25、ing)支持数据预处理算法、分类算法、聚类算法、深度学习等20多种机器学习算法,通过分布和并行化计算实现优异的计算性能,承载百度公司如网页搜索、百度推广(凤巢、网盟CTR预估)、百度地图、百度翻译等业务应用4.3 其他数据挖掘工具大数据配套PPT课件u 阿里数据挖掘平台DT PAIDT PAI基于阿里云大数据处理平台ODPS构建,集成了阿里巴巴核心智能算法库,包括特征工程、数据探查与统计、大规模机器学习、深度学习,以及阿里在文本、图像和语音处理方面的数据技术数据分析挖掘用户行为预测行业走势预测图形化编程1.简述常用机器学习系统和大数据挖掘工具有哪些?2.安装好Mahout环境后,演示Mahou
26、t操作实例?3.Mahout的适用场合与特点有哪些?5.Spark MLlib的适用场合与特点有哪些?6.简述SystemML的体系结构。7.简述GraphLab的体系结构。8.简述Parameter Server的工作原理。9.简述scikit-learn的主要模块及开发案例。10.简述WEKA的工作原理。11.基于R语言的机器学习库有哪些?12.简述H2O机器学习系统的主要功能。习题:感谢聆听46凡事不要说我不会或不可能,因为你根本还没有去做!47成功不是靠梦想和希望,而是靠努力和实践48只有在天空最暗的时候,才可以看到天上的星星49上帝说:你要什么便取什么,但是要付出相当的代价50现在站
27、在什么地方不重要,重要的是你往什么方向移动。51宁可辛苦一阵子,不要苦一辈子52为成功找方法,不为失败找借口53不断反思自己的弱点,是让自己获得更好成功的优良习惯。54垃圾桶哲学:别人不要做的事,我拣来做!55不一定要做最大的,但要做最好的56死的方式由上帝决定,活的方式由自己决定!57成功是动词,不是名词!28、年轻是我们拼搏的筹码,不是供我们挥霍的资本。59、世界上最不能等待的事情就是孝敬父母。60、身体发肤,受之父母,不敢毁伤,孝之始也;立身行道,扬名於后世,以显父母,孝之终也。孝经61、不积跬步,无以致千里;不积小流,无以成江海。荀子劝学篇62、孩子:请高看自己一眼,你是最棒的!63、
28、路虽远行则将至,事虽难做则必成!64、活鱼会逆水而上,死鱼才会随波逐流。65、怕苦的人苦一辈子,不怕苦的人苦一阵子。66、有价值的人不是看你能摆平多少人,而是看你能帮助多少人。67、不可能的事是想出来的,可能的事是做出来的。68、找不到路不是没有路,路在脚下。69、幸福源自积德,福报来自行善。70、盲目的恋爱以微笑开始,以泪滴告终。71、真正值钱的是分文不用的甜甜的微笑。72、前面是堵墙,用微笑面对,就变成一座桥。73、自尊,伟大的人格力量;自爱,维护名誉的金盾。74、今天学习不努力,明天努力找工作。75、懂得回报爱,是迈向成熟的第一步。76、读懂责任,读懂使命,读懂感恩方为懂事。77、不要只会吃奶,要学会吃干粮,尤其是粗茶淡饭。78、技艺创造价值,本领改变命运。79、凭本领潇洒就业,靠技艺稳拿高薪。80、为寻找出路走进校门,为创造生活奔向社会。81、我不是来龙飞享福的,但,我是为幸福而来龙飞的!82、校兴我荣,校衰我耻。83、今天我以学校为荣,明天学校以我为荣。84、不想当老板的学生不是好学生。85、志存高远虽励志,脚踏实地才是金。86、时刻牢记父母的血汗钱来自不易,永远不忘父母的养育之恩需要报答。87、讲孝道读经典培养好人,传知识授技艺打造能人。88、知技并重,德行为先。89、生活的理想,就是为了理想的生活。张闻天90、贫不足羞,可羞是贫而无志。吕坤