数据挖掘期末复习:ID3DBSCAN关联分析离群点挖掘等

Posted karshey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据挖掘期末复习:ID3DBSCAN关联分析离群点挖掘等相关的知识,希望对你有一定的参考价值。

文章目录

小题

一些要背

数据挖掘的定义
技术层面:数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中、人们事先不知道的、但又潜在有用的信息的过程。

商业层面:数据挖掘是一种新的商业信息处理技术,其主要特点是对商业业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性数据。

记法:
技术层面:从5的实际应用数据,提取3的信息。
商业层面:对业务数据进行4,从中…

区分分类和聚类

  • 以图搜图——聚类
  • 人脸识别、垃圾邮件检测、扑克牌按花色分组——分类

计算

余弦相似度:两个向量相乘,再除以它们的模。

相关系数:标准化后的余弦相似度。相关系数越接近1或-1,则两特征相关性越强,越接近0,相关性越弱。

欧几里得距离
d = ( p 1 x − p 2 x ) 2 + ( p 1 y − p 2 y ) 2 d=\\sqrt(p1_x-p2_x)^2+(p1_y-p2_y)^2 d=(p1xp2x)2+(p1yp2y)2

曼哈顿距离
d = ∣ ( p 1 x − p 2 x ) ∣ + ∣ ( p 1 y − p 2 y ) ∣ d=|(p1_x-p2_x)|+|(p1_y-p2_y)| d=(p1xp2x)+(p1yp2y)

截断均值:

大题

分类

ID3

递归终止的条件:

第一步:计算总的信息量(标签)

第二步:选一个做根节点。

若选天气做根节点:

若选气温做根节点:

若选湿度作为节点:

若选风作为根节点:

选择信息增益gain最大的作为根节点。
因此我们这里选择天气作为根节点。

第三步:

计算天气为晴的时候的信息增益。
可知,当湿度为下一个节点时信息增益是最大的,所以中间的图是对的。

第四步:算天气为多云时的信息增益。
再往下看,我们发现,当天气为多云时,目标属性全都是一个值。则不需要再算信息增益了。

第五步:算天气为雨的信息增益。

最终的决策树:

可以这样画:属性是圆圈,标签是方框。

一个练习:
ps:
我们考试要把info写成Entropy(信息熵)
数据集为S,属性为wind的划分,则其信息增益表示为Gain(S,wind)

其实跟上面的例题是一样的,大概过程格式如下~~(字太丑了,将就看一下吧)~~ :

C4.5

信息增益率=信息增益/分裂信息。


为什么要有信息增益率?
答:因为要兼顾为获得信息增益所付出的“代价”。

CART(Gini系数)

CART算法使用Gini系数来度量对某个属性变量测试输出的两组取值的差异性。理想的分组应该尽量使两组中样本输出变量取值的差异性总和达到最小,即“纯度”最大,也就是使两组输出变量取值的差异性下降最快,“纯度”增加最快。


如何计算基尼系数?

例1:

label1=5,
label2=5;

则:

p(1)=0.5;
p(2)=0.5;
Gini=1-p(1)*p(1)-p(2)*p(2)=0.5;

例2:

label1=8,
label2=2;

则:

p(1)=0.8;
p(2)=0.2;
Gini=1-p(1)*p(1)-p(2)*p(2)=0.32;

例3:

label1=0,
label2=1;

则:

p(1)=0;
p(2)=1;
Gini=1-p(1)*p(1)-p(2)*p(2)=0;

由上面3个例子可知,当Gini系数是0.5时,说明这个属性的分类处于一个非常混乱的状态,当Gini系数为0时,说明这个属性分类分的纯度很高。
如果一个属性的Gini系数都非常小,那么我们可以说这个属性是很好的区分类别的属性。
——所以我们可以通过基尼系数来选择属性。

基尼加权的计算:

有房的:3
没房的:7.

对于有房的,有3个人不拖欠,0个人拖欠。则Gini=1-1=0
对于没房的,有4个人不拖欠,3个人拖欠。则Gini=1-(3/7)x(3/7)-(4/7)x(4/7)=24/49

因此,加权基尼系数为:3/10 x 0+7/10 x 24/49 =12/35

K近邻

ID3、C4.5、K近邻优缺点、分类评价



朴素贝叶斯


还没写。

聚类

K-means

书p112

快速理解:

步骤:

流程:
k-means算法基本步骤

  1. 从数据中选择k个对象作为初始聚类中心;
  2. 计算每个聚类对象到聚类中心的距离来划分;
  3. 再次计算每个聚类中心
  4. 计算标准测度函数,之道达到最大迭代次数,则停止,否则,继续操作。

例子:

k-means算法的优缺点
优点为算法描述容易、实现简单、快速
缺点如下:
(1)簇的个数k难以确定
(2)聚类结果 对初始簇中心的选择较敏感
(3)对噪音和异常数据敏感
(4)不能用于发现非凸形状的簇,或具有各种不同大小的簇。

DBSCAN

书p127-130

一个非常直观的DBSCAN算法演示:DBSCAN聚类 动画演示

相关概念:

核心点:半径为r的邻域内,包含数据点的个数不小于某个阈值。
边界点:属于某一个簇的非核心点。
离群点:不属于任何一个类的点。

例题:

解:

