《Hadoop数据挖掘工具Mahout.ppt》由会员分享,可在线阅读,更多相关《Hadoop数据挖掘工具Mahout.ppt(33页珍藏版)》请在三一办公上搜索。
1、Hadoop数据挖掘工具Mahout,Mahout简介 数据挖掘基础,课程目标,Mahout,数据金字塔,数据统计分析,数据挖掘,数据挖掘是从大量数据中提取或“挖掘”知识数据挖掘思想来源:假设检验,模式识别,人工智能,机器学习数据挖掘涉及多学科技术的集成,包括数据库技术、统计、机器学习、高性能计算、模式识别、神经网络、数据可视化、信息提取、图象与信号处理和空间数据分析,数据挖掘系统的组成,数据库、数据仓库、或其它信息库数据库或数据仓库服务器知识库数据挖掘引擎模式评估模块图形用户界面,数据挖掘常用方法,数据挖掘任务可以分两类:描述和预测特征分析从数据库中的一组数据中提取出关于这些数据的特征式,这
2、些特征式表达了该数据集的总体特征关联规则描述数据库中数据项之间所存在的关系的规则变化和偏差分析偏差分析是探测数据现状、历史记录或标准之间的显著变化和偏离偏差包括很大一类潜在有趣的知识,如分类中的反常实例,模式的例外,观察结果对期望的偏差等分类和预测回归分析聚类,数据挖掘常用方法 数据分析工具 Mahout支持的算法,课程目标,回归分析,回归分析方法反映的是事务数据库中属性值在时间上的特征步骤:确定变量-建立预测模型-进行相关分析-计算预测误差-确定预测值,分类器,找出数据库中一组数据对象的共同特点并按照分类模式将其划分为不同的类分类预测的方法训练:训练集特征选取训练分类器分类:新样本特征选取分
3、类判定常用算法:决策树、KNN法、SVM法、VSM法、Bayes法、神经网络,聚类,把一组数据按照相似性和差异性分为几个类别常见算法:K-means聚类,K-medoid聚类、GMM、层次聚类等,聚类,GMM将k个高斯模型混合在一起,每个点出现的概率是几个高斯混合的结果,层次聚类,假设有N个待聚类的样本,对于层次聚类来说,基本步骤就是:1、(初始化)把每个样本归为一类,计算每两个类之间的距离,也就是样本与样本之间的相似度2、寻找各个类之间最近的两个类,把他们归为一类(这样类的总数就少了一个)3、重新计算新生成的这个类与各个旧类之间的相似度4、重复2和3直到所有样本点都归为一类,结束整个聚类过程
4、其实是建立了一棵树,在建立的过程中,可以通过在第二步上设置一个阈值,当最近的两个类的距离大于这个阈值,则认为迭代可以终止。,常用数据挖掘算法分类,数据分析工具 常见算法的Map-Reduce化 Mahout的起源和特点,课程目标,频繁模式挖掘,数据分析工具,常用传统数据分析工具排行,传统数据分析工具的困境,R,SAS,SPSS等典型应用场景为实验室工具处理数据量受限于内存,因此无法处理海量数据使用Oracle数据库等处理海量数据,但缺乏有效快速专业的分析功能可以采用抽样等方法,但有局限性,比如对于聚类,推荐系统则无法使用抽样解决方向:Hadoop集群和Map-Reduce并行计算,常见算法的M
5、ap-Reduce化,常见算法的Map-Reduce化,Mahout起源,Apache Mahout起源于2008年,当时是Apache Lucene的子项目使用Hadoop库,可以将其功能有效地扩展到Apache Hadoop云平台Apache Lucene是一个著名的开源搜索引擎,实现了先进的信息搜索、文本挖掘功能一些Apache Lucene的开发者最终转而开发机器学习算法,这些算法也就形成了最初的Apache MahoutMahout不久又吸收了名为Taste的开源协同过滤算法的项目2010年4月Apache Mahout最终成为Apache的顶级项目,Mahout特点,Mahout的
6、主要母的是实现针对大规模数据集的可伸缩的机器学习算法(就是算法的M-R化)Mahout的算法运行在Hadoop平台下,通过MapReduce模式实现。但并不严格要求算法的实现基于Hadoop平台,单个节点或非Hadoop平台也可以目标是帮助开发人员快速建立具有机器智能的应用程序目前比较成熟和活跃的主要包括聚类分类推荐引擎频繁项集的挖掘,Mahout算法集,Apache Mahout优点 Mahout安装 Mahout测试,课程目标,Apache Mahout优点,技术社区活跃良好的扩展性和容错性文档化好,实例丰富100%源代码开源易于使用,Mahout安装,下载:,上传并解压,Mahout安装
7、,环境变量配置,修改.bashrc,添加如下内容:,使配置生效$source.bashrc几个重要的环境变量JAVA_HOMEMAHOUT_JAVA_HOMEHADOOP_CONF_DIRMAHOUT_LOCALMAHOUT_CONF_DIRMAHOUT_HEAPSIZE,Mahout安装,验证安装,Mahout测试,下载测试数据$wget 启动hadoop集群$start-dfs.sh$start-mapred.sh上传测试数据到HDFS$hadoop fs-mkdir testdata$hadoop fs-put synthetic_control.data testdata,Mahout测试,运行k-means算法$mahout org.apache.mahout.clustering.syntheticcontrol.kmeans.Job启动12个MapReduce Job任务,Thanks,