【问题标题】:Ignoring NaN values in a scikit clustering algorithm在 scikit 聚类算法中忽略 NaN 值
【发布时间】:2021-09-17 00:42:02
【问题描述】:

我使用了一种凝聚算法来聚类一个分解的数据帧(它正在工作)。 NaN 值在此数据框中显示为 -1,但我不想将它们作为算法的输入数据包含在内。我想我必须设置某种边界,我指定只有值 => 0 应该被考虑在内,但我不确定如何完成这项工作。下面我展示了我的算法代码和数据帧 z 的部分输出。

z=df.apply(lambda x: pd.factorize(x)[0])
cluster = AgglomerativeClustering(n_clusters=None,distance_threshold=(10), affinity='euclidean', linkage='ward')
cluster.fit_predict(z)

数据框 z 的一部分:

0       0       0       0       0  ...        0       -1       -1          -1
1       0       0       0       0  ...       -1       -1       -1          -1
2       0       0       0       0  ...        1       -1       -1          -1
3       0       0       0       0  ...       -1       -1       -1          -1
4       0       0       0       0  ...        0       -1       -1          -1
5       0       0       0       0  ...        0       -1       -1          -1
6       0       0       0       0  ...        0       -1       -1          -1
7       0       0       0       0  ...        0       -1       -1          -1
8       0       0       0       0  ...        0       -1       -1          -1
9       0       0       0       0  ...       -1       -1       -1          -1
10      0       1       1       1  ...        0       -1       -1          -1
11      0       1       1       1  ...       -1       -1       -1          -1
12      0       2       1       2  ...        0       -1       -1          -1
13      0       2       1       2  ...       -1       -1       -1          -1
14      0       3       1       3  ...        0       -1       -1          -1
15      0       3       1       3  ...       -1       -1       -1          -1
16      1       4       1       4  ...        0       -1       -1          -1
17      1       4       1       4  ...        1       -1       -1          -1

【问题讨论】:

    标签: python scikit-learn nan hierarchical-clustering unsupervised-learning


    【解决方案1】:

    在创建z 之前,调用DataFrame.dropna()。您可以在pandas docs 上阅读更多内容。

    df.dropna(inplace=True)
    

    【讨论】:

      猜你喜欢
      • 2014-11-26
      • 2017-12-28
      • 2019-09-24
      • 1970-01-01
      • 2016-10-11
      • 1970-01-01
      • 2019-04-20
      • 2017-02-11
      • 2018-09-15
      相关资源
      最近更新 更多