请问如何用kNN来做异常点检测?
kNN做异常检测是非监督的还是有监督的呢?
3个回答
kNN是有监督的,也就是我们需要知道样本的标签。比如下图中红色=正样本,蓝色=负样本。
我们看到红色的正样本中混进去了两个蓝色的负样本,如果用kNN做预测(如5-NN),那么这两个负样本x会被预测为正样本,与实际不符,所以这两个点就被认为是异常点。
--------------
kMeans做anomaly detection,参考这里。
SofaSofa数据科学社区DS面试题库 DS面经KNN估计的标签和真实标签不同的点当作异常点(outlier)。比如说一堆红球中有个蓝球,对蓝球的KNN估计应该是红球,所以蓝球就是异常点。
因为有输入输出的配对,KNN是有监督的。
SofaSofa数据科学社区DS面试题库 DS面经KNN是无监督学习,是聚类分析算法的一种。简单来说,就是对一堆数据做归类,彼此接近的归为一类。按照这个道理往下推,就是正常的数据一类,异常点为一类,这样就可以检测出异常点了。
SofaSofa数据科学社区DS面试题库 DS面经 相关主题
谱聚类中的相似矩阵是怎么定义的?
1回答
软聚类,硬聚类?
1回答
聚类问题可以用stacking model的方法吗?
2回答
一维的数据可以做聚类吗?
3回答
k均值有用到EM的思想吗?
1回答
我们谢绝在回答前讲“生动”的故事。
我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。
我们谢绝答非所问。
我们谢绝自己不会、硬要回答。
我们感激每一个用户在编写答案时的努力与付出!