Я строил корреляции с помощью тепловых карт со следующим кодом. Однако слишком много переменных. Можно ли изобразить самые высокие корреляции (более 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,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)
Как вы сами это видите? Итак, если у него корреляции Любые <0,5, вы хотите его удалить? Потому что он, вероятно, всегда будет иметь некоторые переменные, с которыми он имеет корреляцию> 0,5.
Да я понимаю, что вы говорите. Я думаю, что формат таблицы будет лучшим вариантом. Спасибо за вашу помощь
Привет Эрфан, спасибо за ответ. Это по-прежнему оставляет мне две многочисленные переменные, видимые на тепловой карте, и их очень трудно разобрать. Я хочу удалить ненужные переменные из тепловой карты.