数据挖掘期末复习------算法

第二章:数据

单个对象单个属性之间的相似度和相异度:

在这里插入图片描述

Euclidean距离:


在这里插入图片描述

Minkowski距离:

在这里插入图片描述

第三章:数据预处理

分箱:

具体见如下博客:

https://www.cnblogs.com/serena45/p/5559122.html
https://blog.csdn.net/u012768474/article/details/100772853

所谓“分箱”,实际上就是按照属性值划分的子区间,如果一个属性值处于某个子区间范围内,就称把该属性值放进这个子区间所代表的“箱子”内。

在采用分箱技术时,需要确定的两个主要问题就是:如何分箱以及如何对每个箱子中的数据进行平滑处理。

**分箱的方法:**有4种:等深分箱法等宽分箱法、最小熵法和用户自定义区间法。

统一权重,也称等深分箱法,将数据集按记录行数分箱,每箱具有相同的记录数,每箱记录数称为箱子的深度。这是最简单的一种分箱方法。

统一区间,也称等宽分箱法,使数据集在整个属性值的区间上平均分布,即每个箱的区间范围是一个常量,称为箱子宽度。

例:客户收入属性income排序后的值(人民币元):800 1000 1200 1500 1500 1800 2000 2300 2500 2800 3000 3500 4000 4500 4800 5000,分箱的结果如下。
统一权重:设定权重(箱子深度)为4,分箱后
【就是每个箱子都是装4个数值】
箱1:800 1000 1200 1500
箱2:1500 1800 2000 2300
箱3:2500 2800 3000 3500
箱4:4000 4500 4800 5000
统一区间:设定区间范围(箱子宽度)为1000元人民币,分箱后
箱1:800 1000 1200 1500 1500 1800
箱2:2000 2300 2500 2800 3000
箱3:3500 4000 4500
箱4:4800 5000

数据平滑方法:按平均值平滑、按边界值平滑和按中值平滑。
⑴按平均值平滑
对同一箱值中的数据求平均值,用平均值替代该箱子中的所有数据。

⑵按边界值平滑
用距离较小的边界值替代箱中每一数据。

⑶按中值平滑
取箱子的中值,用来替代箱子中的所有数据。

例子“
price 的排序后数据(美元): 4, 8, 9, 15, 21, 21, 24, 25, 26, 28, 29, 34
划分为(等深的)箱:
-箱1: 4, 8, 9, 15
-箱2: 21, 21, 24, 25
-箱3: 26, 28, 29, 34
用箱平均值平滑:
-箱1: 9, 9, 9, 9
-箱2: 23, 23, 23, 23
-箱3: 29, 29, 29, 29
用箱边界值平滑:
-箱1: 4, 4, 4, 15
-箱2: 21, 21, 25, 25
-箱3: 26, 26, 26, 34
在这里插入图片描述

第三章:分类问题

基本分类器:
决策树
神经网络
朴素贝叶斯
支持向量机
基于规则的方法
最近邻

决策树:

hunt 算法:
算法的递归定义:
设 Dt 是与结点 t 相关连的训练记录集。
(1)如果 Dt 中所有记录都属于同一个类 yt, 则 t 是叶结点,用 yt 标记。
(2)如果 Dt 中包含属于多个类的记录,则选择一个属性测试条件,将记录划分成较小的子集。

算法过程:
①分类结果有两个,Yes 和 No,把它们作为叶节点列举出来;
②加入第一个测试条件“Home Owner”,发现有房的都能偿还贷款,于是左边的“defauled = No”可以作为叶节点,右边的继续加入测试条件,迭代判断。
在这里插入图片描述

ID3算法:
详细见博客:

https://blog.csdn.net/weixin_43216017/article/details/87474045

ID3算法使用的数据特征函数(标准)为信息增益。熵表示的是不确定度,熵越大,不确定度就越大。

熵计算公式
假设在数据S中有C 个类别,其中第i 个类别数据在总数据中占有率为pi ,则熵的计算公式为:
在这里插入图片描述
假定根据属性A划分的数据S的总数为m个,Sj表示m中第j个数据。
在这里插入图片描述
分类前后熵减小的差值就是信息增益
在这里插入图片描述
实例见上面博客网址!
ID3框架:

ID3(Examples, Target_attribute, Attributes)。
创建树的根节点Root。
如果样本属同一类C,返回该根结点,创建单节点树,并以C作为类。
如果属性为空,那么返回根节点,其类标号 为样本集中的多数类。
A 属性中分类样本能力最好的属性(最大信息增益)。
以A作为节点分类属性。
对于A的每个可能值 vi :
在节点下加一个新的分支对应测试 A= vi.。
令样本vi为样本集中中满足A属性值为vi的子集.。
如果 Examples (vi) 为空:
在这个新分支下加一个叶子节点,节点的标号为样本中的多数类.。
否则在新分支下加一个子树:
ID3(Examples(vi), Target_attribute, Attributes-{A})。
返回根节点 Root。

ID3的优点:理论清晰,方法简单,学习能力较强。
ID3的缺点:
(1) 信息增益的计算比较依赖于特征数目比较多的特征
(2) ID3为非递增算法
(3) ID3为单变量决策树
(4) 抗糙性差

朴素贝叶斯:

