当前课程知识点:数据挖掘 >  第8章 聚类 >  8.4 基于密度的聚类 >  8.4 基于密度的聚类

返回《数据挖掘》慕课在线视频课程列表

8.4 基于密度的聚类在线视频

下一节:基于密度的聚类

返回《数据挖掘》慕课在线视频列表

8.4 基于密度的聚类课程教案、知识点、字幕

由于基于划分的聚类算法

与基于层次的聚类算法

往往只能发现球形的聚类簇

对于其他类型的聚类簇

如图所示的S型和椭圆型的聚类效果

并不理想

为了更好地

发现各种形状的聚类簇

提出了基于密度的聚类算法

基于密度的聚类算法是以

数据集在空间中分布的稠密程度

为依据进行聚类

并不需要预先设定簇的数量

因此适合对于未知内容的数据集

进行聚类

常见的基于密度的聚类算法有

DBSCAN

OPTICS

DENCLUE等

这里主要介绍DBSCAN算法

先介绍相关的概念

ε-邻域

对象o的ε-邻域是以该对象为中心

ε为半径的空间

核心对象

用户指定一个参数MinPts

指定稠密区域的密度阈值

如果一个对象的ε-邻域

至少包含MinPts个对象

则称该对象为核心对象

直接密度可达

对于指定的对象集合D

有对象p与q

如果对象p在对象q的ε-邻域内

并且q是核心对象

则称对象p是从

对象q关于ε-和MinPts

直接密度可达的

密度可达

假设有对象链

pˇ1,pˇ2,…,pˇn

且pˇ1=q

pˇn=p

