请问如何用kNN来做异常点检测?
kNN做异常检测是非监督的还是有监督的呢?
3个回答
kNN是有监督的,也就是我们需要知道样本的标签。比如下图中红色=正样本,蓝色=负样本。
我们看到红色的正样本中混进去了两个蓝色的负样本,如果用kNN做预测(如5-NN),那么这两个负样本x会被预测为正样本,与实际不符,所以这两个点就被认为是异常点。
--------------
kMeans做anomaly detection,参考这里。
SofaSofa数据科学社区DS面试题库 DS面经KNN估计的标签和真实标签不同的点当作异常点(outlier)。比如说一堆红球中有个蓝球,对蓝球的KNN估计应该是红球,所以蓝球就是异常点。
因为有输入输出的配对,KNN是有监督的。
SofaSofa数据科学社区DS面试题库 DS面经
按照你的思路,做了个图 :)
-
LiShanfei
2019-04-26 11:25
KNN是无监督学习,是聚类分析算法的一种。简单来说,就是对一堆数据做归类,彼此接近的归为一类。按照这个道理往下推,就是正常的数据一类,异常点为一类,这样就可以检测出异常点了。
SofaSofa数据科学社区DS面试题库 DS面经
kNN通常是有监督的,感觉你把kNN和Kmeans混淆了
-
abuu
2019-04-24 11:25