kNN用来做异常点检测?

  统计/机器学习 监督式学习 无监督学习    浏览次数:418        分享
1

请问如何用kNN来做异常点检测?

kNN做异常检测是非监督的还是有监督的呢?

 

offer雨   2019-04-23 12:11



   3个回答 
10

kNN是有监督的,也就是我们需要知道样本的标签。比如下图中红色=正样本,蓝色=负样本。

我们看到红色的正样本中混进去了两个蓝色的负样本,如果用kNN做预测(如5-NN),那么这两个负样本x会被预测为正样本,与实际不符,所以这两个点就被认为是异常点。


--------------

kMeans做anomaly detection,参考这里。

SofaSofa数据科学社区DS面试题库 DS面经

LiShanfei   2019-04-26 11:24

5

KNN估计的标签和真实标签不同的点当作异常点(outlier)。比如说一堆红球中有个蓝球,对蓝球的KNN估计应该是红球,所以蓝球就是异常点。

因为有输入输出的配对,KNN是有监督的。

SofaSofa数据科学社区DS面试题库 DS面经

Zealing   2019-04-24 11:47

按照你的思路,做了个图 :) - LiShanfei   2019-04-26 11:25
0

KNN是无监督学习,是聚类分析算法的一种。简单来说,就是对一堆数据做归类,彼此接近的归为一类。按照这个道理往下推,就是正常的数据一类,异常点为一类,这样就可以检测出异常点了。

SofaSofa数据科学社区DS面试题库 DS面经

测度空间   2019-04-24 09:38

kNN通常是有监督的,感觉你把kNN和Kmeans混淆了 - abuu   2019-04-24 11:25


  相关主题

什么是K-Modes(K众数)聚类法?   1回答

层次聚类里的linkage是什么意思?   2回答

软聚类,硬聚类?   1回答

层次聚类中的Ward's method是什么意思   1回答

聚类问题可以用stacking model的方法吗?   2回答

谱聚类中的相似矩阵是怎么定义的?   1回答

python中实现k-modes的包   1回答

HDBSCAN和DBSCAN这两种聚类方法有什么区别?   0回答

有没有对聚类成员个数有限制的聚类算法?   3回答

一维的数据可以做聚类吗?   3回答

k均值有用到EM的思想吗?   0回答

离群点、孤立点、异常点有什么区别吗?   3回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!