Я использовал следующий код для кластеризации данных (8 разных точек разной длины) в 3 кластера с использованием расстояния Вассерштейна между точками данных.
import numpy as np
from scipy.optimize import linear_sum_assignment
from scipy.cluster.hierarchy import dendrogram, linkage, ward
from scipy.cluster.hierarchy import fcluster
from sklearn.cluster import AgglomerativeClustering
data = np.array([[5, 2, 2],[3, 6],[1, 6, 2],[7, 2],[7, 2], [6, 1, 3],[8, 1], [2, 4, 7, 3]])
data
Сначала я использовал следующий код, чтобы создать матрицу расстояний, а затем вычислить расстояние между точками данных.
distance_matrix = np.asarray([
[wasserstein_distance_function(data[first_index], data[second_index])
for first_index in range(len(data))]
for second_index in range(len(data))])
distance_matrix
Но я сталкиваюсь с этой ошибкой для distance_matrix:
AttributeError: 'list' object has no attribute 'reshape'
Подробнее здесь: https://stackoverflow.com/questions/743 ... te-reshape