kNN用来做异常点检测?

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

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

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

 

offer雨   2019-04-23 12:11



   3个回答 
11

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


  相关讨论

单一变量下的异常检测该怎么做?

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

如果数据不是正态分布,能用3sigma原则剔除异常值吗?

在训练前数据处理的时候,怎么剔除异常值?

学习曲线异常分析

如果不去掉异常值(outlier),会对线性回归模型有什么影响?

如何用K Means做异常检测(outlier anomaly detection)?

对于异常数据的判断?

auto-encoder异常检测的问题,无标签情况下怎么进行预测?

软聚类,硬聚类?

  随便看看

随机平均梯度法(Stochasitc Average Gradient)和随机梯度下降(SGD)有什么区别

pandas.DataFrame的index重新排列(从0开始)

pandas.DataFrame选取最后k行

opencv里waitkey和destroyAllWindows有什么用?

tsne被忽视?tsne有什么缺点?