第四章大数据挖掘工具ppt课件.pptx
,全国高校标准教材云计算姊妹篇,剖析大数据核心技术和实战应用,大数据,刘鹏主编张燕张重生张志立 副主编,BIG DATA,刘 鹏,全国高校标准教材云计算姊妹篇,剖析大数据核心技术和实战应用,习题,of,44,3,4.1 Mahout,大数据配套PPT课件,Mahout 简介,定义:Apache Mahout 是一个由Java语言实现的开源的可扩展的机器学习算法库,2008年之前,2010年以后,Apache Lucene开源搜索引擎的子项目 实现Lucene框架中的聚类以及分类算法 吸纳协调过滤项目Taste成为独立子项目,发展历史,成为Apache顶级项目 实现聚类、分类和协同过滤等机器学习算法 既可以单机运行也可在Hadoop平台上运行,目标:机器学习平台,提供类似R的DSL以支持线性代数运算(如分布式向量计算)、大数据统计等基本功能,驱象人,of,44,4,4.1 Mahout,大数据配套PPT课件,Mahout在各平台支持的机器学习算法,of,44,5,4.1 Mahout,大数据配套PPT课件,1.下载Mahout安装包,2. 解压并安装Mahout,3. 启动并验证Mahout,安装环境:Linux操作系统(CentOS 6.5 )、 Hadoop平台(Hadoop 2.5.1),镜像网站http:/,of,44,6,4.1.1 Mahout 安装,4.1 Mahout,大数据配套PPT课件,同一个簇中对象具有高相似度,无监督学习算法,Canopy、k-means、模糊k-means、流k-means和谱聚类等都是聚类算法,本节重点,of,44,7,4.1.2 聚类算法,4.1 Mahout,大数据配套PPT课件,基于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次迭代,of,44,8,4.1 Mahout,大数据配套PPT课件,基于Mahout API运行k-means算法,给出初始聚类中心,1 1010 110 10,调用Mahout API运行k-means聚类算法,指定Hadoop配置信息、输入数据、初始聚类中心,迭代2次得到聚类结果,of,44,9,4.1 Mahout,大数据配套PPT课件,基于多维输入数据运行k-means算法,60维数据样本,600条60维趋势数据(600行60列)表达了正常、循环、渐增、渐减、向上偏移和向下偏移6类趋势每类100条,每类取一条做初始聚类中心运行KmeansDemo类将计算出的聚类中心数据导入到Excel文件,6个聚类中心所代表的趋势曲线,of,44,10,4.1 Mahout,大数据配套PPT课件,考察已被分类的样本数据,学习训练分类规则,有监督学习算法,进行输入数据的类别判定,分类预测,垃圾邮件检测,of,44,11,4.1.3 分类算法,4.1 Mahout,大数据配套PPT课件,逻辑回归算法,Mahout下基于随机梯度下降(SGD)实现的逻辑回归(Logistic Regression)算法是一种二元分类算法,只能在单机上运行,适合分类算法的入门学习。,可视化表达,训练学习,模型评估,of,44,12,4.1 Mahout,大数据配套PPT课件,朴素贝叶斯算法,新闻网页数据,数据清洗,训练分类模型,新闻类别判定,共53条测试数据,正确分类51条,未正确分类2条,of,44,13,4.1 Mahout,大数据配套PPT课件,通过收集大量用户(协同)的喜好信息,以自动预测(过滤)用户感兴趣的商品,协同过滤算法,基于物品的协同过滤算法,基于ALS的矩阵分解算法,计算物品相似性矩阵,通过矩阵分解进行预测,of,44,14,4.1.4 协同过滤算法,4.1 Mahout,大数据配套PPT课件,基于物品的协同过滤算法,用户评分矩阵,物品相似性矩阵,用户评分矩阵(补入预测评分),of,44,15,4.1 Mahout,大数据配套PPT课件,基于物品的协同过滤算法实现代码,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 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(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.getName(), -numRecommendations, 4); catch (Exception e) e.printStackTrace(); return 0; ,of,44,16,4.1 Mahout,大数据配套PPT课件,基于ALS的矩阵分解算法,用户特征矩阵U,物品特征矩阵M,预测评分矩阵A_k,用户评分矩阵A,用户评分矩阵U,用户评分矩阵M,A=UMT,预测评分矩阵A_k,of,44,17,全国高校标准教材云计算姊妹篇,剖析大数据核心技术和实战应用,习题,of,44,18,4.2 Spark MLlib,大数据配套PPT课件,MLlib支持的机器学习算法,MLlib,运行在Spark平台上专为在集群上并行运行而设计,内存中更快地实现多次迭代,适用于大规模数据集,of,44,19,4.2 Spark MLlib,大数据配套PPT课件,import org.apache.spark.mllib.clustering.KMeans, KMeansModelimport org.apache.spark.mllib.linalg.Vectors/ 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.clusterCenters) 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聚类应用相比,无论在代码量、易用性及运行方式上,MLlib都具有明显的优势,of,44,20,4.2.1 聚类算法,4.2 Spark MLlib,大数据配套PPT课件,回归算法和分类算法都是有监督的学习,分类算法预测的结果是离散的类别,而回归算法预测的结果是连续的数值,线性回归最常用的算法之一,使用输入值的线性组合来预测输出值类LinearRegressionWithSGDMLlib实现线性回归算法的常用类之一,基于随机梯度下降实现线性回归,输入函数,y=0.5*x1+0.2*x2,输入数据,weights: 0.5000000000539042,0.1999999999989402, intercept:0.0training Mean Squared Error = 9.576567731363342E-20,输出结果,of,44,21,4.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 4,Scala代码,加载训练数据文件,解析每行数据,训练模型,预测分类,Vector(0 0 9) s label is 2.0Accuracy: 1.0,输出程序,of,44,22,4.2.3 分类算法,4.2 Spark MLlib,大数据配套PPT课件,先加载了训练数据文件,然后解析每行数据,并将其转换为Rating对象定义特征矩阵的维度rank和算法迭代次数numIterations调用ALS的类方法train(),根据训练数据ratings学习出评分模型调用recommendProductsForUsers()向用户推荐指定个数的物品,MLlib中支持的是基于模型的协同过滤,即交替最小二乘(ALS)算法,依旧以4.1.4节中用户物品数据为例:,of,44,23,4.2.4 协同过滤算法,全国高校标准教材云计算姊妹篇,剖析大数据核心技术和实战应用,习题,of,44,24,4.3 其他数据挖掘工具,大数据配套PPT课件,MahoutSpark MLlib,提供标准算法,无法满足个性化需求,提供的并行化机器学习算法数量有限,SystemML,GraphLab,Parameter Server,WEKA,scikit-learn,基于R语言的机器学习库,H2O,腾讯大规模主题模型训练系统Peacock与深度学习平台Mariana,百度大规模机器学习框架ELF与机器学习云平台BML,阿里数据挖掘平台DT PAI,其他数据挖掘工具,of,44,25,4.3 其他数据挖掘工具,大数据配套PPT课件,SystemML,IBM Waston Research Center 和 IBM Almaden Research Center联合研发的大数据机器学习系统,提供大量的监督和非监督的机器学习算法所需要的线性代数原语,统计功能和ML指定结构,可更容易也更原生地表达ML算法,具有较好的可编程性和易用性,用户不需要具备任何分布式系统的概念或编程经验,即可写出可扩展的机器学习算法,of,44,26,4.3 其他数据挖掘工具,大数据配套PPT课件,GraphLab,卡内基梅隆大学的Select实验室开发的以顶点为计算单元的大规模图处理系统,是一个基于图模型抽象的可扩展的机器学习框架,稀疏数据集,迭代可收敛,异步执行,解决,优点,缺点,高效处理大数据图像算法问题或者可归结为图问题的机器学习和数据挖掘问题,提供的接口细节比较复杂,使用难度大,of,44,27,4.3 其他数据挖掘工具,大数据配套PPT课件,Parameter Server,基于模型参数的抽象方法,即把所有机器学习算法抽象为对学习过程中一组模型参数的管理和控制,并提供对大规模场景下大量模型参数的有效管理和访问,机器学习算法研究者、深度优化机器学习算法的数据分析程序员,适用,为大规模机器学习提供了非常灵活的模型参数调优和控制机制,优点,缺少对大规模机器学习时的数据及编程计算模型的高层抽象,缺点,of,44,28,4.3 其他数据挖掘工具,大数据配套PPT课件,scikit-learn,基于Python的机器学习库,建立在NumPy、SciPy和matplotlib基础之上,使用BSD开源许可证,开发案例,分类,回归,聚类,数据降维,模型选择,数据预处理,支持算法,SVM,K-Means,SVR,Lasso,random forest,主要模块,of,44,29,4.3 其他数据挖掘工具,大数据配套PPT课件,WEKA,现今最完备的数据挖掘工具之一,数据挖掘和机器学习历史上的里程碑,WEKA可视化GUI界面,of,44,30,4.3 其他数据挖掘工具,大数据配套PPT课件,基于R语言的机器学习库,R语言目前在数据分析应用领域最广为使用的数据分析、统计计算及制图的开源软件系统,提供了大量的专业模块和实用工具,R语言,R中处理大数据,RHadoop,RHDFS,RHBase,SparkR,MapReduce,of,44,31,4.3 其他数据挖掘工具,大数据配套PPT课件,H2O,服务于数据科学家和开发者的开源机器学习和深度学习的平台,of,44,32,4.3 其他数据挖掘工具,大数据配套PPT课件,腾讯大规模主题模型训练系统Peacock与深度学习平台Mariana,Peacock:大规模LDA主题模型训练系统,用于语义理解、兴趣挖掘、用户拓展、QQ群推荐等,大规模矩阵分解,隐含语义学习,Peacock应用于QQ群推荐,Mariana应用于微信语音识别,Mariana:大规模并行化机器学习处理,用于微信语音和图像识别的深度学习平台,大规模样本数据处理,Peacock,多GPU的深度神经网络并行计算系统Mariana DNN,多GPU的深度卷积神经网络并行计算系统Mariana CNN,CPU集群的深度神经网络并行计算系统Mariana Cluster,Mariana,of,44,33,4.3 其他数据挖掘工具,大数据配套PPT课件,百度大规模机器学习框架ELF与机器学习云平台BML,ELF:大规模分布式机器学习框架,基于Parameter Server模型的通用化大规模机器学习系统,BML:大规模并行化机器学习处理,用于微信语音和图像识别的深度学习平台,ELF(Essential Learning Framework),吸收了Hadoop、Spark和MPI等大数据平台的优点,用类似于Spark的全内存DAG计算引擎,可基于数据流的编程模式,通过高度抽象的编程接口,让用户方便地完成各种机器学习算法的并行化设计和快速计算,BML(Baidu Machine Learning),支持数据预处理算法、分类算法、聚类算法、深度学习等20多种机器学习算法,通过分布和并行化计算实现优异的计算性能,承载百度公司如网页搜索、百度推广(凤巢、网盟CTR预估)、百度地图、百度翻译等业务应用,4.3 其他数据挖掘工具,大数据配套PPT课件,阿里数据挖掘平台DT PAI,DT PAI基于阿里云大数据处理平台ODPS构建,集成了阿里巴巴核心智能算法库,包括特征工程、数据探查与统计、大规模机器学习、深度学习,以及阿里在文本、图像和语音处理方面的数据技术,数据分析挖掘,用户行为预测,行业走势预测,图形化编程,1.简述常用机器学习系统和大数据挖掘工具有哪些?2.安装好Mahout环境后,演示Mahout操作实例?3.Mahout的适用场合与特点有哪些?5. Spark MLlib的适用场合与特点有哪些?6.简述SystemML的体系结构。7.简述GraphLab的体系结构。8.简述Parameter Server的工作原理。9.简述scikit-learn的主要模块及开发案例。10.简述WEKA的工作原理。11.基于R语言的机器学习库有哪些?12.简述H2O机器学习系统的主要功能。,习题:,大数据实验平台:,提供Hadoop、HBase、Hive、Spark、Storm等大数据集群实验环境和快速搭建服务从入门到实战,帮助用户构建大数据课程和实训体系提供配套教程、课件和视频,大数据资料和交流中心,云计算资料和交流中心,BDRack大数据实验一体机,虚拟出百套集群,并行开展大数据实验预装各种流行云计算和大数据平台提供配套实验教程、课件、PPT和培训,刘鹏看未来,云计算头条,云创大数据,中国大数据,微信号: chinacloudnj,微信号: cstorbigdata,资源丰富、分析深入、更新及时的云计算知识共享平台。,微信号:lpoutlook,微信号: cStor_cn,国内大数据企业。提供云存储、云数据库、云视频、云传输产品和解决方案。,眼光决定成败,与刘鹏教授看未来。刘鹏,清华博士,云计算作者。,分享大数据技术,剖析大数据案例,讨论大数据话题。,感谢聆听,