Используйте панд, чтобы построить самые высокие корреляции

Я строил корреляции с помощью тепловых карт со следующим кодом. Однако слишком много переменных. Можно ли изобразить самые высокие корреляции (более 0,5 и -0,5) на графике?

plt.rcParams['figure.figsize'] = [80,80]
corr3 = datasetcm.corr()


fig = plt.figure()
ax = fig.add_subplot(111)
cax = ax.matshow(corr3,cmap='coolwarm', vmin=-1, vmax=1)
fig.colorbar(cax)
ticks = np.arange(0,len(datasetcm.columns),1)
ax.set_xticks(ticks)
plt.xticks(rotation=90)
ax.set_yticks(ticks)
ax.set_xticklabels(datasetcm.columns)
ax.set_yticklabels(datasetcm.columns)
plt.show()
0
0
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Перед построением отфильтруйте матрицу корреляции по порогу 0,5. Это вернет 0 для корреляций ниже 0.5.

Затем мы можем использовать сопоставление цветов, чтобы показать строки с 0 как not correlated

corr3 = datasetcm.corr()
corr3 = corr3 [corr3 > 0.5].fillna(0)

corr3.style.background_gradient(cmap='coolwarm', axis=None).set_precision(2)

Привет Эрфан, спасибо за ответ. Это по-прежнему оставляет мне две многочисленные переменные, видимые на тепловой карте, и их очень трудно разобрать. Я хочу удалить ненужные переменные из тепловой карты.

Young4844 27.05.2019 19:05

Как вы сами это видите? Итак, если у него корреляции Любые <0,5, вы хотите его удалить? Потому что он, вероятно, всегда будет иметь некоторые переменные, с которыми он имеет корреляцию> 0,5.

Erfan 27.05.2019 19:17

Да я понимаю, что вы говорите. Я думаю, что формат таблицы будет лучшим вариантом. Спасибо за вашу помощь

Young4844 27.05.2019 19:21

Другие вопросы по теме