聚类——kmeans和dbscan

这是无监督学习算法的经典算法

问题,有堆样本,要把里面相似的样本分到一组。

解决:

1、指定要把样本分为k簇。

2、利用距离度量每个族的样本的准则。

优化目标:

 工作流程(假设K=2):

1、先在样本中任意的指定两个点A和B,遍历所有的样本到两点距离,哪个近就认为样本是属于哪个AB点。

2、再分别计算每个属于AB点的所有样本的质点,也就是各个维度取平均,这个质点是新的AB点。

3、重复1。直到没有变化。

缺点:1、K值难定。2、样本多的时候,因为要遍历所有,所以比较复杂。3、很难发现任意形状的簇。


为了解决这个问题,引入了DBSCAN算法。

kmeans是设置k簇,DBSCAN设置为邻域个数最小值和邻域半径。

这里引入了一些概念:

1、核心对象,就是某个点的密度达到算法设定了阈值为核心点,就是r邻域内的数量不小于minpts。

2、邻域的阈值,设置半径r。

3、直接密度可达,若某个点p在q的r邻域内,q是核心点,则p到q是直接密度可达。这里可以看出密度可达可以传播。

其实算法核心步骤就是:画圈,找点,发展下线。


半径可以依靠突变点设置,当数据集中点p到集合中的点距离突然变大,就可以设置为半径。

minpts可以多次尝试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值