У меня есть данные (массив numpy p ) с формой (n, 68,2) .Я пытаюсь применить кластеризацию k-средних к этим данным, используя Scikit-learn.Мне нужно найти k кластеров из этих данных, и окончательные выходные данные после кластеризации должны иметь размеры (k, 68,2) .
Когда я предоставляю p для функции Kmeans, такой как
kmeans = KMeans(n_clusters=no_of_clusters, random_state=0).fit(p1)
, выдает ошибку
ValueError: найден массив с dim 3. Ожидается оценщик <= 2. </p>
Чтобы обойти эту проблему, мне пришлось разделить координаты x и y, чтобы получить 2 массивы измерений (n, 68) и применить к ним отдельно kmeans иобъедините результаты позже.
kmeans_y = KMeans(n_clusters=no_of_clusters, random_state=0).fit(p[:,:,1])
kmeans_x = KMeans(n_clusters=no_of_clusters, random_state=0).fit(p[:,:,0])
Я хотел бы применить kmeans непосредственно ко всем 2D координатам без разделения x и y и применения их отдельно.Но мне нужны выходные данные измерений (k, 68,2) , а не (k, 2) , которые я получил, когда попытался изменить форму массива.