Как найти среднее, медиану и моду для кластера средних K в склеарне? - PullRequest
0 голосов
/ 01 апреля 2019

Я относительно новичок в sklearn и использую kmeans, так что простите, если мой вопрос кажется слишком элементарным или я неправильно понял, как работает kmeans, но я все же искал и не смог найти подходящего решения для того, что искал.

Насколько я понимаю, атрибут KMeans.cluster_centers_ возвращает ближайшую выборку в центр кластеров, но есть ли способ также вернуть «среднее» значение выборки для каждого кластера? (т.е. я хочу найти фактические значения центра кластера, как если бы он был его собственной выборкой, а не ближайшей выборкой к кластеру).

Я пытаюсь использовать образец, возвращаемый cluster_centers_, для построения модели прогноза, которая присваивает входящие точки данных значению, предоставленному кластером, однако я чувствую, что один полученный образец перегоняет данные, поэтому я хотел бы получить образец, который «сглаживает» немного лучше, чтобы увидеть, уменьшает ли он ошибку и дисперсию.

Я также пытался построить инерцию_, чтобы увидеть оптимальное количество кластеров, но мне сложно определить, какое оптимальное количество кластеров. Время обучения / подгонки модели становится чрезвычайно большим, когда я превышаю 8 кластеров, любой вклад будет оценен!

Вот код, который я использую для сопоставления центров:

closest, _ = pairwise_distances_argmin_min(kclustering.cluster_centers_, df_reads)

plt.subplot(412)
plt.title('Various load curves shown')
plt.xticks(np.arange(0,24,1))
plt.yticks(np.arange(0,1,0.1))

for i, center in enumerate(closest):
    plt.plot(range(0,len(df_reads.iloc[center])), df_reads.iloc[center])

А вот изображение созданного мною сюжета:

enter image description here

Полный набор данных, который я использую, составляет 750 тыс. Записей, но я выбрал его до 75 тыс. Для целей тестирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...