【发布时间】:2019-03-20 11:19:11
【问题描述】:
我正在使用 scikit 的 AffinityPropogation 对一些名称进行聚类,并且我想绘制/可视化这些聚类。我的输入数据具有预先计算的接近度,这就是它的样子:
#sample input data
joe,mike,ali,andrew,sean
.2,.221,.5,.5,.7
.82,0,.1,.72,.0
.7,.88,.7,.2,1
0,0,.4,.8,.9
.3,.03,.07,.003,.2
这是我为集群准备的简单代码:
import numpy as np
import pandas as pd
import sklearn.cluster
import matplotlib.pyplot as plt
from sklearn import metrics
data = pd.read_csv('/pydata/nametokenmatrix.txt')
M = data.as_matrix()
af = sklearn.cluster.AffinityPropagation(affinity="precomputed", damping=0.5)
af.fit(M)
cluster_centers_indices = af.cluster_centers_indices_
labels = af.labels_
在运行此代码时,我确实生成了一些集群,但我不确定如何绘制它以便可视化它们。由于我正在通过聚类来解决问题,因此我想通过绘制不同的算法来比较它们。像here 这样的东西。
谢谢
【问题讨论】:
-
你的数据点的维度是多少,即 M 的形状?
-
它的形状大约为 60000 x 60000。其中每个名称是一列,每一行是与每个列\名称的行的预先计算距离。我在帖子中包含了一个示例数据 sn-p。
标签: python scikit-learn cluster-analysis