如果对于pˇi (1≤i

有pˇ(i+1)

是从pˇi关于ε和MinPts

直接密度可达的

则称p是从对象q关于ε和MinPts

密度可达的

密度相连

对于指定的对象集合D

如果存在一个对象o

使得对象p和对象q

从o关于ε-和MinPts密度可达

那么对象p和对象q

是关于ε和MinPts密度相连的

边界对象

对于对象p

如果它的ε-邻域内

包含的对象少于MinPts个

但落在某个核心对象的ε-邻域内

则称对象p为边界对象

噪声对象

既不是核心对象

也不是边界对象的任何对象

密度可达与密度相连

给定圆的半径ε

令MinPts =3

考虑下图各点之间的关系

在图中

点m、p、o和r的ε-邻域中

均包含3个以上的点

因此它们都是核心对象

点m是从p直接密度可达的

q也是从m直接密度可达的

因此q是从p密度可达的

但p从q无法密度可达

即非对称

类似地

s和r从q是密度可达的

q、r和s均是密度相连(对称)的

DBSCAN

具有噪声应用的基于密度的空间聚类

根据以上概念

在数据对象集中查找簇和噪声

这里的簇指的是对象集中的簇

即核心对象密度可达的所有对象的集合

该算法的基本思想

每个簇的内部点的密度

比簇的外部点的密度要高得多

它定义簇为“密度相连”的

最大对象集

不包含在任何簇中的对象

被认为是“噪声”

DBSCAN算法将簇

定义为密度相连的点的最大集合

能够把

具有足够高密度的区域划分为簇

并可在噪声的空间数据库中

发现任意形状的聚类

能有效排除噪声的干扰

并且聚类结果

不受输入顺序的影响

DBSCAN发现簇的过程如下

①初始给定数据集D中

所有对象被标记为“unvisited”

②随机选择一个未访问的对象p

标记p为“visited”

并检查p的ε-邻域

是否至少包含MinPts个对象

如果不是

则p被标记为噪声点

否则为p创建一个新的簇C

并且把p的ε-邻域中

所有对象都放在候选集合N中

③迭代地把N中不属于

其他簇的对象添加到C中

在此过程中

对于N中标记为“unvisited”的对象p'

把它标记为“visited”

并且检查它的ε-邻域

如果p'的ε-邻域

至少包含MinPts个对象

则p'的ε-邻域中的对象都被添加到N中

继续添加对象到C

直到C不能扩展

即直到N为空

此时簇C完成生成

输出即可

④从剩下的对象中

随机选择一个未访问过的对象

重复②和③

直到所有对象都被访问

例 使用DBSCAN算法进行聚类

例 使用DBSCAN算法进行聚类

设有数据集D

对象分布如图所示

设ε=1

MinPts=4

利用DBSCAN算法进行聚类

对图中的对象

以从上往下

从左往右的顺序进行编号

以标识对象

①标记所有点为unvisited

②随机选择点6

标记为visited

以它为圆心

半径为1的邻域内包含2个点

不满足不小于MinPts的要求

因此它不是核心点

暂标记为噪声

如图所示

③随机选择点2

标记为visited

以它为圆心

半径为1的邻域内包含3个点

不满足不小于MinPts的要求

可知其不是核心点

暂标记为噪声

④随机选择点1

标记为visited

以它为圆心

半径为1的邻域内包含3个点

不满足不小于MinPts的要求

可知其不是核心点

暂标记为噪声

⑤随机选择点5

标记为visited

以它为圆心

半径为1的邻域内包含5个点

大于MinPts

可知其为核心点

生成新簇C1

将点5放入C1

即C1={5}

将点5的半径为1的邻域内的点

放入候选集合N中

即N=2,4,6,7点的集合

其中点2和点6为visited

点4和点7为unvisited

在N中选择unvisited的点4

标记为visited

以点4为圆心

半径为1的邻域内包含4个点

等于MinPts

可知点4也是核心点

因点4不属于其他簇

将点4放入C1

即C1={4,5}

将点4的半径为1的邻域内的点

放入候选集合N中

即N=1,2,3,6,7的集合

其中点1、点2和点6为visited

点3和点7为unvisited

在N中选择unvisited的点3

标记为visited

以点3为圆心

半径为1的邻域内包含2个点

不满足不小于MinPts的要求

可知其不是核心点

因点3不属于其他簇

将点3放入C1

即C1=3,4,5集合

N=1,2,6,7点的集合

其中点1、点2和点6为visited

点7为unvisited

在N中选择unvisited的点7

标记为visited

以点7为圆心、半径为1的邻域内包含3个点

不满足不小于MinPts的要求

可知其不是核心点

因点7不属于其他簇

将点7放入C1

即C1=3,4,5,7的集合

N=1,2,6集合

其中点1、点2和点6为visited

在N中点1、点2和点6虽为visited

但它们不属于其他簇

将它们放入C1

即C1=1,2,3,4,5,6,7的集合

N={}

这样可以得到一个簇

C1=1,2,3,4,5,6,7的集合

如图所示

⑥在其他unvisited的点中

随机选择点8

标记为visited

以它为圆心

半径为1的邻域内包含3个点

不满足不小于MinPts的要求

可知其不是核心点

暂标记为噪声

⑦随机选择unvisited的点10

标记为visited

以它为圆心

半径为1的邻域内有5个点

大于MinPts

可知其是核心点

生成新簇C2

将点10放入C2

即C2={10}

将点10的半径为1的邻域内的点

放入候选集合N中

即N=8,9,11,12的集合

其中点8为visited

点9、点11和点12为unvisited

在N中选择unvisited的点9

标记为visited

以点9为圆心

半径为1的邻域内包含2个点

不满足不小于MinPts的要求

可知其不是核心点

因点9不属于其他簇

将点9放入C2

即C2=9,10的集合

N=8,11,12的集合

其中点8为visited

点11和点12为unvisited

在N中选择unvisited的点11

标记为visited

以点11为圆心

半径为1的邻域内包含2个点

不满足不小于MinPts的要求

可知其不是核心点

因点11不属于其他簇

将点11放入C2

即C2=9,10,11的集合

N=8,12的集合

其中点8为visited

点12为unvisited

即C2包括9 10 11 点的集合

N包括8 12 点的集合

其中点8为visited

点12为unvisited

在N中选择unvisited的点12

标记为visited

以点12为圆心

半径为1的邻域内包含2个点

不满足不小于MinPts的要求

可知其不是核心点

因点12不属于其他簇

将点12放入C2

即C2=9,10,11,12的集合

N包括点8

其中点8为visited

在N中点8虽为visited

但它不属于其他簇

将它放入C2

即C2=8,9,10,11,12的集合

N为空集

可得到新簇C2

包括8,9,10,11,12的集合

如图所示

至此

数据集D中的所有点都为visited

这样就将原数据集D划分为

两个簇

C1包括

1,2,3,4,5,6,7点的集合

和C2

包括8,9,10,11,12点的集合

如图所示

DBSCAN聚类算法

可以对任意形状的稠密数据集

进行聚类

可以在聚类的同时发现异常点

对数据集中的异常点不敏感

聚类结果没有偏倚

但如果样本集的密度不均匀

聚类间距差相差很大时

聚类质量较差

这时用

DBSCAN聚类算法一般不适合

其次

如果样本集较大时

聚类收敛时间较长

再者

调参相对复杂

主要需要对距离阈值ε

邻域样本数阈值MinPts联合调参

不同的参数组合

对最后的聚类效果有较大影响

数据挖掘课程列表:

第1章 概述

-1.1 数据分析与数据挖掘

--1.1 数据分析与数据挖掘

--1.1 数据分析与数据挖掘

-1.2 分析与挖掘的数据类型

--1.2 分析与挖掘的数据类型

-- 1.2 分析与挖掘的数据类型

-1.3 数据分析与数据挖掘的方法

--1.3 数据分析与数据挖掘的方法

-- 1.3 数据分析与数据挖掘的方法

-1.4 数据分析与数据挖掘使用的技术

--1.4 数据分析与数据挖掘使用的技术

--1.4 数据分析与数据挖掘使用的技术

-1.5 应用场景及存在的问题

--1.5 应用场景及存在的问题

-- 1.5 应用场景及存在的问题

-第1章 作业1

-第1章 作业2

-关于数据分析和数据挖掘的讨论

-关于数据分析与数据挖掘的讨论(研究生班级)

第2章 数据

-2.1 数据的属性

--2.1 数据的属性

-- 2.1 数据的属性

-2.2 数据的基本统计描述

--2.2.1 中心趋势度量

--2.2.2 数据分散度量

--2.2.3 数据的图形显示

--2.2 数据的基本统计描述

-2.3 数据的相似性和相异性

--2.3 数据的相似性和相异性

-- 2.3 数据的相似性和相异性

-第2章 作业1

-第2章 作业2

-关于属性类型的讨论

-关于数据属性的讨论(研究生班级)

第3章 数据预处理

-3.1 数据存在的问题

--3.1 数据存在的问题

--数据存在的问题

-3.2 数据清理

--3.2 数据清理

--数据清理

-3.3 数据集成

--3.3 数据集成

--数据集成

-3.4 数据归约

--3.4 数据规约

--数据归约

-3.5 数据变换与数据离散化

--3.5 数据变换与数据离散化

--数据变换与数据离散化

-第3章 作业1

-第3章 作业2

-关于建立数据集的讨论(研究生班级)

-关于数据预处理的讨论(研究生班级)

-关于建立数据集的讨论(本科生班级)

-关于数据预处理的讨论(本科生班级)

第4章 数据仓库和OLAP

-4.1 数据仓库基本概念

--4.1 数据仓库基本概念

--数据仓库基本概念

-4.2 数据仓库设计

--4.2 数据仓库设计

--数据仓库设计

-4.3 数据仓库实现

--4.3 数据仓库实现

--数据仓库实现

-4.4 联机分析处理

--4.4 联机分析处理

--联机分析处理

-4.5 元数据模型

--4.5 元数据模型

--元数据模型

-第4章 作业1

-第4章 作业2

-关于数据仓库和数据预处理的讨论(本科生班级)

-关于数据仓库价值的讨论(本科生班级)

-关于数据库与数据仓库的讨论(研究生班级)

第5章 回归分析

-5.1 回归分析的基本概念

--5.1 回归分析的基本概念

--回归分析的基本概念

-5.2 一元线性回归

--5.2 一元线性回归

--一元线性回归

-5.3 多元线性回归

--5.3 多元线性回归

--多元线性回归

-5.4 多项式回归

--5.4 多项式回归

--多项式回归

-第5章 作业1

-第5章 作业2

-关于回归预测法的讨论(本科生班级)

-关于回归分析的讨论(研究生班级)

-回归分析的优缺点(研究生班级)

第6章 频繁模式

-6.1 概述

--6.1 频繁模式概述

--频繁模式概述

-6.2 Apriori算法

--6.2 Apriori算法

--Apriori算法

-6.3 FP-growth算法

--6.3 FP-growth算法

--FP-growth算法

-6.4 压缩频繁项集

--6.4 压缩频繁项集

--压缩频繁项集

-6.5 关联模式评估

--6.5 关联模式评估

--关联模式评估

-第6章 作业1

-第6章 作业2

-关于Apriori算法的讨论(本科生班级)

-关于Apriori算法的讨论(研究生班级)

第7章 分类

-7.1 分类概述

--7.1 分类概述

--分类概述

-7.2 决策树

--7.2 决策树(上)

--7.2 决策树(中)

--7.2 决策树(下)

--决策树

-7.3 朴素贝叶斯分类

--7.3 朴素贝叶斯分类

--朴素贝叶斯分类

-7.4 惰性学习法

--7.4 惰性学习法

--7.4 惰性学习法

-7.5 神经网络

--7.5 神经网络(上)

--7.5 神经网络(下)

--神经网络

-7.6 分类模型的评估

--7.6 分类模型的评估(上)

--7.6 分类模型的评估(下)

--分类模型的评估

-第7章 第一部分作业2(研究生班级)

-第7章 第二部分作业2

-第7章 第二部分作业1

-关于分类算法的讨论(本科生班级)

-关于分类算法的讨论(研究生班级)

-关于神经网络的讨论(研究生班级)

第8章 聚类

-8.1 聚类概述

--8.1 聚类概述

--聚类概述

-8.2 基于划分的聚类

--8.2 基于划分的聚类(一)

--8.2 基于划分的聚类(二)

--基于划分的聚类

-8.3 基于层次的聚类

--8.3 基于层次的聚类

--基于层次的聚类

-8.4 基于密度的聚类

--8.4 基于密度的聚类

--基于密度的聚类

-8.5 基于网格的聚类

--8.5 基于网格的聚类

--基于网格的聚类

-第8章 作业1

-第8章 作业2

-关于基于划分和基于层次的聚类的讨论(本科生班级)

-关于聚类的讨论(本科生班级)

-关于聚类算法的讨论(研究生班级)

-关于聚类与数据挖掘的讨论(研究生班级)

第9章 离群点检测

-9.1 离群点定义与类型

--9.1 离群点定义与类型

--9.1 离群点定义与类型

-9.2 离群点检测

--9.2 离群点检测(一)

--9.2 离群点检测(二)

--离群点检测

-第9章 作业1

-第9章 作业2

-关于离群点检测的讨论(研究生班级)

8.4 基于密度的聚类笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。