【问题标题】:how to print output results in HDBSCAN如何在 HDBSCAN 中打印输出结果
【发布时间】:2019-04-10 10:02:44
【问题描述】:

我有 ASCII 数据,我需要使用 HDBSCAN 对数据进行聚类。 我得到了标签,但我不知道如何打印输出集群结果,即来自 hdbscan 的唯一和隔离结果。

sn-p:

import hdbscan
import numpy as np

datafile = "ascii.txt"

data = np.loadtxt(datafile, dtype = np.uint8)

clusterer = hdbscan.HDBSCAN(min_cluster_size = 20)

clusterer.fit(data)

print (np.unique(clusterer.labels_, return_counts = True))

【问题讨论】:

  • 您好,请帮忙!
  • 我已经使用 labels_ 打印了聚类点,例如 [-1 0 1 2 3 4 5 6 7 8 9] 但我想将结果打印到每个聚类点的文本文件中 [每个包含 ASCII 文本的聚类点]
  • 请编辑您的问题并添加一个示例,说明您希望输出的样子。

标签: hdbscan


【解决方案1】:

您可以使用 Pandas 读取文件,然后打印出集群标签以及作为输入的数据集。尝试类似:

import pandas as pd
df = pd.read_csv("ascii.txt")
clusterer = hdbscan.HDBSCAN().fit_predict(df.ColumnName)
df_pd = pd.DataFrame({'Datapoints:' df.ColumnName, 'Cluster Labels:' clusterer)

【讨论】:

    【解决方案2】:

    导入hdbscan

    将 numpy 导入为 np

    数据文件 = "ascii.txt"

    data = np.loadtxt(datafile, dtype = np.uint8)

    Modified_data=pd.DataFrame(数据)

    clusterer = hdbscan.HDBSCAN(min_cluster_size = 20)

    clusterer.fit(Modified_data)

    Modified_data['Clusters']=clusterer.labels_

    现在 Modified_data 返回一个 pandas 数据框,其中您有一个名为“Clusters”的列,并且与每个实例对应的集群将在 Clusters 列中指定。 您可以根据需要操作此数据框

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-14
      • 2011-11-06
      • 1970-01-01
      相关资源
      最近更新 更多