DBSCAN聚类的Scikit-learn实现

DBSCAN聚类的Scikit-learn实现

- 目录
   1 dbscan原理介绍
   2 dbscan的python scikit-learn 实现及参数介绍
   3 dbscan的python scikit-learn调参

  1. dbscan原理介绍
    1.1样本点的分类:
    核心点(core point): 若样本点在其规定的邻域内包含了规定个数(或大于规定个数)的样本点,则称该样本点为核心点。
    边界点(border point):若样本点在其规定的邻域内包含的样本点数少于规定的样本点数,但是该样本点属于其他核心点的范围内,则该点为边界点。
    噪声点(noise): 既不是核心点也不是边界点的点。
    dbscan中的点分类
三类点
   通过上面三类点的介绍,我们可以发现,要找到这三类点,必须有两个参数:1)规定的邻域距离,2)规定邻域内点的个数。这两个点就是实现dbscan算法的两个核心参数eps和min_sample。这两个参数如何选取在“调参部分”(第3部分)会讲解。 1.2dbscan的实现步骤 循环每个样本点point_i:    step1:寻找规定的邻域距离(eps)内的所有样本点,如果邻域内的样本点数小于min_sample数,则将该样本点标记为“噪声点”,并进行下一次循环。如果eps内样本点数大于min_sample则这个点被标记为“核心点”,并被打上一个簇标签j;    step2:以该“核心点”为中心,访问邻域内的所有点,入过这些邻域内的点还没有被打标签,则被标记为为簇类j,如果已被打过标签则访问下一个点。如果被访问到的是“核心点”,那么就以它为中心再循环访问它的邻居。直到该簇的eps内没有更多的核心样本为止。    step3:跳入下一次循环。
  1. dbscan的python scikit-learn 实现及参数介绍
from sklearn.cluster import DBSCAN
import numpy as np
# 设置分类参数
eps = 0.1
min_sample=10<
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值