【发布时间】:2019-08-27 05:51:04
【问题描述】:
澄清一下,我在 Jupyter Notebook 中使用 Python
我想提高我在数据科学方面的技能,所以我接手了一个上周结束的项目。
在这个项目中,我的目的是建立一个逻辑回归。 我做了我的数据准备等等,我做了一个特征选择,毕竟,为了改进我的模型,我做了一个 corr() 并取出最后一个相关的特征。
但我认为这不是完成这项工作的最佳方式。我认为 corr() 需要在特征选择之前进行。所以我尝试在特征选择前做 corr() 看看,但是遇到了问题。
让我们看看我第一次是怎么做的(这是我所有的数据准备等等):
- 我用我的分类列做了假人
df1=pd.get_dummies(df[[cat_cols]])
- 我连接了我的定量列
df2=df[[cols]]
df_c=pd.concat([df1,df2],axis=1)
我尝试了逻辑回归、auc 等,我做了一个低方差的特征选择
Features = np.array(T)
Labels = np.array(z)
#T and z are my X and y
sel = fs.VarianceThreshold(threshold=(.8 * (1 - .8)))
Features_reduced = sel.fit_transform(Features)
利用我剩余的特征,我观察了相关性以做出最终选择
T.corr()
corr = T.corr()
fig = plt.figure(figsize=(12, 12))
ax = fig.add_subplot(111)
cax = ax.matshow(corr,cmap='coolwarm', vmin=-1, vmax=1)
fig.colorbar(cax)
ticks = np.arange(0,len(T.columns),1)
ax.set_xticks(ticks)
plt.xticks(rotation=90)
ax.set_yticks(ticks)
ax.set_xticklabels(T.columns)
ax.set_yticklabels(T.columns)
plt.show()
我得到了这样的东西:
https://image.noelshack.com/fichiers/2019/14/5/1554459054-stack.png
到目前为止一切顺利,我的变量是“uint”或“int”或float”类型,所以一切正常。
但我认为最好在建模之前查看相关性。尽快拒绝变量。
所以我尝试在数据准备之后但在我的特征选择之前执行这段代码:
T.corr()
corr = T.corr()
fig = plt.figure(figsize=(12, 12))
ax = fig.add_subplot(111)
cax = ax.matshow(corr,cmap='coolwarm', vmin=-1, vmax=1)
fig.colorbar(cax)
ticks = np.arange(0,len(T.columns),1)
ax.set_xticks(ticks)
plt.xticks(rotation=90)
ax.set_yticks(ticks)
ax.set_xticklabels(T.columns)
ax.set_yticklabels(T.columns)
plt.show()
但是我的一些变量(分类变量)在“str”中,而不是 int“uint”,因为我没有对它们进行虚拟化。所以 corr() 对他们不起作用,它只适用于“int”和“float”类型。
我尝试将我的分类变量转换为“类别”,但 corr() 也不适用于它们。
我尝试将它们转换为“int”或“float”,但它无法正常工作,因为我的分类列是由“Front_Website”等字符串组成的。
所以我将它们转换为 dummy 但现在我的 corr() 中有很多功能,因为它在我的功能选择之前。
所以我的问题是:如何查看我的数据库的相关性,而无需在之前将它们转换为 dummy ?
我只想从一开始就看到我的变量之间的相关性。而不仅仅是“int”或“float”类型。
我希望我的帖子很清楚。
谢谢。
编辑:
我试过了
table = pd.crosstab(df['Club Member'], df['Profil Price Club'])
from scipy.stats import chi2_contingency
chi2, p, dof, expected = chi2_contingency(table.values)
print(chi2, p)
但是为我所有的分类列获取这个是非常乏味的。
有没有办法一次为我的所有分类列获取这个?
【问题讨论】:
标签: python object types correlation