机器学习:DBSCAN算法(效果比K-means好)

基本概念

核心对象:以点为圆心半径为r的圆,如果圈里面的样本点大于给定的阈值(minPts),那么这个点就叫做核心点

直接密度可达:点p在q为圆心的圆内

密度可达:

p1与p2直接密度可达,p2与p3直接密度可达,所以p1与p3被称为密度可达

边界点:

以p1为核心点的圈含p2,p2自己为核心点也有对应圈,并且圈内有点p3,同样p3也有以p3为核心点的圈,并且有点p4,这说明点p1,p2,p3是可以发展下去的点(我认为可以理解成以之前圈住点为圆心画圈不断圈住新的点)

但是p4就不行了,因为以p4为核心点的圈内没有其他样本点或者说样本点的个数少于规定的阈值MinPts,没有继续"发展"下去

工作流程

算法

需要输入的数据

参数D:输入数据集

参数:指定半径

MinPts:密度阈值

如何选择参数,基本上都是不断尝试

优势和劣势

可视化展示

Visualizing DBSCAN Clustering

Gaussian Mixture

如下图所示,调大半径epsilon之后,离群点就变小了

如果想用DESCAN算法找离群点,可以考虑将半径调小

Smiley Face

Packed Circles

但对于这种密集区域此时,DBSCAN分类就不如K-means

半径小了,就出现分类很多的情况;半径大了,就出现分类只有一两个的情况,还不如直接K-means直接给定分类的类别

相关推荐
孤飞18 小时前
zero2Agent:面向大厂面试的 Agent 工程教程,从概念到生产的完整学习路线
算法
技术专家20 小时前
Stable Diffusion系列的详细讨论 / Detailed Discussion of the Stable Diffusion Series
人工智能·python·算法·推荐算法·1024程序员节
m0_4889130120 小时前
万字长文带你梳理Llama开源家族:从Llama-1到Llama-3,看这一篇就够了!
人工智能·学习·机器学习·大模型·产品经理·llama·uml
csdn_aspnet20 小时前
C# (QuickSort using Random Pivoting)使用随机枢轴的快速排序
数据结构·算法·c#·排序算法
鹿角片ljp20 小时前
最长回文子串(LeetCode 5)详解
算法·leetcode·职场和发展
哥布林学者21 小时前
深度学习进阶(八)Swin Transformer
机器学习·ai
YoseZang21 小时前
【机器学习】【手工】Streaming Machine Learning 流数据学习 – 应对变化的机器学习方法(一)
人工智能·学习·机器学习
paeamecium1 天前
【PAT甲级真题】- Cars on Campus (30)
数据结构·c++·算法·pat考试·pat
chh5631 天前
C++--模版初阶
c语言·开发语言·c++·学习·算法
RTC老炮1 天前
带宽估计算法(gcc++)架构设计及优化
网络·算法·webrtc