使用 pandas 绘制最高相关性
Use pandas to plot highest correlations
我一直在使用以下代码通过热图绘制相关性。然而,变数太多了。是否可以在图表上绘制最高相关性(超过 .5 和 -.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.5
.
的相关性,这将 return 0
然后我们可以使用颜色映射将带有 0 的行显示为 not correlated
corr3 = datasetcm.corr()
corr3 = corr3 [corr3 > 0.5].fillna(0)
corr3.style.background_gradient(cmap='coolwarm', axis=None).set_precision(2)
我一直在使用以下代码通过热图绘制相关性。然而,变数太多了。是否可以在图表上绘制最高相关性(超过 .5 和 -.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.5
.
0
然后我们可以使用颜色映射将带有 0 的行显示为 not correlated
corr3 = datasetcm.corr()
corr3 = corr3 [corr3 > 0.5].fillna(0)
corr3.style.background_gradient(cmap='coolwarm', axis=None).set_precision(2)