У меня есть pandas кадр данных из 229 строк. Каждый ряд представляет собой «напряжение». Данные поступают с 4 сайтов. Штаммы кодируются с помощью кодов сайта.
Когда-то давно , эти данные были кластеризованы и
Из 229 исследованных штаммов образовалась большая группа в S (сходство ) Уровень 231%, используя коэффициент подобия Джакарда и невзвешенную среднюю связь. В пределах этой группы 10 кластеров, или фен, были выделены на разных уровнях сходства выше 65%. Двадцать один штамм не попал ни в одну из этих фенетических групп. Ни один кластер с менее чем пятью членами не рассматривался в дальнейшем.
Отказ от ответственности: я не статистик; По сути, я ничего не знаю о статистике прошлого и среднего. Еще тогда у меня был статистик для работы. Я также почти ничего не знаю об алгоритмах машинного обучения, хотя знаю, что кластеризация означает с общей точки зрения.
Я хочу попытаться воспроизвести кластеризацию с помощью более современных методов. Я думал, что попробую k-means (если это плохой выбор, пожалуйста, просветите меня).
Данные булевы. Я переместил его так, чтобы каждый столбец представлял собой «деформацию», а строки - особенности. (Это было правильно?)
Код:
In [106]: from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=10)
kmeans.fit(df_bool)
Out [106]:
KMeans(algorithm='auto', copy_x=True, init='k-means++', max_iter=300,
n_clusters=10, n_init=10, n_jobs=None, precompute_distances='auto',
random_state=None, tol=0.0001, verbose=0)
In [107]: labels = kmeans.predict(df_bool)
centroids = kmeans.cluster_centers_
labels
Out [107]: array([5, 5, 2, 2, 0, 4, 9, 8, 1, 6, 1, 1, 7, 1, 3, 1, 1, 1, 1, 1],
dtype=int32)
Вопрос 1: Это список (что я предполагаю такое номера кластеров) чего я должен ожидать?
Вопрос 2: Как я могу построить некоторые или все результаты?
Вопрос 3: Я полностью вне базы? т.е. имеет ли смысл K-means с булевыми данными? Мой DataFrame выровнен правильно?
Я даже задаю правильные вопросы?