我正在使用 DBSCAN (使用python)对某些3D坐标进行聚类。我能够将其群集到不同的群集中。但是现在我想将属于每个群集的坐标分开,并将这些坐标打印到不同的文本文件中。谁能帮我怎么做。
我已经尝试将聚类到单独的聚类中并获取每个聚类的坐标。完全不同的代码也可以
由于某些问题,我无法发布代码。但是我将发布我以前制作的命令。 (这个是2D)
from sklearn.cluster import DBSCAN
import numpy as np
data = np.random.rand(500,3)
db = DBSCAN(eps=0.12, min_samples=1).fit(data)
labels = db.labels_
from collections import Counter
Counter(labels)
答案 0 :(得分:0)
要将示例(numpy.array
)存储在.txt
文件中,您应该首先根据集群分配将示例划分为多个分区,然后保存生成的分区。
from collections import defaultdict
clusters = defaultdict(list)
for i,c in enumerate(db.labels_):
clusters[c].append(data[i])
for k,v in clusters.items():
np.savetxt('cluster{}.txt'.format(k), v, delimiter=",", fmt='%s')
您将获得68个txt文件,每个文件包含数据集中一个或多个样本的坐标。