聚类分析用于发现局部强相关的对象组,而异常检测用来发现不与其他对象强相关的对象。
因此,聚类分析可以用于离散度检测。
诊断步骤
- 进行聚类。选择聚类算法(如K-Means算法),将样本集聚K簇,并找到各簇的质心。
- 计算各对象到它的最近质心的距离。
- 计算各对象到它的最近质心的相对距离。(相对距离是点到质心的距离与簇中所有点到质心的距离的中位数之比)
- 与给定的阈值作比较。
如果某对象距离大于阈值,就认为该对象是离散点。
数据示例
代码实现
#-*- coding: utf-8 -*-
#使用K-Means算法聚类消费行为特征数据
import numpy as np
import pandas as pd
#参数初始化
inputfile = '../data/consumption_data.xls'