首页 > 解决方案 > 如何使用 scikit 绘制亲和簇

问题描述

我正在使用 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_

在运行此代码时,我确实生成了一些集群,但我不确定如何绘制它以便我可以可视化它们。由于我正在使用聚类来解决问题,因此我想通过绘制不同的算法来比较它们。像这里的东西。

谢谢

标签: pythonscikit-learncluster-analysis

解决方案


您将需要嵌入您的亲和力矩阵。

一个经过仔细调整的非度量 MDS 应该是一个好的开始。


推荐阅读