数据挖掘是从海量的数据中抽取感兴趣的(有价值的、隐含的、以前没有用但是潜在有用信息的)模式和知识的过程。
数据挖掘生命周期:
包括业务理解、数据理解及收集、数据准备、数据建模、模型评估与部署六个阶段。
数据挖掘实验基本步骤
(1)准备数据,包括准备训练数据和检验数据
(2)选择一种数据挖掘技术或算法,将数据提交给数据挖掘软件
(3)解释和评估结果
(4)模型应用
- 监督学习定义:(掌握)
通过对大量已知分类或输出结果值的实例进行训练,调整模型的结构,达到建立能够准确分类或预测未知模型的目的。这种基于归纳的概念学习过程被称为有指导(监督)的学习。
- 无监督学习:(掌握)
在学习训练之前,无预先定义好分类的实例,数据实例按照某种相似性度量方法,计算实例之间的相似程度,将最为相似的实例聚类在一个组——簇(Cluster)中,再解释和理解每个簇的含义,从中发现聚类的意义。
- 数据预处理的主要任务包括数据清洗,数据集成,数据变换和数据规约。
- 为什么数据需要预处理:
- 数据存在不完整、有噪声、不一致问题。
- 没有高质量的数据,就没有高质量的挖掘结果
- 高质量的决策必须依赖高质量的数据
- 数据仓库需要对高质量的数据进行一致地集成
数据预处理的作用:
数据预处理是数据分析或数据挖掘前的准备工作,也是数据分析或数据挖掘中必不可少的一环。它主要通过一系列的方法来处理“脏”数据、精准地抽取数据、调整数据的格式,从而得到一组符合准确、完整、简洁等标准的高质量数据,保证该数据能更好地适应特定的挖掘技术或工具。
- 数据清理
填充缺失值,平滑噪声数据,识别并删除孤立点,解决不一致问题。 数据清洗的任务
属性选择与处理,填充空缺值,噪声数据的处理,不平衡数据的处理
- 数据归约目的
在保持数据完整的前提下,减少原始数据量,从而增加数据挖掘算法的效率。
数据归约可以用来得到数据集的归约表示,它小得多,但可以产生相同的(或几乎相同的)分析结果。其花费的计算时间不应超过或“抵消”在归约后的数据挖掘上挖掘所节省的时间。
- 数据集成的必要性(作用)
在跨国公司、政府部门等分析来自各个子公司或地方部门的数据时,需要将多个数据源中的数据进行合并,以实现一致的数据存储。这个合并的过程称为数据集成。
-
- 实体识别
- 冗余和相关性分析
- 元组重复
- 数据值冲突的检测与处理
- 数据仓库公认的(基于W. H. Inmon)定义:
- 数据仓库是一个面向主题的、集成的、时变的、非易失的数据集合,支持管理者的决策过程。
- 四个基本特征:
- 数据是面向主题的:要做什么?
- 数据是集成的:收集、整合多源异构数据
- 数据是非易失的:数据的初始化操作和数据访问
- 数据是随时间不断变化的:数据随时间变化而定期更新。
- 数据库和数据仓库对比
1) 数据库用于事务处理
- 数据库作为数据资源用于管理业务中的事务处理。
- 数据库中存放的数据基本上是保存当前数据,随着业务的变化随时在更新数据库中的数据。
- 不同的管理业务需要建立不同的数据库。例如,银行中储蓄业务、信用卡业务分别要建立储蓄数据库和信用卡数据库。
2) 数据仓库用于决策分析
- 数据仓库用于决策分析
- 数据库保持事务处理的当前状态,数据仓库既保存过去的数据又保存当前的数据
- 数据仓库的数据是大量数据库的集成
- 对数据库的操作比较明确,操作数据量少。对数据仓库操作不明确,操作数据量大
OLAP准则 (主要的):
多维数据分析;客户/服务器结构;多用户支持;一致的报表性能等。
OLAP的基本操作
-
- 数据切片:多维数据是由多个维度组成的,如果在某个维度上选定一个取值,则多维数据从n维下降成n-1维
- 数据切块:将完整的数据立方体切取一部分数据而得到的新的数据立方体。
- 数据钻取(下钻):从较高的维度层次下降到较低的维度层次上来观察多维数据
- 数据聚合(上卷):对数据进行高层次综合的操作
- 数据旋转:改变维度的位置关系,使最终用户可从其他视角来观察多维数据。
- DW中的数据以四个基本特征为基础, 分为四个级别:
- 早期细节级、当前细节级、轻度综合级、高度综合级。
- Apriori算法主要的挑战
- 要对数据进行多次扫描;
- 会产生大量的候选项集;
- 对候选项集的支持度计算非常繁琐;
- 解决思路
- 减少对数据的扫描次数;
- 缩小产生的候选项集;
- 改进对候选项集的支持度计算方法
-
- 方法1:基于hash表的项集计数
- 方法2:事务压缩
- 方法3:划分
- 方法4:选样
- 方法5:动态项集计数
关联规则挖掘的步骤:
- 找出所有的频繁项集
- 由频繁项集产生强关联规则
- Apriori算法由连接和剪枝两个步骤组成。
- 连接:为了找Lk ,对给定的最小支持度阈值,分别对1项候选集C 1 ,剔除小于该阈值的项集得到1项频繁集L 1 ;下一步由L 1 自身连接产生2项候选集C 2 ,保留C 2 中满足约束条件的项集得到2项频繁集,记为L 2 ;再下一步由L 2 与L 3 连接产生3项候选集C 3 ,保留C 2 中满足约束条件的项集得到3项频繁集,记为L 3 ……这样循环下去,得到最大频繁项集L k 。
- 剪枝
- Ck是Lk的超集(Lk Ck ),即它的成员可能不是频繁的,但是所有频繁的k-项集都在Ck中。因此可以通过扫描数据库,通过计算每个k-项集的支持度来得到Lk
- 为了减少计算量,可以使用Apriori性质,即如果一个k-项集的(k-1)-子集不在Lk -1中,则该候选不可能是频繁的,可以直接从Ck删除
- FP树的挖掘步骤:
- 构建频繁项集的频繁1-项集:通过扫描事务数据库,统计每个项的频率,并过滤掉低于最小支持度的项,得到频繁1-项集,根据每个项的频率,对事务数据库的每条数据记录的项重新排序。
- 构建FP树:再次扫描事务数据库,对于每个事务,将频繁1-项集按照频率降序排序并构建一个FP树,根结点T以“null”或者root标记,其中p是第一个频繁项,而P是剩余的频繁项。如果T有子女N使N .item_name=p.item_name,则N的计数增加1;否则创建一个新结点N,将其计数设置为1,链接到它的父结点T,并且通过node_link将其链接到具有相同item_name的结点。如果P非空,递归地调用insert_tree(P,N)。。每个事务中的项按照频率降序排序,添加到FP树中。
- 构建条件模式基:从FP树的叶子节点开始,迭代遍历树的每个元素,以该元素为末尾节点构建条件模式基。条件模式基用于后续递归建立子FP树。
- 根据条件模式基,构建条件FP树,挖掘频繁模式。
- 递归挖掘频繁模式:对于构建的每个条件模式基,使用递归方式重复步骤2和步骤3,直到无法生成更多的条件模式基为止。每次递归会生成一个频繁模式,将其加入频繁模式集合。
- 合并频繁模式:通过递归过程生成的频繁模式是局部的,需要进行合并以得到完整的频繁模式集合。
- 分类的定义
通过在已标记数据集上学习而构造的模型,并将其用于预测未标记数据的类别
- 分类的两个步骤:学习、预测
- CLS算法是早期的决策树学习算法。它是许多决策树学习算法的基础。
CLS基本思想
从一棵空决策树开始,选择某一属性(分类属性)作为测试属性。该测试属性对应决策树中的决策结点。根据该属性值的不同,可将训练样本分成相应的子集,如果该子集为空,或该子集中的样本属于同一个类,则该子集为叶结点,否则该子集对应于决策树的内部结点,即测试结点,需要选择一个新的分类属性对该子集进行划分,直到所有的子集都为空或者属于同一类。
- CLS算法问题:
- 根据某种策略从训练样本属性表中选择属性A作为测试属性。没有规定采用何种测试属性。
- 实践表明,测试属性集的组成以及测试属性的先后对决策树的学习具有举足轻重的影响。
- 聚类(Clustering)是把数据对象划分成子集的过程,就是将数据分组成为多个类(Cluster)。在同一个类内对象之间具有较高的相似度,不同类之间的对象之间的差异较大。
- 挖掘闭模式和极大模式:项合并、子项集剪枝、项跳过
- 聚类方法的分类
划分方法
给定一个n个对象的集合,划分方法构建数据的k个分区,其中每个分区表示一个簇且k≤n。
层次的方法
创建给定数据对象集的层次分解。
基于密度的方法
通过“邻域”中的密度来对数据进行划分
基于网格的方法
把对象空间量化为有限个单元,形成一个网络结构,所有的聚类操作均在该网络上进行。
- 聚类与分类的区别:
- 定义:
- 聚类通常是无监督学习任务,不需要先验标签或类别信息;而分类通常是有监督学习任务,需要已知的标记或类别信息来训练分类模型。
- 目标:聚类旨在发现数据中的相似性,将数据划分为具有相似特征的组或簇;而分类的目标是预测新样本到已知的类别中。
- 输出结果:聚类的输出结果是对数据的分组、簇或类别,每个组别可能具有相似的特征。这些组别没有先验定义;而分类的输出结果是样本被分配到先验定义好的类别中。(可有可无)
- 应用场景:聚类通常用于数据探索、分割和潜在模式发现的任务。分类通常用于预测、决策和模式识别等任务。
- K-means算法步骤:
(1)随机选择一个K值,用以确定簇的总数。
(2)在数据集中任意选择K个实例,将它们作为初始的簇中心。
(3)计算这K个簇中心与其他剩余实例的简单欧氏距离(Euclidean Distance),用这个距离作为实例之间相似性的度量,将与某个簇相似度高的实例划分到该簇中,成为其成员之一。
(4)使用每个簇中的实例来计算该簇新的簇中心。
(5)如果计算得到新的簇中心等于上次迭代的簇中心,终止算法过程。否则,用新的簇中心作为簇中心并重复步骤(3)~(5)。
- PAM算法流程如下:
1.在总体n个样本点中任意选取k个点作为medoids.
2.按照与medoids最近的原则,将剩余的n-k个点分配到当前最佳的medoids代表的类中(实现了初始的聚类).
3.对于第 i 个类中除对应medoids点外的所有其他点,按顺序计算当其为新的medoids时,准则函数的值,遍历所有可能,选取准则函数最小时对应的点作为新的medoids.
4.重复2-3的过程,直到所有的medoids点不再发生变化或已达到设定的最大迭代次数。
5.产出最终确定的k个类.
- 凝聚法的基本思想
先将n个样品各自看成一类,然后规定样品之间的“距离”和类与类之间的距离。选择距离最近的两类合并成一个新类,计算新类和其它类(各当前类)的距离,再将距离最近的两类合并。这样,每次合并减少一类,直至所有的样品都归成一类为止。
- 凝聚聚类法的基本步骤:
1. 计算n个样本两两间的距离 ,记作D= 。
2. 构造n个类,每个类只包含一个样品。
3. 合并距离最近的两类为一新类。
4. 计算新类与各当前类的距离。
5. 重复步骤3、4,合并距离最近的两类为新类,直到所有的类并为一类为止。
6. 画聚类谱系图。
7. 决定类的个数和类。
- BIRCH采用一种多阶段聚类技术:
第一阶段: 扫描数据库,建立一棵存放于内存的初始化CF-树
第二阶段: 使用过一种聚类算法对CF树的叶节点进行聚类,把稀疏的簇当做离群点删除。
- DBSCAN算法流程:
(1) 自定义邻域半径ε和minPts的值,并在数据集中任意选择一个样本数据p;
(2) 计算样本p到其他样本点的距离,再根据ε和minPts,找出p密度可达的其他样本,形成一个簇;
(3) 若p是一个边缘点,则选其他未被选择的样本;
(4) 重复(2)(3) 知道所有点都被选取过;
- 聚类评估主要的任务包括:
估计聚类趋势:对于给定的数据集,评估该数据集是否存在非随机结构
确定数据集中的簇数:如K-均值算法需要将簇的数目作为参数
测定聚类质量:评估结果簇的质量
- 离群点:一个显著区别于正常对象的数据对象。
- 离群点与噪声的区别:
- 噪声是一个随机误差或方差
- 噪声应在离群点检测之前移除
- 离群点的类型
全局离群点;
情境离群点;
集体离群点。
- 离群点的检测方法:统计学方法、基于邻近性的方法、基于聚类的方法、基于分类的方法。
- 提高分类准确率的三种方式:装袋、提升、随机森林
- 精确率衡量的是模型发现正样本相关性的能力,而召回率则是衡量模型在整个数据集中发现正样本的能力
- OLAP特点:在线性、多维分析
- 粒度: 数据仓库中保存数据的细化或综合程度的级别。
- 元数据是数据仓库的一个综合文档,是数据仓库的核心。
- 元数据是定义和描述其他数据的数据,在整个数据ETL过程中起到基础作用。
- 数据仓库中数据的基本特征:早期细节级、当前细节级、轻度综合级、高度综合级
- 数据集市(Data Marts)是一种更小、更集中的数据仓库,为公司提供分析商业数据的一条廉价途径。
- 数据集市与数据仓库差别:
数据集市通常是数据仓库的子集
数据集市更小、更简单且部署更快。
衡量数据质量的要素:准确性、完整性、一致性、时效性、可信性和可解释性。
- 预剪枝 vs. 后剪枝:
- 概念分层与离散化
标称属性中的取值具有一定的意义,概念分层这些值泛化到较高的概念层
…………………………………………………………………………
- 只有提升度和卡方度量不是零不变度量
- K-Means 特点
- 该算法试图找出使平方误差值最小的k个划分。当结果簇是密集的,而簇与簇之间区分明显时,它的效果较好。
- 算法复杂度O(nkt),其中 t是迭代次数。因此其可扩展性较好,对大数据集处理有较高的效率。
- 算法常以局部最优结束。全局最优要穷举所有可能的划分。
- 缺点:不适合发现非凸面状的簇。不适合大小差别较大的簇。对于噪声和孤立点是敏感的,由于少量的该类数据对平均值产生较大的]影响。
- 基于密度的特点:(DBSACN)
- 优点:
- 预先无需知道簇的数量;
- 能够识别出噪声样本,对噪音数据不敏感;
- 可发现任意形状簇类;
- 缺点:
- 若样本间距差很大,即密度差异大,聚类效果较差;
- 在特征数特别多的情况,即维数灾难,半径ε很难选取;
- “与其它聚类算法相比,STING有什么优点?”
STING有几个优点:
(1)由于存储在每个单元中的统计信息描述了单元中数据的与查询无关的概要信息,所以基于网格的计算是独立于查询的;
(2)网格结构有利于并行处理和增量更新;
(3)该方法的效率很高:STING 扫描数据库一次来计算单元的统计信息,因此产生聚类的时间复杂度是 O(n),n 是对象的数目。
缺点:
(1) 由于STING采用了一种多分辨率的方法,STING的聚类质量取决于网格结构的最底层的粒度。如果最底层的粒度很细,则处理的代价会显著增加。然而如果粒度太粗,聚类质量难以得到保证。
(2) STING在构建一个父亲单元时没有考虑到子女单元和其他相邻单元之间的联系。所有的簇边界不是水平的,就是竖直的,没有斜的分界线。降低了聚类质量。