缺少数据的群集



我正在尝试对此数据执行k-means聚类。

它具有NaN值。我想忽略NaN,只给剩下的列提供集群。

Col1  Col2  Col3  Col4   Animal  clusters
0   1.0    1.0  2.0   2.0    Rabbit
1   1.0    1.0  NaN   1.0    Cat      NaN
2   1.0    1.0  2.0   2.0    Dog
3   2.0    NaN  2.0   2.0    Cat      NaN
4   2.0    0.0  0.0   3.0    Dog

使用第1、2、3、4列制备聚类,我需要动物和聚类列进行进一步分析。

这是我使用的代码。但我不知道如何忽略Nans

clustering_kmeans = KMeans(n_clusters=3, precompute_distances="auto", n_jobs=-1)
data.iloc[:, :-1]['clusters'] = clustering_kmeans.fit_predict(data)

有人能帮我解决这个问题吗?

您需要在这些地方有一个数字(Nan=不是数字(来执行k-均值。这种情况下的一些解决方法是用特性的平均值填充它们,或者将它们分配给最近的集群

最新更新