【机器学习】25. 聚类-DBSCAN(density base)

聚类-DBSCAN-density base

  • [1. 介绍](#1. 介绍)
  • [2. 实现](#2. 实现)
  • [3. K-dist](#3. K-dist)
  • [4. 变化密度](#4. 变化密度)
  • [5. 优缺点](#5. 优缺点)

1. 介绍

DBSCAN -- Density-Based Spatial Clustering of Applications with Noise

与K-Means查找圆形簇相比,DBSCAN可以查找任意形状和复杂形状的簇,如S形、椭圆、半圆

适合处理带有噪声的复杂数据集. DBSCAN将高密度区域识别为一个簇, 并把低密度区域视为簇和簇之间的分割. 噪声点通常位于低密度区域, 被排除在簇之外.

不同于K-means只能找圆形的簇, DBSCAN能找任意复杂形状的簇, 如S形, 半圆形...

2. 实现

在给定的数据集中,根据每个数据点周围其他数据点的密度情况,将数据点分为核心点、边界点和噪声点。

  • 核心点 core point 是周围某个半径内有足够多其他数据点的数据点;
  • 边界点 border point 是不满足核心点要求,但在某个核心点的半径内的数据点;
  • 噪声点 noise point 则是不满足任何条件的点。

接着,从核心点开始,通过密度相连的数据点不断扩张,形成一个簇。

一个点的密度取决于半径Eps. 如果:

Eps太大: 所有的点都会有一个较大的密度m,m是数据集中所有的点的数量

Eps太小: 所有的点的密度都等于1, 即只有一个自身

具体实现步骤为

  1. 将数据点标注为核心点, 边界点, 噪声点
  2. 抛弃噪声点
  3. 将剩余的点根据如下方式聚类:
  • 任何两个核心点, 若各自在对方的Eps内, 则属于同一个簇
  • 任何的边界点都放在与其相关联的核心点所属的簇中. 若边界点同时和多个核心点相关联, 需要解决冲突

案例计算

Eps = 1

MinPts = 2

  1. 找每个点eps范围内的点
    A : AB
    B: AB
    C: C
    D: DE
    E: ED

2.根据MinPts找到core point, border point 和noise point

Core point: A,B,D,E

border point: 0

noise point: C

  1. 找到类 AB,DE

3. K-dist

不同的Eps和MinPts可能会对结果产生很大影响.

可以使用k-距离, k-dist来选取适当的Eps和MinPts.

计算每个点到第k个最近邻居的距离,属于某个cluster的点,k-dist会比较小,对与不属于任何cluster的点,如噪声点,则k-dist比较大。在这个图中,拐点是比较合适的。

在 k-距离图(k-distance graph)中,X 轴和 Y 轴表示以下内容:

X 轴(点的索引):数据集中所有点按与其第 k 个最近邻的距离值从小到大排序后的索引。这些点可以按顺序编号,例如从 1 到数据集中点的总数。

Y 轴(k-距离):每个点与其第 k 个最近邻的距离,通常记为 k-距离值。这个值表示该点到数据集中第 k 近邻点的距离。Y 轴的值越大,表示点的密度越低,反之则表示密度较高。

4. 变化密度

DBSCAN无法很好处理密度不同的cluster

5. 优缺点

优点:

  • 可以形成任意形状和大小的簇
  • 不需要实现指定簇的数量
  • 对噪声具有鲁棒性

缺点:

  • 不适合密度差异较大的数据
  • 不适合高维数据
  • 对输入参数Eps和MinPts敏感
    -Eps和MinPts选择通常不是直观的, 需要通过一些启发方法

时间复杂度n^2

空间复杂度n

相关推荐
独断万古他化10 分钟前
【算法通关】前缀和:从一维到二维、从和到积,核心思路与解题模板
算法·前缀和
loui robot13 分钟前
规划与控制之局部路径规划算法local_planner
人工智能·算法·自动驾驶
玄同76516 分钟前
Llama.cpp 全实战指南:跨平台部署本地大模型的零门槛方案
人工智能·语言模型·自然语言处理·langchain·交互·llama·ollama
格林威19 分钟前
Baumer相机金属焊缝缺陷识别:提升焊接质量检测可靠性的 7 个关键技术,附 OpenCV+Halcon 实战代码!
人工智能·数码相机·opencv·算法·计算机视觉·视觉检测·堡盟相机
独处东汉27 分钟前
freertos开发空气检测仪之按键输入事件管理系统设计与实现
人工智能·stm32·单片机·嵌入式硬件·unity
你大爷的,这都没注册了27 分钟前
AI提示词,zero-shot,few-shot 概念
人工智能
AC赳赳老秦28 分钟前
DeepSeek 辅助科研项目申报:可行性报告与经费预算框架的智能化撰写指南
数据库·人工智能·科技·mongodb·ui·rabbitmq·deepseek
瑞华丽PLM36 分钟前
国产PLM软件源头厂家的AI技术应用与智能化升级
人工智能·plm·国产plm·瑞华丽plm·瑞华丽
Ryan老房40 分钟前
无人机航拍图像标注-从采集到训练全流程
yolo·目标检测·机器学习·计算机视觉·目标跟踪·无人机
你撅嘴真丑44 分钟前
第八章 - 贪心法
开发语言·c++·算法