《大数据挖掘及应用》学习笔记。
第1章 大数据挖掘及应用概论
数据挖掘是数据分析的提升。
1.1 大数据智能分析处理的普及和应用
1.1.1 云计算(cloud computing)
云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器、存储、应用软件、服务),这些资源能够被快捷提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。
1.1.2 大数据(big data)
或称巨量数据、海量数据、大资料,指的是所涉及的数据量规模巨大到无法通过人工或者计算机在合理的时间内达到截取、管理、处理并整理成为人类所能解读的形式的信息。
1.2 大数据的发展及挑战
1.2.1 大数据的发展催生三元空间世界
一元:物理空间
二元:社会空间
三元:数据空间
何为5V:
velocity—实时性
variety—多样性
value—价值大
veracity—真实性
volume—体量大
具体表现在数据量巨大、种类繁多、变化速度快、价值密度低(处理前)、对准时性要求高等方面。
1.2.2 大数据智能分析处理面临的挑战
-1. 系统平台方面
- 大数据处理与硬件协同
- 大数据集成
- 大数据隐私
- 大数据能耗
- 大数据管理
-2. 分析处理方面
- 大数据质量
- 大数据实时性
- 大数据采样
- 大数据不一致性
- 大数据超高维性
- 大数据不确定性
1.3 数据挖掘概述
1.3.1 基本步骤:
前期准备:定义目标、获取数据、数据探索
- 1.数据清理
- 2.数据集成
- 3.数据选择
- 4.数据变换
- 5.数据挖掘
- 6.模式评估
- 7.知识表示
1.3.2 数据挖掘的功能
数据挖掘分为描述性任务和预测性任务。
描述性任务:
- 聚类:把数据对象划分成子集(分成差异明显的群组)。
- 关联分析:找出数据中值的关联和相关性。
- 数据总结:对数据进行浓缩,给出紧凑描述。
- 偏差检测:寻找观测结果与参照值之间有意义的差别,对少数极端的分析对象进行描述和解释原因。
预测性任务:
- 分类:提取刻画重要数据类的模型。
- 预测:把握分析对象发展的规律,对未来的趋势做出预见。
1.3.3 数据挖掘运用的技术
- 统计学
- 机器学习
- 数据库和数据仓库
- 信息检索
- 可视化
1.4 大数据挖掘的计算框架
1.4.1 大数据挖掘计算框架(主流架构和核心组件)
目前,在大数据处理领域形成了以Hadoop、Spark等为代表等大数据生态圈。
Hadoop的框架最核心的设计就是HDFS和MapReduce。HDFS为海量的数据提供存储,而MapReduce为海量的数据提供计算。Hadoop可以在相同的数据上同时运行不同类型的分析工作。
Spark提供的基于RDD的一体化解决方案,将MapReduce、Streaming、SQL、Machine Learning、 Graph Processing等模型统一到一个平台上,以一致的API公开,并提供相同的部署方案,使得Spark的工程应用领域变得更加广泛。
MapReduce和Spark计算框架简单对比:
1.4.2 大数据挖掘处理基本流程
(数据挖掘过程与工具结合)
(1)数据采集:
接收来自客服端(Web、App或者传感器形式等)的数据,在采集端部署大量数据库才能支撑。代表工具:Flume、Kafka等。
(2)数据存储:
通过扩展和封装Hadoop来实现对互联网大数据存储、分析。代表工具:HDFS文件系统、Hbase列数据库等。
(3)ETL:
将来自前端的数据导入到一个集中到大型数据库,或者分布式存储集群,并且在此基础上做一些简单的清洗和预处理工作。代表工具:Sqoop、Data X等,可以满足不同平台的数据清洗、导入导出等需求。
(4)数据计算
利用分布式数据库或者分布式计算集群来对存储于其内的海量数据进行普通的分析和分类汇总等。代表工具:MapReduce分布式并行计算框架、Spark内存计算模型、Impala大数据交互查询分析框架等。
(5)数据分析与挖掘
在现有数据上面进行基于算法等计算,从而起到预测的效果,实现一些高级别数据分析的需求。代表工具:Mahout、MLlib等数据挖掘和机器学习工具。
(6)数据可视化
解读数据之间的关系,清晰有效地传达并且沟通数据信息。数据可视化已经融入到大数据分析处理的全过程中,形成了基于数据特点、面向数据处理过程、针对数据分析结果等多方面的大数据可是分析理论。代表工具或组件:D3.js、ECharts等。