Python: очень большая корреляционная тепловая карта для многих переменных - PullRequest
0 голосов
/ 05 июля 2018

Я написал следующий код, который отображает корреляционную матрицу / тепловую карту для Pandas DataFrames. Это хорошо работает для DataFrames с 20 или менее переменными. Тем не менее, я ищу умный способ / функцию, которая легко обрабатывает многие переменные, например, путем создания нескольких тепловых карт, чтобы все переменные сравнивались друг с другом.

Например, фрейм данных с 100 переменными не будет отображаться согласованно в одной тепловой карте корреляции.

import seaborn as sns
fig, ax = plt.subplots(figsize=(15, 15))                   # Sample figsize in inches

cmap = sns.diverging_palette( 220 , 10 , as_cmap = True )  # color map
sns.heatmap(data      = df.corr(), 
            cmap      = cmap, 
            square    = True, 
            cbar_kws  = {'shrink': .3}, 
            annot     = True, 
            annot_kws = {'fontsize': 12},
            ax        = ax
           )

Способ визуализации этой проблемы приведен ниже. Давайте рассмотрим пример с игрушкой. Предположим, у нас есть кадр данных с 6 переменными: [a, b, c, d, e, f] и не все 6 переменных могут уместиться на 1 тепловой карте. Я предполагаю, что решение должно будет разбить столбцы на разделы, такие как [a, b], [c, d] и [e, f].

enter image description here

1 Ответ

0 голосов
/ 05 июля 2018

Попробуйте разрезать фрейм данных. Предполагая, что у вас есть 100 переменных для нарезки в 2 транша по 50

sns.heatmap(df.iloc[:,:50].corr())
sns.heatmap(df.iloc[:,50:].corr())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...