Как показать вывод для кластеризации K-средних на многомерных данных? - PullRequest
0 голосов
/ 31 мая 2019

Я разрабатываю код для создания кластеров продуктов на основе их движения в 2018 году (январь-2018, февраль-2018, ...)

Экземплярами будут движения в месяц, поэтому данные будут иметь 12 измерений. Пример: продукт x потреблялся 3 раза в январе, 2 в феврале, 4 марта, 2 апреля, 3 мая, 4 июня, 7 июля, 10 августа, 3 октября, 8 ноября и 10 раз в декабре. Таким образом, эта точка будет (3, 2, 4, 2, 3, 4, 7, 10, 3, 8, 10). Проблема в том, что в моем коде я не знаю, как использовать более двух переменных:

    from scipy.cluster.vq import kmeans, vq
        from matplotlib import pyplot as plt
        import seaborn as sns
        import pandas as pnd

        import random 
        random.seed ((1000,2000))

#the movement data will be inserted below
        m1 = []
        m2 = []
        m3 = []
        m4 = []
        m5 = []
        m6 = []
        m7 = []
        m8 = []
        m9 = []
        m10 = []
        m11 = []
        m12 = []

        df = pd.Dataframe({'january': m1, 'february': m2, 'march': m3, 'april': m4, 'may': m5, 'june': m6, 'july': m7, 'august': m8, 'september': m9, 'october': m10, 'november': m11, 'december': m12})

        centroids,_ = Kmeans(df, 3)
        df['cluster_labels'],_= vq(df, centroids)

        sns.scatterplot(m1 = 'january', m2 = 'february', m3 = 'march', m4 = 'april', m5 = 'may', m6 = 'june', m7 = 'july', m8 = 'august', m9 = 'september', m10 = 'october', m11 = 'november', m12 = 'december', hue
    = 'cluster_labels', data = df)

        plt.show()

Есть какой-то способ, которым я могу использовать 12 измерений в этом коде? Если нет, то что мне делать? ПОМОГИТЕ МНЕ, ДРУЗЬЯМ

1 Ответ

0 голосов
/ 31 мая 2019

Ну, как бы вы обычно визуализировали эти данные?

Вероятно, с линейным графиком с 12 столбцами.

Вы можете сделать то же самое с центрами кластеров k-средних.

...