Я пытаюсь выполнить иерархическую агломерационную кластеризацию на матрице расстояний. Чтобы сделать это, я создаю граф сопряженных данных, а затем передаю его алгоритму склеарна AgglomerativeClustering. Когда я делаю это, это работает, но я получаю следующую ошибку:
Warning (from warnings module):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/sklearn/cluster/hierarchical.py", line 463
out = hierarchy.linkage(X, method=linkage, metric=affinity)
ClusterWarning: scipy.cluster: The symmetric non-negative hollow observation matrix looks suspiciously like an uncondensed distance matrix
Я попытался осмотреть другие места, но я не могу понять, почему эта ошибка возникает, если она работает и отображаетданные. Почему это происходит? (код приведен ниже для справки)
plt.figure(figsize=(10, 6))
for index, linkage in enumerate(('average',
'complete',
'ward',
'single')):
plt.subplot(1, 4, index + 1)
model = AgglomerativeClustering(linkage=linkage,
connectivity=connectivity,
n_clusters=n_clusters)
t0 = time.time()
model.fit(X)
elapsed_time = time.time() - t0
plt.scatter(X[:, 0], X[:, 1], c=model.labels_,
cmap=plt.cm.nipy_spectral)
plt.title('linkage=%s\n(time %.2fs)' % (linkage, elapsed_time),
fontdict=dict(verticalalignment='top'))
plt.axis('equal')
plt.axis('off')
plt.subplots_adjust(bottom=0, top=.89, wspace=0,
left=0, right=1)
plt.suptitle('n_cluster=%i, connectivity=%r' %
(n_clusters, connectivity is not None), size=17)
plt.show()