Построение разных кластеров - PullRequest
0 голосов
/ 15 февраля 2019

Я хочу сравнить одну переменную в разных кластерах, используя гистограмму.

from collections import Counter
def plot_histogram(feature_values, cluster_assignment , labels):
    histogram = Counter()
    for cl in range(7):
        for val in feature_values[cluster_assignment==cl]:
            histogram[val] += 1
        sorted_key_val_pairs = sorted(list(histogram.items()))
        sorted_keys, sorted_vals = zip(*sorted_key_val_pairs)
        plt.bar(range(len(sorted_keys)), sorted_vals)
        plt.xticks(range(len(sorted_keys)), [labels[key] for key in sorted_keys])

plot_histogram(drug_data[:, 0], gmm_cluster_assignments, {-0.95197: '18-24', -0.07854: '25-34', 0.49788: '35-44',
                                                           1.09449: '45-54', 1.82213: '55-64', 2.59171: '65+'})

, где drug_data [:, 0] - это столбец, с которым я хочу сравнить массив
([0.49788, -0.07854, 0.49788, ..., -0.07854, -0.95197, -0.95197])
и gmm_cluster_assignments - это присвоение кластера
array ([5, 3, 3, ..., 2, 2, 1], dtype =int64)

Кроме того, я ввожу метки для числового столбца, с которым я хочу сравнить.В настоящее время мой код дает мне вывод, подобный этому:

enter image description here

Я хочу 6 разных баров (разных кластеров) для каждой категории.

...