Почему я получаю предупреждение кластера? - PullRequest
0 голосов
/ 20 октября 2019

Я пытаюсь выполнить иерархическую агломерационную кластеризацию на матрице расстояний. Чтобы сделать это, я создаю граф сопряженных данных, а затем передаю его алгоритму склеарна 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()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...