DBSCAN算法的优点:**可以识别具有任意形状和不同大小的簇,自动确定簇的数目,分离簇和环境噪声,一次扫描数据即可完成聚类。**如果使用空间索引,DBSCAN 的计算复杂度是O(N log N),否则计算复杂度是O(N2)。

一趟聚类算法

书p138-140.
优缺点:
省流:
优点:近似线性时间复杂度;高效,参数选择简单,对噪声不敏感。
缺点:不能用于发现非凸形状的簇,或具有各种不同大小的簇;对数据样本的顺序比较敏感

不省流:
一趟聚类算法具有近似线性时间复杂度,类似于 k-means算法,其本质上是将数据划分为大小几乎相同的超球体,不能用于发现非凸形状的簇,或具有各种不同大小的簇。

对于具有任意形状簇的数据集,算法可能将一个大的自然簇划分成几个小的簇,而难以得到理想的聚类结果。与k-means 算法不同,一趟聚类算法对数据样本的顺序比较敏感,通过聚类阈值的改变来影响聚类得到的簇个数。大规模数据集的聚类可以采用类似 BIRCH算法的两阶段聚类思想,结合一趟聚类算法的高效性及其他可识别任意形状簇的聚类算法的优点得到混合聚类算法。如选取较小的阈值,利用一趟聚类算法产生初始聚类,将得到的簇作为整体看成对象,再利用DBSCAN、Chameleon、SNN 等可以识别任意形状数据的算法进行聚类,可以得到很好的效果。

层次聚类

书p121.

层次聚类方法可分为自顶向下和自下而上两种。

自下而上聚合层次聚类方法(或凝聚层次聚类)。这种自下而上策略就是最初每个对象(自身)作为一个簇,然后将这些簇进行聚合以构造越来越大的簇,直到所有对象均聚合为一个簇,或满足一定终止条件为止。绝大多数层次聚类方法属于这一类,只是簇间相似度的定义有所不同。

自顶向下分解层次聚类方法(或分裂层次聚类)。这种方法的策略与自下而上的凝聚层次聚类方法相反。它首先将所有对象置于同一个簇,然后将其不断分解,而得到规模越来越小但个数越来越多的小簇,直到所有对象均独自构成一个簇,或满足一定终止条件为止。

关联分析

例题如下:

A的支持度:A出现的次数除以事务个数(这里是10)。

求最大频繁项目集

L3是不存在的,所以L2ACDE,L1ABCDEF
最大频繁项目集:ACDEBF

BF怎么来的:L1中的不能出现在L2中,L2中的不能出现在L3中的频繁项集也是最大频繁项目集。

找出所有的强关联规则

强关联规则:同时满足最小支持度和置信度。
我们在第一问中已经找出频繁项目集了,所以只需要在频繁项目集中找出置信度>=60%的就可以了。

置信度:P(A->C)即A发生的情况下C也发生,即P(AC)/P(A)。

Apriori算法利用以上性质,逐层生成关联规则。先产生后件只包含一项的关联规则,然后两两合并这些关联规则的后件,生成后件包含两项的候选关联规则,从这些候选关联规则中再找出强关联规则,以此类推。
例如,a b c d是频繁项集,如果a c d→(b和a b d→c是两个高置信度的规则,则通过合并这两个规则的后件b c,候选规则的前件为a b c d)-b c=a d,得到候选规则a d→b c

离群点挖掘(OF1、OF3)

合理的异常点是允许存在的。

OF1
概念:

例题:

步骤:
k=2,则选对P1、P2来说最近的两个点(如果有距离一样的,那都算上),算它们的距离。
比较它们的平均值哪个大,大的是离群点(毕竟大的更远)。


OF3
问P1、P2哪个点是离群点。
已知有三个簇,要算这三个簇的质心
计算点到质心的欧式距离
OF3是其加权后的距离长度——如一共有N个点,这个簇有n个点,则这个簇的距离就是 P点到质心的欧式距离 x n/N(详情看解答,一看就懂)。
OF3值大的是离群点,因为距离远。

解答:

故P1是离群点。

后面这个了解一下:

参考资料

《数据挖掘原理与实践》-电子工业出版社
师兄师姐留的提纲
评定数据之间的相似度指标----距离
【决策树算法1】ID3算法 数据挖掘 期末考试 计算题 详细步骤讲解
【数据挖掘】决策树零基础入门教程,手把手教你学决策树!
机器学习:信息熵,基尼系数,条件熵,条件基尼系数,信息增益,信息增益比,基尼增益,决策树代码实现(一)
Apriori算法原理
期末数据挖掘关联规则的apriori 算法计算大题
一个非常直观的DBSCAN算法演示:DBSCAN聚类 动画演示
【帅器学习/星辰】DBSCAN算法
【10分钟算法】K均值聚类算法-带例子/K-Means Clustering Algorithm
【期末划重点】数据挖掘
什么是KNN(K近邻算法)?【知多少】

以上是关于数据挖掘期末复习:ID3DBSCAN关联分析离群点挖掘等的主要内容,如果未能解决你的问题,请参考以下文章

数据分析 第五篇:离群点检测

离群点检测算法-基础概念

数据分析与挖掘期末复习笔记(不挂科)

期末复习笔记——图

Python数据分析与可视化期末复习笔记整理(不挂科)

R语言︱异常值检验离群点分析异常值处理