zoukankan      html  css  js  c++  java
  • 《数据挖掘概念与技术》学习笔记

    1.Chapter1 引论:
    (1) OLTP 和 OLAP 概念:
    OLTP(on-line transaction processing) 联机事物处理,就是我们常常说的关系数据库的主要应用,主要是主要的、日常的事务处理,比如银行交易。比如:mysql
    OLAP(on-line analytical processing) 联机分析处理,是数据仓库系统的主要应用,支持复杂的分析操作,側重决策支持,而且提供直观易懂的查询结果。比如:hive+hdfs。 

    (2) 数据仓库概念:
    数据仓库是一个面向主题的(subject-oriented)、集成的(integrated)、时变的(time-variant)、非易失的(nonvolatile)数据集合,支持管理者的决策过程。
    ps:上面是比較官网的定义,更白话一点就是:数据仓库是一种多个异构数据源在单个网站以统一的模式组织的存储,以支持管理决策。

    (3) 数据挖掘的步骤(KDD):
    数据清理(清除噪声和删除不一致数据)。
    数据集成(多种数据源能够组合在一起)。
    数据选择(从数据库中提取和分析任务相关的数据)。
    数据变换(通过汇总或聚集操作,把数据变换和统一成适合数据挖掘的形式。
    数据挖掘(基本步骤,使用智能方法提取数据模式)。
    数据评估(依据某种兴趣度度量,识别代表知识的真正有趣的模式)。
    知识表示(使用可视化和知识表示技术,向用户提供挖掘的知识)。

    ps:数据挖掘是从大量数据中挖掘有趣模式和知识的过程,数据源包含数据库、数据仓库、Web、其它信息存储库或动态地流入系统的数据。

    (4) 离群点分析:
    数据集中可能包括一些数据对象,他们与数据的一般行为或模型不一致。这些数据对象是离群点(outlier)。大部分数据挖掘方法都将离群点视为噪声或异常而丢弃。

    (5) 多维数据挖掘(又称探索式数据挖掘)把数据挖掘的核心技术和OLAP的多维分析结合在一起。他在不同的抽象层的多维(属性)组合中搜索有趣的模式,从而探索多维数据空间。

    2.Chapter2 认识数据:
    (1)各种数的定义:
    众数:众数是数据集中心的一种中心度量趋势,数据集的众数是集合中出现最频繁的的值。
    中列数:中列数也能够用来评估数值数据的中心趋势。中列数是数据集中的最大和最小值的平均值。
    中位数:对于倾斜(非对称)数据,数据中心的最好度量是中位数。中位数是有序数值的中间值。它把数据较高的一半和较低的一半分开的值。
    分位数:分位数依据其数据列等分的形式不同能够分为中位数、四分位数、十分位数、百分位数等等。四分位数作为分位数的一种形式,在统计中有十分重要的意义和作用。人们常常会将数据划分为4个部分,每一个部分大约包括1/4和25%的数据项。这样的划分的临界点即为四分位数。他们定义例如以下:
    Q1=第一个四分位数,即第25百分位数。
    Q2=第二个四分位数,即第50百分位数。
    Q3=第三个四分位数,即第75百分位数。

    (2)距离:
    欧式距离:欧式距离(Euclidean distance)也称欧几里得距离,他是一个通常採用的距离定义,他是在m维空间中两个点之间的真实距离。
    定义公式例如以下:d=sqrt( ∑(xi1-xi2)^2 ) 这里i=1,2..n

    曼哈顿距离(计算两个街区之间的距离):
    距离公式为:|x1-y1|+|x2-y2|+|x3-y3|+|x4-y4|+……+|xn-yn|(两点的坐标分别为(x1,x2,……,xn)、(y1,y2,……,yn))

    闵可夫斯基距离:其是欧几里得距离和曼哈顿距离的推广。 公式定义为: 

    3.chapter3 数据预处理:
    (1) 恒量数据质量的几个要素:准确性、完整性、一致性、时效性、可信性、可解释性。
    (2) 数据预处理分为例如以下几个步骤:数据清理、数据集成、数据规约、数据交换。
    数据清理:数据清理是通过填写缺失的值,光滑噪声数据,识别和删除离群点并解决不一致性来“清理”数据。
    数据集成:整合多个数据库、数据立方体或文件,即数据集成。
    数据规约(data reduction):得到数据集的简化表示,它小的多,但可以产生相同(或差不多的)分析结果。数据规约策略包含维规约和数值规约。在维规约中,使用数据编码方案,以便得到数据的简化或“压缩”表示。比如数据数据压缩技术(小波变化或主成分分析)。在数值规约中,使用參数模型(比如,回归和对数线性模型)或非參数模型(比如,直方图、聚类、抽样或数据聚集),用较小的表示代替数据。
    (3)缺失值处理策略:
    忽略缺失值、人工填写缺失值、使用一个全局常量填充缺失值、使用属性的中心度量(如均值或中位数)、使用与给定元祖属同一类的全部样本的属性均值或中位数、使用最可能的值填充缺失值。
    (4)数据变换策略:
    光滑(smoothing):去掉数据中的噪声。这类技术包含分箱、回归、和聚类。
    属性构造:能够由给定的属性构造新的属性并加入到属性集中,以帮助挖掘过程。
    聚集:对数据进行汇总或聚集。比如:能够聚集日销售数据,计算月销售或年销售数据,通常,这一步用来为多个抽象层的数据分析构造数据立方体。
    规范化:把属性数据按比例缩放,使之落入一个特定的小区间,比如 -1 ~ 1。
    离散化:数值属性(比如:年龄)的原始值,能够用数值区间替换使其离散化。
    由标称数据产生概念分层:属性,如street,能够泛化到较高的概念层,比如city或country。

    4.chapter4 数据仓库和联机分析处理(OLAP):
    (1) OLTP和OLAP的主要差别例如以下:
    =>用户和系统的面向性:OLTP是面向顾客的,用于办事员、客户和信息技术专业人员的事物和查询处理。OLAP是面向市场的,用于知识工人(包含经理、主管和分析人员)的数据分析。
    =>数据内容:OLTP系统管理当前数据。通常,这样的数据台琐碎,非常难用于决策。OLAP系统管理大量历史数据,提供汇总和聚集机制,并在不同的粒度层上存储和管理信息。这些特点使得数据更easy用于有依据的决策。
    =>数据库设计:通常,OLTP系统採用实体-联系(ER)数据模型和面向应用的数据库设计。而OLAP系统通常採用星形或雪花模型和面向主题的数据库设计。
    =>视图:OLTP系统主要关注一个企业或部门内部的当前数据,而不涉及历史数据或不同单位的数据。OLAP系统经常跨越数据库模式的多个版本号。OLAP系统还处理来自不同单位的信息,以及由多个数据库集成的信息。 =>訪问模式:OLTP系统的訪问主要由短的原子事物组成。这样的系统须要并发控制和恢复机制。然而,对OLAP系统的訪问大部分是仅仅读操作(因为大部分数据仓库存放历史数据,而不是最新数据)。

    (2)数据仓库的分层结构:
    底层是仓库数据库server =》 中间层是OLAPserver =》 顶层是前端客户层。

    (3)数据仓库模型: 企业仓库、数据集市、虚拟仓库。
    =》企业仓库:企业仓库搜集了关于主题的全部信息,跨越整个企业。它提供企业范围内的数据集成,通常来自一个或多个操作系统数据库系统或外部信息提供者,而且是多功能的。
    =>数据集市:数据集市包括企业范围数据的一个子集,对于特定的用户群是实用的。其范围限定于选定的主题。
    =>虚拟仓库:虚拟仓库是操作数据库上视图的集合。为了有效的处理查询,仅仅有一些可能的汇总视图被物化。虚拟仓库易于建立,但须要操作数据库server还有余力。

    OLAP操作:
    (4)上卷(roll-up)操作:上卷操作通过沿一个维的概念分层向上攀升或者通过维规约在数据立方体上进行聚集。
    (5)下钻(drill-down):下钻是上卷的逆操作,它由不太具体的数据得到更具体的数据。下钻能够通过沿维的概念分层向下或引入附加的维来实现。

    5.chapter5数据立方体技术:
    (1)数据立方体由方体的格组成。每一个方体都相应给定多维数据的不同程度的汇总。全然物化是指计算数据立方体格中的全部方体。部分物化是指选择性的计算格中方体单元的子集。冰山立方体是一种数据方体,它仅存储其聚集值(如count)大于某最小支持度阈值的立方体单元。
    (2)4种有效的立方体计算方法:1)多路数据聚集Multiway,基于稀疏数组的、自底向上的、共享计算的物化整个数据立方体;2)BUC,通过探查有效的自顶向下的计算次序和排序计算冰山立方体;3)Star-Cubing,使用星树结构,集成自顶向下和自底向上计算,计算冰山立方体。4)外壳片段立方体,通过仅计算划分的立方体外壳片段,支持高维OLAP。

    6.chapter6 数据频繁模式、关联和相关性:
    (1) 关联规则挖掘首先找出频繁项集(项的集合,如A和B,满足最小支持度阀值,或任务相关元祖的百分比),然后,由他们产生形如A=》B的强关联规则。这些规则还满足最小置信度阀值。能够进一步分析关联,发现项集A和B之间具有统计相关性的相关规则。

    (2) 对于频繁项集挖掘,已经开发了很多有效的、可伸缩的算法,由他们能够导出关联和相关规则。这些算法能够分为3类: 1)类Apriori算法; 2)基于频繁模式增长的算法,如:FP-growth; 3)使用垂直数据格式的算法。

    (3) Apriori算法是为布尔关联规则挖掘频繁项集的原创性算法。它逐层进行发掘,利用先验性质:频繁项集的全部非空子集也都是频繁的。

    (4) 频繁模式增长(FP-growth)是一种不产生候选的挖掘频繁项集方法。它构造一个高压缩的数据结构(FP树),压缩原来的数据库。与类Apriori方法使用产生-測试策略不同,它聚焦于频繁模式增长,避免了高代价的候选产生,可获得更高的效率。

    7.Chapter 7
    (1)稀有模式非常少出现但特别有趣。负模式是其成员呈现负相关行为的模式。应该小心定义负模式,考虑零不变性性质。稀有模式和负模式可能凸显数据的异常行为,这肯能非常有趣。
    (2)基于约束的挖掘策略能够用来引导挖掘过程,挖掘和用户直观一致或满足某些约束的模式,很多用户包含单调性,反单调性,数据反单调性和简洁性。具有这些性质的约束能够正确的集成到数据挖掘过程中。
    (3)为了降低挖掘返回的模式数量,我们能够代之以挖掘压缩模式或近似模式。压缩模式能够通过基于聚类概念定义代表模式来挖掘,而近似模式能够通过提取感知冗余的top-k模式(即k个代表模式的小集合,他们不仅具有高显著性,并且相互之间低冗余)来挖掘。

    8.Chapter 8
    (1) 分类是一种数据分析形式,它提取描写叙述数据类的模型。分类器或分类模型预測类标号(类)。数据预測建立连续函数模型。分类和数值预測是两类基本的预測问题。

    (2) 决策树归纳是一种自顶向下的树归纳算法,它使用一种属性选择度量为树的每一个非树叶结点选择属性測试。ID3、C4.5和CART都是这样的算法的样例,他们使用不同的属性选择度量。树剪枝算法试图通过减去反映数据中噪声的分枝、提高准确率。早期的决策树算法通常假定数据是驻留内存的。已经为可伸缩的树归纳提出了一些可伸缩的算法,如RainForest。

    (3) 朴素贝叶斯分类基于后验概率的贝叶斯定理。它假定类条件独立,一个属性对给定分类的影响独立于其它属性的值。

    (4) 分类器的构造与评估须要把标记的数据划分成训练集和測试集。保持、随机抽样、交叉验证和自助法都是用于这样的划分的典型方法。

    (5) 显著性校验和ROC曲线对于模型选择是实用的。显著性校验能够用来评估两个分类器准确率的区别是否处于偶然。ROC曲线绘制一个或多个分类器的真正例率(或灵敏性)与假正例率。

    9.chapter9
    (1) 不像朴素贝叶斯分类(它假定类条件独立),贝叶斯信念网络同意在变量子集之间定义类独立性。它提供了一种因果关系的图形模型,在其上进行学习。训练后的贝叶斯信念网络能够用来分类。

    (2) 支持向量机(SVM)是一种用于线性和非线性数据的分类方法。它把数据源数据变换到较高维空间,使用称作支持向量的基本元组,从中发现分离数据的超平面。

    (3) 主动学习是一种监督学习,它适合数据丰富、但类标号稀缺或难以获得的情况。学习算法能够主动的向用户学习询问类标号。为了保持低价,主动学习的目标是使用尽可能少的有标号的实例来获得高准确率。

    10.chapter 10
    (1) 簇是数据对象的集合,同一个簇中的对象彼此相似,而不同簇中的对象彼此相异。将物理或抽象对象的集合划分为相似的类的过程成为聚类。
    (2) 聚类分析具有广泛的应用,包含商务智能,图像模式识别,Web搜索,生物学和安全。聚类分析能够作为独立的数据挖掘工具来获得数据分布的了解,也能够作为检測簇上执行的其它数据挖掘算法的预处理步骤。
    (3) 划分方法:首先创建K个分区的初始集合,当中參数k是构建的分区数。然后,它採用迭代重定位技术,试图通过吧对象从一个簇移到还有一个簇来改进划分的质量。典型的划分方法包含k-均值、k-中心点、CLARANS。

  • 相关阅读:
    flink 使用processFunction函数的sideOutPut实现filter操作(java版)
    flink 状态编程之RichFlatMapFunction用法-java
    java flink之eventTime和window
    java spark sql 计算各个省份广告点击数的top3
    java spark 计算各个省份广告点击数的top3
    java streaming转换算子window,countByWindow
    java spark转换算子sortByKey
    java spark转换算子join、leftOuterJoin、rightOuterJoin、fullOuterjoin
    java spark转换算子groupByKey、reduceByKey、aggregateByKey
    java spark转换算子union、intersection、subtract
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4282079.html
Copyright © 2011-2022 走看看