如果您能让我知道如何为具有大约 150 个特征的大型数据集绘制高分辨率热图,我将不胜感激。
我的代码如下:
XX = pd.read_csv('Financial Distress.csv')
y = np.array(XX['Financial Distress'].values.tolist())
y = np.array([0 if i > -0.50 else 1 for i in y])
XX = XX.iloc[:, 3:87]
df=XX
df["target_var"]=y.tolist()
target_var=["target_var"]
fig, ax = plt.subplots(figsize=(8, 6))
correlation = df.select_dtypes(include=['float64',
'int64']).iloc[:, 1:].corr()
sns.heatmap(correlation, ax=ax, vmax=1, square=True)
plt.xticks(rotation=90)
plt.yticks(rotation=360)
plt.title('Correlation matrix')
plt.tight_layout()
plt.show()
k = df.shape[1] # number of variables for heatmap
fig, ax = plt.subplots(figsize=(9, 9))
corrmat = df.corr()
# Generate a mask for the upper triangle
mask = np.zeros_like(corrmat, …Run Code Online (Sandbox Code Playgroud) 应该使用 Crammer's V 计算分类变量之间的关联。因此,我找到了以下代码来绘制它,但我不知道他为什么将它绘制为“贡献”,这是一个数字变量?
def cramers_corrected_stat(confusion_matrix):
""" calculate Cramers V statistic for categorical-categorical association.
uses correction from Bergsma and Wicher,
Journal of the Korean Statistical Society 42 (2013): 323-328
"""
chi2 = ss.chi2_contingency(confusion_matrix)[0]
n = confusion_matrix.sum().sum()
phi2 = chi2/n
r,k = confusion_matrix.shape
phi2corr = max(0, phi2 - ((k-1)*(r-1))/(n-1))
rcorr = r - ((r-1)**2)/(n-1)
kcorr = k - ((k-1)**2)/(n-1)
return np.sqrt(phi2corr / min( (kcorr-1), (rcorr-1)))
cols = ["Party", "Vote", "contrib"]
corrM = np.zeros((len(cols),len(cols)))
# there's probably a nice pandas …Run Code Online (Sandbox Code Playgroud) data-visualization heatmap python-3.x categorical-data bokeh
我有一个csv数据文件,其标题指示列名。
xy wz hi kq
0 10 5 6
1 2 4 7
2 5 2 6
Run Code Online (Sandbox Code Playgroud)
我跑:
X = np.array(pd.read_csv('gbk_X_1.csv').values)
Run Code Online (Sandbox Code Playgroud)
我想获取列名称:
['xy', 'wz', 'hi', 'kg']
Run Code Online (Sandbox Code Playgroud)
我读了这篇文章,但是解决方案为我提供了None。
我正在尝试实现一个版本的差异私有随机梯度下降(例如this),如下所示:
计算大小为 L 的批次中每个点的梯度,然后分别裁剪 L 个梯度中的每一个,然后将它们平均在一起,最后执行(噪声)梯度下降步骤。
在 pytorch 中执行此操作的最佳方法是什么?
最好有一种方法可以同时计算批处理中每个点的梯度:
x # inputs with batch size L
y #true labels
y_output = model(x)
loss = loss_func(y_output,y) #vector of length L
loss.backward() #stores L distinct gradients in each param.grad, magically
Run Code Online (Sandbox Code Playgroud)
但是失败了,分别计算每个梯度,然后在累积之前裁剪范数,但是
x # inputs with batch size L
y #true labels
y_output = model(x)
loss = loss_func(y_output,y) #vector of length L
for i in range(loss.size()[0]):
loss[i].backward(retain_graph=True)
torch.nn.utils.clip_grad_norm(model.parameters(), clip_size)
Run Code Online (Sandbox Code Playgroud)
累积第 i 个梯度,然后剪辑,而不是先剪辑再累积到梯度中。解决此问题的最佳方法是什么?
如果您能让我知道如何防止安装时出现以下错误,我将不胜感激JetBrains PyCharm。
Length of PATH is bigger than 8192 bytes.$\r$\nInstaller can not update it
Run Code Online (Sandbox Code Playgroud)
提前致谢。
您能否告诉我为什么新列c被添加到原始数据框中,即df_old?
df_old = pd.DataFrame({'a': [1, 2], 'b': [3, 4]})
df_new=df_old
df_new['c']=[5,6]
print('Old:')
print(df_old)
print('New:')
print(df_new)
Run Code Online (Sandbox Code Playgroud)
输出:
Old:
a b c
0 1 3 5
1 2 4 6
New:
a b c
0 1 3 5
1 2 4 6
Run Code Online (Sandbox Code Playgroud)
实际上,我需要保留原始数据帧:
a b
0 1 3
1 2 4
Run Code Online (Sandbox Code Playgroud)
提前致谢,
根据这篇文章的回答,
名义变量和区间(“数字”)变量之间最经典的“相关”度量是 Eta,也称为相关比,等于单向方差分析的 R 方根(p 值 =方差分析)。Eta 可以被视为一种对称关联测度,就像相关性一样,因为方差分析的 Eta(名义为独立,数值为因变量)等于多元回归的 Pillai 迹(数值为独立,一组虚拟变量对应于名义上为受抚养人)。
如果您能让我知道如何用 python 计算 Eta,我将不胜感激。
事实上,我有一个包含一些数字和一些名义变量的数据框。
此外,如何为其绘制类似热图的图?
python-3.x ×4
pandas ×3
heatmap ×2
python ×2
arrays ×1
bokeh ×1
correlation ×1
dataframe ×1
installation ×1
numpy ×1
pycharm ×1
pytorch ×1
seaborn ×1
statistics ×1
windows ×1