gpt4 book ai didi

python - 可视化部分相关性

转载 作者:行者123 更新时间:2023-12-01 09:03:33 24 4
gpt4 key购买 nike

根据 https://stats.stackexchange.com/questions/288273/partial-correlation-in-panda-dataframe-python 的回答

dict = {'x1': [1, 2, 3, 4, 5], 'x2': [2, 2, 3, 4, 2], 'x3': [10, 9, 5, 4, 9], 'y' : [5.077, 32.330, 65.140, 47.270, 80.570]} 
df = pd.DataFrame(dict, columns=['x1', 'x2', 'x3', 'y'])
partial_corr_array = df.as_matrix()
np.round(partial_corr(partial_corr_array), decimals=2)

我想知道是否有办法获得视觉输出,对我来说看起来像这样:

array([[ 1.  ,  0.52,  0.15,  0.91],
[ 0.52, 1. , 0.25, -0.25],
[ 0.15, 0.25, 1. , -0.06],
[ 0.91, -0.25, -0.06, 1. ]])

与 df.corr().style.background_gradient() 相同吗? IE。带有注释的热图。

请注意,这是部分相关,即。我们正在控制其他变量的影响。

最佳答案

您的意思是否类似于以下内容:

图1

import matplotlib.pyplot as plt
partial_corr_array = np.array([[ 1., 0.52, 0.15, 0.91], [ 0.52, 1., 0.25, -0.25], [ 0.15, 0.25, 1. , -0.06], [ 0.91, -0.25, -0.06, 1. ]])
plt.matshow(partial_corr_array)
plt.colorbar()

输出

enter image description here

图 2 基于 this关联。仅绘制矩阵的下半部分,因为它在对角线上对称。

import seaborn as sns
f, ax = plt.subplots(figsize=(6, 5))
partial_corr_array = np.array([[ 1., 0.52, 0.15, 0.91], [ 0.52, 1., 0.25, -0.25], [ 0.15, 0.25, 1. , -0.06], [ 0.91, -0.25, -0.06, 1. ]])
mask = np.zeros_like(partial_corr_array, dtype=np.bool)
mask[np.triu_indices_from(mask)] = True
cmap = sns.diverging_palette(30, 10, as_cmap=True)
sns.heatmap(partial_corr_array, mask=mask, cmap=cmap, vmax=1, center=0,
square=True, linewidths=1, cbar_kws={"shrink": 0.9}, annot=True)

输出

enter image description here

关于python - 可视化部分相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52261575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com