Classifier 分类器:异常检测/离群检测常用算法

Classifier 分类器:异常检测/离群检测常用算法

  • 一、CBLOF(Cluster-Based Local Outlier Factor基于聚类+距离)
  • 二、KNN (K Nearest Neighbors)
  • 三、Isolation forest (孤立森林)
  • 四、Robust covariance


一、CBLOF(Cluster-Based Local Outlier Factor基于聚类+距离)

基于LOF思想,计算每个点p和其相邻点之间的密度来判断该点是否为异常点。距离越近则密度越高,距离越远则密度越低。

Classifier 分类器:异常检测/离群检测常用算法_第1张图片
** k-means➕欧式距离
在这里插入图片描述


二、KNN (K Nearest Neighbors)

每个样本都可以用与它最接近的k个样本来表示。
一般使用欧式距离来衡量样本和邻居之间的相似度。
Classifier 分类器:异常检测/离群检测常用算法_第2张图片
Classifier 分类器:异常检测/离群检测常用算法_第3张图片
代码和例子来自:https://blog.csdn.net/saltriver/article/details/52502253
***在选择k值时,k值越大,则模型和实际样本之间的误差可能会越大,但是模型预测效果较好。k值越小,模型和实际样本之间的误差越小,但是对模型预测输入值的要求越高。


三、Isolation forest (孤立森林)

1/基于树的概念,在全部样本中随机选择一部分放入树的根结点
2/随机指定一个纬度,在当前结点中随机产生一个切割点
3/以此切割点形成数据空间中的超平面,将数据空间切割为两部分,小于切割点的放在左孩子,大于切割点的放在右孩子
4/再制定下一个纬度,形成切割点,直至空间纬度中孩子节点只剩下一个数据。
Classifier 分类器:异常检测/离群检测常用算法_第4张图片


四、Robust covariance

由于协方差的最大似然估计对于outlier的影响是非常敏感的,所以使用稳健协方差来得到一个较为稳定的估计量。
受污染的数据集离群点数量:
在这里插入图片描述
稳健协方差观测值数量:
在这里插入图片描述

你可能感兴趣的:(python,算法,聚类)