Как инициализировать K означает кластеризацию на матрице данных с 569 строками (выборками) и 30 столбцами (функциями)? - PullRequest
1 голос
/ 09 апреля 2019

У меня проблемы с пониманием, как начать свое решение.У меня есть матрица с 569 строками, каждая из которых представляет одну выборку моих данных, и 30 столбцов, представляющих особенности каждой выборки.Моя интуиция состоит в том, чтобы построить каждый отдельный ряд и посмотреть, как выглядят кластеры (если они есть), но я не могу понять, как сделать более двух рядов на одном точечном графике.

Я имеюпровел несколько часов, просматривая руководства, но не смог понять, как применить их к моим данным.Я знаю, что график рассеяния принимает 2 вектора в качестве параметра, так как я могу построить все 569 выборок для их кластеризации?Я что-то упустил здесь?

 #our_data is a 2-dimensional matrix of size 569 x 30

 plt.scatter(our_data[0,:], our_data[1,:], s = 40)

Моя цель - запустить k означает кластеризацию на 569 выборках.

Ответы [ 2 ]

0 голосов
/ 09 апреля 2019

Поскольку у вас есть 30-мерное факторное пространство, такие данные трудно отобразить в двухмерном пространстве (т. Е. На холсте). В таких случаях обычно сначала применяют методы уменьшения размеров. Это может помочь понять структуру данных. Вы можете попробовать подать заявку, например, PCA (анализ главных компонентов) сначала, например,

#your_matrix.shape = (569, 30)
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
projected_data = pca.fit_transform(your_matrix)
plt.scatter(projected_data[:,0], projected_data[:, 1]) # This might be very helpful for data structure understanding... 
plt.show() 

Вы также можете посмотреть другие (в том числе нелинейные) методы уменьшения размеров, такие как, например, Т-SNE.

Далее вы можете применить k-средства или что-то еще; или применить k-средства для проецируемых данных.

0 голосов
/ 09 апреля 2019

Если под инициализацией вы имеете в виду сбор k начальных кластеров, один из распространенных способов сделать это - использовать описанные здесь K-средства ++ , которые были разработаны , чтобы избежать плохих кластеров.

Это, по сути, влечет за собой полу-случайный выбор центров на основе распределения вероятностей расстояний от первого центра, который выбирается совершенно случайно.

...