返回kmeans集群中最远的离群值?

2024-09-27 21:28:19 发布

您现在位置:Python中文网/ 问答频道 /正文

在sklearnkmeans聚类之后,有没有什么简单的方法可以返回最远的离群值?在

本质上,我想列出一个集群负载的最大异常值列表。不幸的是,我需要使用sklearn.cluster.KMeans因为任务。在


Tags: 方法列表集群聚类sklearnclusterkmeans离群
2条回答

K-means不太适合“离群值”检测。在

k-means倾向于使离群值成为单元素聚类。则离群值具有最小的可能距离,不会被检测到。在

当数据中存在异常值时,K-means不够健壮。在使用k-means之前,您可能需要删除异常值。在

用kNN,LOF或者LoOP来代替。在

Sascha基本上在注释中给出了它,但是如果X表示您的数据,并且model是{}的实例,那么您可以根据{}到它们的中心的距离来排序X

X[np.argsort(np.linalg.norm(X - model.cluster_centers_[model.labels_], axis=1))]

或者,由于您知道每个点都被指定给其中心与该点的欧几里德距离最小的簇,所以您可以一步到位地进行拟合和排序

^{pr2}$

相关问题 更多 >

    热门问题