Я создал кластер, используя kmeans (k = 200) с характерными точками из видео. В общей сложности 359 видео, и каждое видео имеет различное количество кадров.
X = []
Y = []
for video in dataset:
X.append(video["features"])
Y.append(video["category"])
Каждое значение, добавляемое к X, представляет собой массив функций, а Y является категориальным
print (np.shape(X))
print (np.shape(Y))
возвращает
(359, 200)
(359,)
Я пытался построить их с помощью
plt.scatter(X,Y, c=kmeans.labels_, cmap='rainbow')
plt.scatter(kmeans.cluster_centers_[:,0] ,kmeans.cluster_centers_[:,1], color='black')
и получил ошибку как
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-45-7b6bea3c931e> in <module>()
31 print (np.shape(X))
32 print (np.shape(Y))
---> 33 plt.scatter(X,Y, c=kmeans.labels_, cmap='rainbow')
34 plt.scatter(kmeans.cluster_centers_[:,0] ,kmeans.cluster_centers_[:,1], color='black')
35 '''
2 frames
/usr/local/lib/python3.6/dist-packages/matplotlib/axes/_axes.py in scatter(self, x, y, s, c, marker, cmap, norm, vmin, vmax, alpha, linewidths, verts, edgecolors, **kwargs)
4180 y = np.ma.ravel(y)
4181 if x.size != y.size:
-> 4182 raise ValueError("x and y must be the same size")
4183
4184 if s is None:
ValueError: x and y must be the same size
Я пробую X [:, 0] и много похожих вариантов, но получил еще одну ошибку, как
TypeError: list indices must be integers or slices, not tuple
Может кто-нибудь помочь мне, как дать ввод функции построения?
Также я сохранил предыдущие результаты кластеризации kmeans в виде маринованного файла. Можно ли загрузить этот файл и создать точечный график. Спасибо за любой ответ.