第5章聚类:
聚类:算法:基于划分、基于层次、基于密度、基于网格。(选择题:给你个算法让你判断他是那个类型的算法?让你找选项里面那个是或者那个不是这类算法。)
距离的度量:会计算欧氏距离、杰卡德距离;(判断、选择题):有无量纲,(幂距离(有量纲)、欧氏距离(有量纲,标准化欧氏距离是针对简单欧式距离做的改进方案,可以消除不同属性的量纲差异化所带的影响)、曼哈顿距离、兰氏距离(无量纲,其消除了量纲)、马氏距离(无量纲,其不受量纲影响)、杰卡德距离、余弦相似度(有量纲,需要进行无量纲化操作))。
算法:K均值、K中心值,会使用算法进行聚类,根据聚类结果比较算法的优缺点;()
K均值算法基本思想:首先随机选取K个点作为初始聚类中心,然后计算各个对象到所有聚类中心的距离,把对象归到离它最近的那个聚类中心所在的类。计算新的聚类中心,如果相邻两次的聚类中心没有任何变化,说明对象调整结束,聚类准则函数已经收敛,至此算法结束。
- K 均值不仅相对容易理解和实现,而且运行速度也相对较快。
- K 均值可以轻松扩展到大型数据集
- 需要人工预先确定初始 K 值,且该值和真实的数据未必吻合。
- 分类结果严重依赖于分类中心的初始化。通常进行多次k-means,然后选择最优的那次作为最终聚类结果。
- 结果不一定是全局最优的,只能保证局部最优。
- 对噪声敏感。因为簇的中心是取平均,因此聚类簇很远地方的噪音会导致簇的中心点偏移。
- 无法解决不规则形状的聚类。
- 无法处理离散特征,如:国籍、性别 等。
K中心点算法:
K均值算法对于离群点比较敏感,因为它是将簇内各个对象的均值作为一个簇的参照点。所以,为了克服这个问题,K中心点算法选用簇中位置最靠近中心的对象,即中心点作为簇的参照点。该算法最小化所有对象与其参照点之间的相异度之和。消除孤立点对算法的影响。
K中心点算法基本策略:首先为每个簇随意选择一个代表对象;剩余的对象根据其与代表对象的距离分配给最近的一个簇;反复地用非代表对象来替代代表对象,以改进聚类的质量。聚类结果的质量:用一个代价函数来评估:对象与其代表对象之间的平均相异度
K-均值算法与K-中心点算法区别:第一点,K中心选取的质心是众多样本中的K个,而K均值则是随机生成的K个样本;第二点,K-Medoide求质心的时候用的是簇内距离其他样本有最小距离和的样本,而K-means求质心的时候是对簇内所有样本的(x,y)坐标在x和y坐标上求平均所得。
K均值的改进算法:二分k均值、小批量K均值、K均值++对K均值进行了哪些改进(判断、选择)
二分K均值:针对K均值算法计算开销大,并容易受初始点选择影响问题。二分K均值算法对其进行了改造。首先该算法首先将所有点作为一个簇然后将该簇一分为二,之后选择其中一个簇继续划分,选择哪个簇进行划分取决于对其划分是否可以最大程度降低SSE值。因为它的相似度计算少了,不受初始化问题的影响。因为这里不存在随机点的选取,所以每一步都保证了误差最小。
小批量K均值:用部分数据代替全部数据,更新模型参数。由于计算样本量少,所以减少了运行时间,也必然会带来准确度的下降
K均值++:K均值++算法改进了K均值算法选择初始质心的方式。K均值++算法的核心思想是,选择一个新的聚类中心时,距离已有的聚类中心越远的点,被选取作为聚类中心的概率越大。
- K-means++【K均值++】:解决 k-means 严重依赖于分类中心初始化的问题
- k-medoids【K中心点】:解决k-means 对噪声敏感的问题。
- mini-batch k-means【小批量K均值】:主要用于减少 k-means 的计算时间
- 二分均值聚类:层次聚类
基于密度聚类算法:DBSCAN核心概念(填空、选择)、优缺点(选择、判断)。OPTICS算法核心概念(填空、选择)、要求会计算。P186-187图理解。P188图(图形题)。
DBSCAN算法的核心思想是:将处于高密度区域的对象称为核心对象,基于聚类内部任意核心对象不断扩展生成聚类。
DBSCAN算法优点:
- 可以对任意形状的数据集进行聚类
- 不需提前指定聚类个数
- 聚类的同时可发现异常点。(在上述算法中,暂时标记的噪声点有可能是噪声或是边界点,边界点在之后的循环会被标记其所属聚类,最后剩下的未被改变过的噪声点将是真正的异常点)
- 对数据集中的异常点不敏感
DBSCAN算法缺点:
- 对于密度不均匀的数据集,聚类效果较差
- 当数据集较大时,聚类收敛时间较长
- 当数据集较大时,要求较大的内存支持,I\O开销大
OPTICS算法:
DBSCAN算法使用中有以下两个问题:
- 初始参数领域半径(ε)和领域最小点数(Minpts)需要手动设置,并且聚类的质量十分依赖这两个参数的取值
- 由于算法针对全局密度,当数据集的密度变化较大时,可能识别不出某些簇
针对以上问题,OPTICS进行了完善,在密度高低配置上,OPTICS算法增加了两个新的概念以降低聚类结果对初始参数的敏感度。且OPTICS算法并不显式的产生数据集聚类,而是输出一个以样本点输出次序为横轴,以可达距离为纵轴的图。这个排序代表了各样本点基于密度的聚类结构,从中可以得到基于任何半径和阈值的聚类。
OPTICS主要概念:
核心距离
核心距离是一个点成为核心点的最小领域半径
可达距离
DBSCAN中有三个连接各密集区域的重要概念:直接密度可达、密度可达、密度相连
层次聚类:会用最短距离和最长距离进行层次聚类。(计算题、大家画图。P194页示例5-22示例5-23)。
单调性、空间的浓缩和扩张(判断、选择)(最短、最长、中间、重心、平均法)了解其单调性、和浓缩、扩张。
具有单调性:最长距离法、最短距离法、类平均法
不具有单调性:重心法、中间距离法
一般而言,空间太浓缩或者太扩张都不利于聚类
最短距离法、重心法使空间浓缩,最长距离法、离差平方和法使空间扩张,而类平均法则比较适中
基于网格聚类:简单了解(STING、CLIQUE是基于网格聚类)(选择、判断)。
STING算法:STING是一种基于网格的多分辨率聚类算法,使用一个多层次多分辨率的空间网格机构。基于统计信息网格算法将数据空间划分成有限单元的网格结构,再基于该网格数据结构进行聚类
STING算法的核心步骤由4部分构成:
- 划分网格
- 使用网格单元内数据的统计信息对数据进行压缩表示
- 基于上述统计信息判断密度网格单元
- 将相连的高密度网格单元识别为簇
CLIQUE算法主要思想有:(1)给定一个高维数据集合,数据点在空间中通常不是均匀分布的。CLIQUE算法区分空间中稀疏和密集的区域,以发现数据集合的全局分布模式(2)如果一个单元中包含数据点超过了某个输入模型参数,则该单元是密集的,在CLIQUE中,聚类定义为相连的密集单元的最大集合
CLIQUE主要包括三个核心步骤:
- 对n维空间进行划分,即对每一个维度等量划分,将全空间划分为互不相交的矩形单元,并且识别其中的密集单元
- 识别聚类,利用深度优先搜索策略来发现空间中的聚类。即从D中一个密集单元u开始,按照深度优先遍历的原则,查找连通的集合
- 为每个簇生成最小化描述,即利用贪心算法找到覆盖每个子聚类的最大区域覆盖,然后再确定最小覆盖
P230:5/6/7的第一问。11看一看。
第4章分类回归算法:
决策树重点:概念:信息熵、信息增益、信息增益率、gini系数。会计算。实质是:会用ID3、C4.5、CART算法进行分类。
熵:熵是无序性(不确定性)的度量指标
信息熵:自信息量只能反映符号的不确定性,而信息熵则可以用来度量信源X整体的不确定性。定义如下:【其中n为信源X所有可能的符号数,即用信源每发出一个符号所提供的平均自信息量来定义信息熵(平均信息量)。信息熵的单位是bit。信息熵越大越不确定】
例题:
抛一枚均匀硬币的信息熵是多少?
𝐻(𝑋)=−(0.5𝑙𝑜𝑔0.5+0.5𝑙𝑜𝑔0.5)=1𝑏𝑖𝑡
抛一枚畸形硬币,出现正面与反面的概率分别是1/4,3/4,出现正面与反面时的信息熵是多少?
𝐻(𝑋)=−(1/4 𝑙𝑜𝑔 1/4+3/4 𝑙𝑜𝑔 3/4)=0.811𝑏𝑖𝑡
信息增益:分裂后数据集合D的信息熵明显减少,这说明分类所需信息减少,这个减少的信息量,ID3算法称之为信息增益【信息增益考虑某因素后,所减少的熵值。信息增益越大越好】
信息增益=原来熵 - 条件熵
信息增益率、gini系数、P87实例4-1掌握(计算题)可参考第四章:分类与回归算法
P106页对比(判断题)
信息增益:偏向于多值属性。一个属性的信息增益越大,表明该属性减少样本的熵的能力更强,这个属性使得数据由不确定性变成确定性的能力越强。所以,如果是取值更多的属性,更容易使得数据更“纯”(尤其是连续性数值),其信息增益更大,决策树会首先挑选这个属性作为树的顶点。结果训练出来的形状是一颗庞大且深度很浅的树,这样的划分是不合理的
增益率:增益率引入了分类信息,取值数目多的属性分裂信息也会变大。将增益除以分裂信息,再加上一些额外操作,可以有效地解决信息增益过大的问题。增益率倾向于不平衡的分裂,使得其中一个子集其他子集要小的很多。
Gini系数:偏向于多值属性,当类数目较大时,计算比较复杂,它倾向于大小相等的分区和纯度。
ID3,分类属性
C4.5,可以处理连续数值型属性
CART算法,能够处理连续和离散值类型的属性,递归地构成一棵二叉树
过拟合、欠拟合会判断。剪枝算法:预剪枝、后剪枝(填空)。自底向上、自顶向下。(判断)。
过拟合:样本点几乎都被连接到(判断)
欠拟合:样本点几乎没被连接到
预剪枝,通过提前停止树的构建而对树进行剪枝
后剪枝,首先构造完整的决策树,允许过渡拟合训练数据;然后,对那些置信度不够的节点子树用叶节点代替。该叶子的类标号设为子树根节点所对应的子集中占树最多的类别。
自底向上(REP错误率降低剪枝、 CCP代价复杂度剪枝、 EBP基于错误的剪枝)
自顶向下(PEP悲观错误剪枝)
KNN算法:KD树构造(掌握)(图形题、给你P116页的图、你给我画出构造过程图。P117页的图。)
组合算法:Adaboost、bagging、随机森林的并行性。(判断、选择)
集成学习是将若干个弱分类器通过一定的策略组合之后产生一个强分类器。弱分类器指的是那些分类准确率只比随机猜策略好一点的分类器,强分类器的分裂准确率会高很多,某些书也会把弱分类器称为“基分类器”
个体学习器间不存在强依赖关系、可同时生成的并行化方法;
- 代表算法:Bagging、随机森林(Random Forest)
- Bagging是一种有放回的随机抽样,所以新数据集中可能有重复值,而原始数据集中的某些样本可能从来就没有出现在新数据集中
- 随机森林是Bagging的一个特化进阶版,特化是因为随进森林的弱学习器都是决策树,进阶是随机森林在Bagging的样本随机采样基础上,又加上了特征的随机选择
- 随机森林的特征:具有需要调整的参数少,不容易过度拟合,分类速度快,能高效处理大样本数据等特点;通过同时改变样本和特征子集来获得不同的弱分类器
个体学习器间存在强依赖关系、必须串行生成的序列化方法;
- 代表算法:AdaBoost
- Boosting是一种框架算法,用来提高弱分类器准确度的方法。通过构造一个预测函数 序列,然后以一定的方式将他们组合成为一个准确度较高的预测函数。Boosting算法 更加关注错分的样本
-
Adaboost:一种迭代算法,针对同一个训练集训练不同的分类器(弱分类器),然后进行分类;对于分类正确的样本权值低,分类错误的样本权值高(通常是边界附近的样本),最后的分类器是很多弱分类器的线性叠加(加权组合),分类器相当简单。实际上就是一个简单的弱分类算法提升(boost)的过程。
-
Adaboost缺点:速度慢,在一定程度上依赖于训练数据集合和弱学习器的选择;训练数据不足或者弱学习器太“弱”,都将导致其训练精度的下降;Boosting易受到噪声的影响,因为它在迭代过程中总是给噪声分配较大的权重,使得这些噪声在以后的迭代中受到更多的关注。
分类器算法的评估:
评价指标定义:
- 准确率(Accuracy) :

