python离群点检测_python基于聚类的离群点检测方法

本文介绍了如何使用聚类分析进行Python离群点检测,包括丢弃小簇、基于原型的聚类方法,并详细阐述了诊断步骤和改进策略。通过K-Means算法对消费行为特征数据进行聚类,计算对象到质心的相对距离,识别出离群点。
摘要由CSDN通过智能技术生成

首先让我们了解一下理论知识:

聚类分析常常用于发现局部强相关的对象组,而异常检测是发现局部不与其他对象强相关的对象,因此,聚类分析经常用于离群点检测,而常用的检测方法主要有:

丢弃远离其他簇的小簇:

这个方法可以和其他聚类方法一起使用,但是需要最小簇大小和小簇与其他簇之间距离的阈值。而且这种方案对簇个数的选择高度敏感,使用这个方案很难将离群点得分附加到对象上。也就是说丢弃小于某个最小阈值的所有簇。

基于原型的聚类:

首先聚类所有对象,然后评估对象属于簇的程度(离群点得分)。在这种方法中,可以用对象到它簇中心的距离来度量属于簇的程度。特别地,如果删除一个对象导致该目标的显著改进,则可将该对象视为离群点。对于基于原型的聚类,主要有两种方法评估对象属于簇的程度:一是度量对象到簇原型的距离,并用它作为该对象的离群点得分;二是考虑到簇具有不同的密度,可以度量簇到原型的相对距离,相对距离是点到质心的距离与簇中所有点到质心的距离的中位数之比。

诊断步骤如下:

1) 进行聚类。选择聚类算法,将样本集聚为K簇,并寻找到各簇的质心。

2)计算各对象到它的最近质心的距离。

3)计算各对象到它的最近质心的相对距离。

4)与给定的阈值作比较。

如果某对象距离大于该阈值,就认为该对象是离群点。

基于聚类的离群点检测的改进如下:

1)离群点对初始聚类的影响:通过聚类检测离群点时,离群点会影响聚类结果。为了处理该问题,可以使用方法:对象聚类,删除离群定,对象再次聚类

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值