贝叶斯公式:
在这里插入图片描述
朴素贝叶斯:
在这里插入图片描述
朴素贝叶斯公式就是假设a1、a2、a3、。。。an之间相互条件独立
而底下的P(a1,a2,…,an),对所有概率是一样的,可去掉。

例题:
在这里插入图片描述
在这里插入图片描述

KNN算法:

KNN:对于一个需要预测的输入向量x,我们只需要在训练数据集中寻找k个与向量x最近的向量的集合,然后把x的类别预测为这k个样本中类别数最多的那一类。
在这里插入图片描述

支持向量机:

支持向量:靠近边界的点

第五章:聚类问题

K-Means算法:

推荐博客:

https://blog.csdn.net/u013850277/article/details/88411966

在这里插入图片描述
这里的K为常数,需事先设定,通俗地说该算法是将没有标注的 M 个样本通过迭代的方式聚集成K个簇。
在这里插入图片描述
如上图以 K 为2,样本集为M 来描述KMean算法,算法执行步骤如下:

选取K个点做为初始聚集的簇心(也可选择非样本点);

分别计算每个样本点到 K个簇核心的距离(这里的距离一般取欧氏距离或余弦距离),找到离该点最近的簇核心,将它归属到对应的簇;

所有点都归属到簇之后, M个点就分为了 K个簇。之后重新计算每个簇的重心(平均距离中心),将其定为新的“簇核心”;

反复迭代 2 - 3 步骤,直到达到某个中止条件。

注:常用的中止条件有迭代次数、最小平方误差MSE、簇中心点变化率;

K值的选择: k 值对最终结果的影响至关重要,而它却必须要预先给定。给定合适的 k 值,需要先验知识,凭空估计很困难,或者可能导致效果很差。

层次聚类:

凝聚(自下而上法):
以点作为各个簇开始,每一步, 合并最近的两个簇直到只剩一个(or k clusters) 簇。
分裂(自上而下法):
从一个包括所有点的簇开始,每一步, 分裂一个簇直到每个簇只包含一个点 (or there are k clusters)。

定义簇间相似性:
在这里插入图片描述

凝聚:
实例:
在这里插入图片描述
①首先,找到两个距离最近的点(即簇间相似性最高),将这两点划分为同一簇;
②在利用MAX、或MIN、或Group Average重新计算簇间相似性,再找到距离最近的两个簇,把它们划分为同一簇(即返回第一步迭代)。

DBSCAN(一种基于密度的聚类算法):

主要思想:
寻找被低密度区域分离的高密度区域。
只要临近区域的密度(单位大小上对象或数据点的数目) 超过某个阈值,就继续聚类。
相关知识点:
密度 = 指定半径内的点的数量(Eps)。
一个点是一个核心点,如果在指定半径(Eps) 内有超过一个指定的点数 (MinPts),那这些都是在簇内部的点。
在 指定半径(Eps)内,一个边界点有少于 MinPts 的点数, 但它落在核心点的邻域内。
噪声点 既非核心点也非边界点的任意点。

密度直达:若某点p在q的 邻域内,且q是核心点则p-q直接密度可达。
密度可达:若有一个带你的序列q0、q1、…、qk,对任意qi-qi-1是直接密度可达的,责成从q0到qk密度可达,这实际上是直接密度可达的“传播”。
密度相连:若从某核心点出发,点q和点k都是密度可达的,则称点q和点k是密度相连的。
在这里插入图片描述
在这里插入图片描述
过程:

从一个随机选择的点P开始.。
如果P是一个核心点,则通过逐步将密度可达的所有点添加到当前点集来构建簇。
噪声点被丢弃。

例题:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意点:
随机选择一个点,判断它是否是核心点后(如P1),得到其领域中的点构成簇1{P1、P2、P3、P13},接下来还要判断P2、P3、P13这些点是否是核心点,检查它们的Eps邻域,将它们的领域的点也加入到簇1中去。

第六章:关联分析

定义:
关联分析用于发现隐藏在大型数据集中的令人感兴趣的联系,所发现的模式通常用关联规则或频繁项集的形式表示。

相关知识点:
在这里插入图片描述

第七章:集成学习

bagging(Bootstrap aggregating)

概念:

是一种在原始数据集上通过有放回抽样重新选出S个新数据集训练分类器的集成技术。也就是说这些新数据集是允许重复的。
使用训练出来的分类器集合来对新样本进行分类,然后用多数投票或者对输出求均值的方法统计所有分类器的分类结果,结果最高的类别即为最终标签。为了提高模型的方差(variance, 差异性),bagging在训练待组合的各个模型的时候是从训练集合中随机的抽取数据。比如==随机森林(random forest)==就是多个随机决策树平均组合起来以达到较优分类准确率的模型。

算法实现原理:
在这里插入图片描述
在这里插入图片描述
随机森林(RF)的主要特征:
在这里插入图片描述
RF的优缺点:
在这里插入图片描述

Stacking:

概念:

Stacking(有时候也称之为stacked generalization)是指训练一个模型用于组合(combine)其他各个模型。即首先我们先训练多个不同的模型,然后再以之前训练的各个模型的输出为输入来训练一个模型,以得到一个最终的输出。

在这里插入图片描述

Boosting:

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值