- 精确率𝑝 (Precision) :

- 召回率𝑟 (Recall) :

- F1分数(F1-score) :

混淆矩阵会计算、ROC曲线会判定。
混淆矩阵,假设类别1为正,类别0为负(会计算)
每一行之和表示该类别的真实样本数量,每一列之和表示被预测为该类别的样本数量
ROC曲线会判定。ROC曲线表现为从原点垂直上升至左上角,然后水平到达右上角的一个直角折线。
回归和分类的区别、分类和聚类的区别。(判断)
- 给定一个样本特征 , 我们希望预测其对应的属性值 , 如果 是离散的, 那么这就是一个分类问题,反之,如果是连续的实数, 这就是一个回归问题
- 给定一组样本特征 , 我们没有对应的属性值 , 而是想发掘这组样本在二维空间的分布, 比如分析哪些样本靠的更近,哪些样本之间离得很远, 这就是属于聚类问题
- 聚类无监督学习。分类和回归有监督学习
逻辑回归P152页,图4-47出选择题。图给你,你给我对应是线性回归还是逻辑回归。
决策树:计算:示例4-20.
提升树:P157页图4-51,(图形题)。
习题:2,4会计算。
第3章关联规则挖掘
基本概念:支持度、频繁项集、强关联规则、置信度等等这些概念会用做关联分析。Apriori算法P61页这个例子,掌握(计算题)。Apriori算法的改进有哪些(选择题)。
Apriori算法的改进有哪些:
- 将整个事务数据库T的所有记录划分为不相交的子数据库Pi,保证每个Pi大小合适,能够放到内存的缓冲区中,从而提高访问效率,减少磁盘I/O的开销。
- 把每个Pi单独扫描一遍,得到局部的频繁项集。
- 将所有局部频繁项集合并,再扫描一次所有的子数据库,即第二次扫描整体数据库T,从而得到全局频繁项集。
FPGrowth算法了解不需要产生候选项集的频繁模式挖掘算法。
多层关联规则挖掘:P75页的例子()(计算)
序列模式算法:prefixSpan:会找前缀、后缀。
习题:8.
第2章数据特征分析与预处理
数据类型:数据集类型和数据属性类型(有哪些?会区分)(填空、选择、判断)
数据描述性特征:分类:集中趋势、离中趋势(度量的量:会判定)。另外、算术平均数、中位数、众数、四分位数、,极差,四分位数极差会计算。
集中趋势是指一组数据向某一中心值靠拢的倾向,测度集中趋势即要寻找数据一般水平的代表值或中心值。
集中趋势指标即统计平均数,是反映若千统计数据一般水平或集中趋势的综合指标。它可能表现为总体内各单位某一数量标志的一般水平,也可能表现为总体在某一段时期内的数量一般水平。
离中趋势是指一组数据中各数据值以不同程度的距离偏离其中心(平均数)的趋势,又称标志变动度。
离中趋势指标是用来综合反映数据的离中程度的一类指标。
【分位差、极差、离散系数、方差、平均差、标准差】
分布形态的度量:会看图、给你图形让你判定正偏态、负偏态。峰度、会根据k值判定常峰态、低峰态、尖峰态。以及偏度和峰度的作用。(选择、判断)。
数据偏度和峰度的作用:给定一个数据集合,通过计算它的偏度和峰度,可以估计数据分布和正态分布的差异,结合前面介绍的数据集中和离中趋势度量,就能够大致判断数据分布的形状等概要性信息,增加对数据的理解程度
可视化:会看箱型图。(图形题)。
相关性分析:手段有哪些?散点图、相关系数(判定正相关、负相关、不相关),根据相关系数判定。
相关系数的取值范围:【-1,1】。若【0,1】之间,表明X与Y之间存在正线性相关关系;若【-1,0】表明X与Y之间存在负线性相关关系。若r=0,说明二者之间不存在线性相关关系,但并不排除二者之间存在非线性相关性
预处理:零均值、Z分数变换(适用范围),独热编码(会编码),缺点。
零均值:多个属性经过零均值化变换后,都以零为均值分布,各属性的方差不发生变化,各属性间的协方差也不发生变化
Z分数变换的缺点:在于假如原始数据没有呈现高斯分布,标准化的数据分布效果并不好。
独热编码: 在实际应用独热编码时,要注意它的引入有时会带来数据属性(维数)极大扩张的负面影响。
抽样:不放回、水库抽样(算法描述)。
主成分分析:PCA是一个降维方法。
数据清洗:
1.缺失值:完全变量、不完全变量、会判定完全随机缺失、随机缺失、非随机缺失。会使用均值填充法进行填充。
将数据集中不含缺失值的变量(属性)称为完全变量,而将数据集中含有缺失值的变量(属性)称为不完全变量。
通常将数据缺失机制分为以下三种。
(1)完全随机缺失(Missins Compltely at Random,MCAR), 数据的缺失与不完全变量以及完全变量都是无关的。在这种情况下,某些数据的缺失与数据集合中其他数据的取值或者缺失没有关系,缺失数据仅是整个数据集合的一个随机子集合。 (例:硬件采集数据丢失)
(2)随机缺失( Missing at Random, MAR )。数据的缺天仅仅依赖于完全变量。随机缺失意味着数据缺失与缺失的数据值无关,但与数据在某些属性上的取值有关。例如,在分析客户购物行为的调查中,客户年龄这个属性的缺失值可能与本身的数值无关,但可能与客户的性别属性有关。客户收入属性上的缺失值,可能与他的职业属性有关,但与自身收入多少无关。
(3)非随机缺失( Not Missing at Random, NMAR)。 在不完全变量中数据的缺失依赖于不完全变量本身,这种缺失是不可忽略的。例如,在客户购物行为的调查中,一些高收入人群往往不填写收入值,这种缺失值与自身属性取值有关。
均值填充法
将属性分为数值型和非数值利分别进行处理。如果缺失值是数值型,就用该属性在其他所有对象的取值的平均值来填充该缺失的变量值:如果缺失值是非数值型,则使用众数补齐该缺失的变量值。这种方法是建立在完全随机缺失的假设之上,而且会造成变量的方差和标准差变小。
这种方法的一个改进是“局部均值填充”,即使用有缺失值元组的“类别”的所有元组的平均值作为填充值。例如,某个职员工资额的缺失值,可以根据该员工的职称,求出具有同一职称的所有职工的平均工资值替换缺失值,以更加接近真实值。
平滑噪声:四种分箱方法(会使用等深分箱法、等宽分箱法)+平均值平滑。示例2-26.计算。
习题:4,5
第1章绪论
大数据的4V(填空、选择)
容量、多样性、速度、价值
数据挖掘提取出来的知识有哪些:
概念、规则、模式、规律。(填空、选择)
大数据分析与挖掘的步骤和主要功能。综合题。
大数据分析与挖掘的过程一般分为如下几个步骤:
1、任务目标的确定
这一步骤主要是进行应用的需求分析,特别是要明确分析的目标,了 解与应用有关的先验知识和应用的最终目标。
2、目标数据集的提取
这一步骤是要根据分析和挖掘的目标,从应用相关的所有数据中抽取数据集,并选择全部数据属性中与目标最相关的属性子集。
3、数据预处理
这一步聚用来提高数据挖掘过程中所需数据的质量,同时也能够提高挖掘的效率。数据预处理过程包括数据清洗、 数据转换、数据集成、数据约减等操作。
4、建立适当的数据分析与挖掘模型
这一步骤包含了大量的分析与挖掘功能,如统计分析、分类和回归、聚类分析、关联规则挖掘、异常检测等。
5、模型的解释与评估
这一步骤主要见对挖掘出的模型进行解释,可以用可视化的方式来展示它们以利于人们的理解。 对模型的评估可以采用自动或半自动方式来进行,目的是找出用户真正感兴趣或有用的模型。
6、知识的应用
将挖掘出的知识以及确立的模型部署在用户的应用中。但这并不代表数据挖掘过程的结束,还需要一个不断反馈和迭代的过程,使模型和挖掘出的知识更加完善。
数据挖掘主要包括如下的功能:
1、对数据的统计分析与特征描述
2、关联规则挖掘和相关性性分析
3、分类和回归
分类是通过对一些已知类别标号的训练数据进行分析,找到一种可以描述和区分数据类别的模型,然后用这个模型来预测未知类别标号的数据所属的类别。分裂模型的形式有多种,例如决策树、贝叶斯分类器、KNN分类器、组合分类算法等,回归则是对数值型的函数进行建模,常用于数值预测。
4、聚类分析
分类和回归分析都有处理训练数据的过程,训练数据的类别标号为已知。而聚类分析则是对未知类别标号的数据进行直接处理。聚类的目标是使聚类内数据的相似性最大,聚类间数据的相似性最小
5、异常检测或者离群点分析
一个数据集可能包含这样一些数据,他们与数据模型的总体特性不一致,称为离群点