Я пытаюсь определить евклидову расстояние для моих документов от их центроидов. Размеры этих двух массивов (points
и centers
) удовлетворяют требованиям размеров XA
и XB
для scipy.spatial.distance.cdist
, но я не знаю, почему я получаю ниже ValueError
.Евклидово расстояние между элементами в двух разных матрицах?
Мой код:
import pandas as pd, numpy as np
from scipy.spatial.distance import cdist
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import KMeans
corpus = pd.Series(["bye bye brutal good bye apple banana orange", "bye bye hello apple banana", "corn wheat apple banana goodbye cookie brutal", "fruit cake banana apple bye sweet sweet"])
X = vectorizer.fit_transform(corpus)
model = Kmeans(n_clusters = 2)
model.fit(X)
centers = model.cluster_centroids_
cdist(X, centers)
Это ошибка, я получаю:
ValueError: setting an array element with a sequence.
С scipy.spatial.distance.cdist
«s документации:
Parameters: XA: ndarray
An Ma by n array of Ma original observations in an n-dimensional space
XB: ndarray
An Mb by n array of Mb original observations in an n-dimensional space
...
Мои X
и centers
numpy
массивы, безусловно, удовлетворить эти мерные условия для cdist
, правильно? Что мне не хватает?