数据挖掘定义
数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。
数据挖掘是从数据中提取信息和知识的过程。
*数据分类和数据聚类的概念如何区别?
-
分类是我知道A校校服是红色的,B校校服是蓝色的,那么一个穿着蓝色校服的学生(假定是A/B学校之一)就是B校的学生。聚类是,一群穿着不同颜色校服的学生在一起,穿着红色校服的是一个学校的,穿着蓝色校服的是另一个学校的。分类是已经有一个类别了,而且也知道这个类别的特征,根据另一个事物的此特征判断这个事物是不是属于这个类别;聚类是没有一个已知特征的类别,只能根据几个事物间的相似性和相异性将他们分为几个类别
-
数据分类是有监督学习,训练集标签已知,通过训练集得到学习模型,对预测数据集进行分类;
数据聚类是无监督学习,训练集标签未知,根据变量的相似性得到类簇。
*科学发展范式包括哪四个阶段
经验科学,理论科学,计算科学,数据科学
2 认识数据
数据类型
标称类型
类别、状态
二进制数据
对称二进制、不对称二进制(两个状态数据规模差距特别大)
序数类型
有一个有意义的顺序,但不知道连续值之间的大小
区间标度
单位长度顺序性度量,值有序比如温度、日历。不存在零点,倍数没有意义。
比率标度
具有固定零点的数值属性,有序且可以计算倍数。比如长度、重量。
数据属性类型
*数据中的属性有哪些类型,每种类型都有什么特点?
标称:具有可列举性,其中二进制是一种特殊的标称类型的数据,它是只有两种状态的数据类型,包含对称式二进制和非对称式二进制。
序数:有意义的顺序排名,但不知道之间连续值的大小。
区间:以单位长度顺序性度量,值有序,没有0点,倍数没有意义。
比率:有固定0点的数值属性,有序且可计算倍数
可视化
箱线图(盒状图)
分析多个属性数据的分布差异性
直方图
分析单个属性在各个区间的变化分布(发现特征对类别的区分度)
散点图
用来显示两组或多组数据的相关性分布
数据相似性
度量数据的相似性和相异性
标称属性邻近性度量
简单匹配
针对二进制类型数据
数值属性邻近性度量
常用明可夫斯基距离
上确界距离:两对象所有属性之间差的绝对值的最大值
*不同属性数据都分别有哪些相似性计算方法?
标称属性数据:简单匹配 (p-m)/p m为匹配次数 p为属性个数
二值属性数据:近邻性度量 (对称性数据、非对称性数据)
数值属性数据:闵可夫斯基距离(曼哈顿h=1,欧式h=2,上确界h->正无穷)
3 数据预处理
四个部分
数据清理
处理缺失数据
- 忽略元组:当类标号缺少时删除数据(监督式机器学习中训练集缺乏类标签),当每个属性缺少值比例比较大时,它的效果非常差。
- 手动填写遗漏值:工作量大
- 自动填写:使用属性的平均值填充空缺值
处理噪声数据
- 箱线图检测离群数据:删除离群点
不一致的数据
- 计算推理、替换、全局替换
*数据清洗分别解决数据中的哪些问题,如何解决?
1、数据缺失:当类别标签(监督学习)丢失时,可以直接删除;当缺失值数据量较大时可选择填充,方法一是手动填充(慢),方法二是使用平均值自动填充。
2、噪音数据:画出箱线图识别噪音数据,后对噪音数据(离群点)进行删除。
3、当数据不一致时,使用计算推理进行数据纠正。
数据集成
将来自多个数据源的数据组合成一个连贯的数据源。
四个问题
-
模式集成(类似于外连接):整合来自不同来源的元数据
-
实体识别问题:识别来自多个数据源的真实世界的实体(把同样一个人的数据进行合并,两个name选择一个name)
-
数据冲突检测与解决:
-
数据冗余处理:
相关分析-离散数据-卡方测试
相关性不意味着两个变量存在因果关系。
90怎么来的(Sum row):450*300/1500
卡方值越大相关性程度越强。
相关分析-连续数据-皮尔逊相关系数
协方差
协方差为0不能证明属性相互独立,如果两组数据服从正态分布才独立。
*数据集成要注意集成过程中的哪些问题,如何计算相关性?
数据集成需要注意:模式集成、实体识别问题、数据冲突检测和解决、数据冗余
离散数据: 卡方测试;
连续数据: 皮尔逊相关系数,协方差
数据规约(数据缩减)
数据集规模大,在完整的数据集上运行时,复杂的数据分析需要很长的时间。
降维
原因
-
随着维数的增加,数据变得越来越稀疏。(随着维数的增加,数据被绝大数N填充,而实际上我们更关注数据P或Y)
-
子空间的可能的组合将成倍增长。基于规则的分类方法,建立的规则将组合成倍增长。
需要降维的场景
- 数据稀疏,维度高
- 高维数据采用基于规则的分类方法
- 采用复杂模型,但是训练集数目较少
- 需要可视化
PCA主成分分析法
数据中很多属性之间可能存在这样或那样的相关性,将多个相关性的属性组合仅仅形成一个属性
降数据
数据规模非常大,不希望所有数据拿来训练。
样本大小对数据质量会产生一定影响。
数据压缩
降低数据质量降低规模。
*数据规约分别解决数据中的哪些问题,分别有哪些方法?
数据规约可以降低数据的复杂性,提高模型预测的准确性。 数据规约有三种:
1、数据降维:PCA主成分分析法;
2、降数据:简单随机抽样,其中一种是不放回抽样,另一种是又放回抽样;
3、数据压缩:降低数据存储开销。
数据转换和离散化
函数映射指给定的属性值更换了一个新的表示方法,每个旧值与新的值可以被识别
规范化
最小-最大规范化
Z分数规范化
适用于流式数据,流式数据的分布是不变的(采样计算)
小数定标
移动属性A的小数点位置(移动位数依赖属性A的最大值)
离散化
部分数据挖掘算法只适用于离散数据
非监督离散
- 等宽法
- 等频法(区间宽度不一样)
- 聚类法,利用聚类将数据划分到不同的离散类别。
等宽法和等频法有缺点,划分不合理,所以采用聚类法。
*数据规范和离散化分别解决数据中的哪些问题,分别有哪些方法?
-
数据规范化解决不同量纲下数据的统一问题,将数据放缩至一个合适的区间,避免数据对量纲选择的依赖性;
-
主要方法有:最大最小规范化法、z-score规范化法、小数定标
-
数据离散化解决数据挖掘算法的对离散数据的需求问题
-
主要方法有:等宽法、等频法、聚类法
4 朴素贝叶斯分类
分类概念
找出描述和区分数据类或概念集的模型,以便能够使用该模型预测类标号未知的对象的类标号
分类一般过程
概念区分
算法
求似然概率*先验概率的最大值。假设每个属性独立同分布。
*贝叶斯分类基本原理是?为什么需要每个属性数据是独立同分布?
贝叶斯分类的基本原理是贝叶斯定理,即根据历史数据信息得到先验概率和似然概率,再利用极大后验概率假设得到测试数据的分类。
一个样本具有多个属性,计算后验概率时,通过假设属性独立同分布,可以将联合概率转化为乘积的形式,从而简化计算。
*标签预测与数值预测的区别是什么?
1.标签预测,结果是离散类别标签,运用于分类问题
2.数值预测,结果是连续数值结果,运用于回归问题
连续数据如何求概率
- 数据离散化的方法。
- 假设不同类别收入服从不同正态分布。利用参数估计两组正态分布期望和方差。(买跟不买),用密度函数估计概率。
*贝叶斯分类的优缺点分别是什么?
一、优点
1、数据可以是连续的,也可以是离散的;
2、分类效率稳定,数学基础坚实;
3、对噪音数据不敏感;
4、如果属性与属性之间不相关,则分类效果会非常好。
二、缺点
1、数据必须全部是连续的或者全部是离散型的;
2、如果属性与属性之间相关,则分类效果差。
*计算朴素贝叶斯
5 决策树
概念
测试节点又叫内部节点。
Hunt算法
怎样为不同类型的属性指定测试条件
- 标称属性:多路划分、二元划分
- 序数属性:多路划分、二元划分(依然要保留序数的有序性)
- 连续属性:
*什么是决策树分类?
决策树分类是指根据已有条件对结果通过决策树从上到下按条件进行分类;
决策树的构建算法包括:Hunt算法、信息增益、增益比例、基尼指数
怎样评估每种测试条件(选择最佳划分)
信息纯性
信息熵
log2(pi)
信息增益算法 ID3
I(2,3)为信息熵。
选择信息增益最高的属性作为根节点。
缺点:要求属性都是离散的,离散特征计算概率值。需要把数据离散化
Gini指数
信息熵需要求对数,开销大,可以用Gini指数降低开销。越小越纯。
注意是在节点t中,类j发生的概率
Gini指数(补充)
https://www.bilibili.com/video/BV1jB4y1B78g
*增益指数计算题
最大分类错误数
*信息增益算法的基本原理是什么?
基本原理来源于数学中的熵,提出信息熵,熵越高表示数据越混乱,熵越低表示数据越纯。
因此提出信息增益的概念,信息增益越大表示划分的分类越纯,因此根据信息增益从大到小的排列顺序列为决策树中从上到下的各节点
数据是连续的怎么办
二元划分-离散化
等宽法、收入变成三个离散状态
二元划分-分割区间
Cart算法
基于Gini指数
复杂决策树带来过拟合问题
过拟合,训练集太少,模型太复杂。
欠拟合,训练集太多,模型太简单。
- 对决策树进行剪枝
- 事前剪枝,构造过程中信息增益越来越小,设置阈值,小到一定程度不再划分
- 事后剪枝,构造完成后用新测试集对每个分支错误率进行计算,把错误率高的去掉
决策树特点
缺点
1、子树可能在决策树中重复多次,容易发生过拟合(随机森林可以很大程度上减少过拟合);
2、容易忽略数据集中属性的相互关联,特征关联较强时表现不好
6 K-均值聚类
聚类概念
划分方法
K均值算法适用性
球状的簇。
K均值算法
K均值算法特点
*k-均值算法的基本原理是什么?
基本原理; 在给定子集个数的条件下,将数据按照距离分布在随机点周围,并不断调整,保证簇中的数据距离中心最优
K-means算法是一种典型的基于划分的聚类算法,该算法具有运算速度快,执行过程简单的优点,在很多大数据处理领域得到了广泛的应用。K-means算法的思想利用相似性度量方法来衡量数据集中所有数据之间的关系,将关系比较密切的数据划分到一个集合中。
(1) K-means算法首先需要选择K个初始化聚类中心
(2) 计算每个数据对象到K个初始化聚类中心的距离,将数据对象分到距离聚类中心最近的那个数据集中,当所有数据对象都划分以后,就形成了K个数据集(即K个簇)
(3)接下来重新计算每个簇的数据对象的均值,将均值作为新的聚类中心
(4)最后计算每个数据对象到新的K个初始化聚类中心的距离,重新划分
(5)每次划分以后,都需要重新计算初始化聚类中心,一直重复这个过程,直到所有的数据对象无法更新到其他的数据集中。
K均值的问题
- K估计比较重要, 散点图人工观察簇的个数、根据经验使用总数据集个数的开根号作为k的个数
- 数据分布形状对分簇结果影响
- 数据分散程度对分簇结果影响
- 随机初始种子对分簇结果影响
标称类型数据怎么办
K modes众数算法。找均值点,出现次数最多的数作为离散数据的均值点。
K均值++算法解决初始点选择问题
K中心点方法解决对离群点敏感问题
7 逻辑回归(X)
概念
线性分类器
8 关联规则挖掘
项集概念
阈值根据经验事先指定。
关联规则
关联规则发现
置信度一般要考虑频繁二项集及以上。
关联规则任务的过程
蛮力法
Apriori算法
基于先验原理进行提前剪枝
*关联规则的基础算法是如何工作的?
①寻找频繁项集:找出支持度大于等于阈值的项集
②生成关联规则:找出置信度大于等于阈值的关联规则
*什么叫做支持度和置信度?
支持度:包含特定项集的事务的个数与总事务个数之比
置信度:确定Y在包含X的事务中出现的频繁程度。理解为一种条件概率,在X->Y的蕴含规则下,选择包含X的项集中,Y出现的概率
*Apriori算法的先验原理是什么?
如果一个项集是频繁的,则他的所有子集也是频繁的;
如果一个项集是非频繁的,则他的超集也是非频繁的。
*Apriori计算题
Apriori-项的字典序
Apriori-项的连接
降低候选项的生成。
Apriori特点
- 多次扫描数据库
- 候选项规模庞大
- 计算支持度开销大
FPGrowth 模式增长树
生成条件模式
特点