如何计算所有特征与目标变量(二元分类器,python 3)的相关性?
Posted
技术标签:
【中文标题】如何计算所有特征与目标变量(二元分类器,python 3)的相关性?【英文标题】:How to calculate the correlation of all features with the target variable (binary classifier, python 3)? 【发布时间】:2019-08-02 10:41:28 【问题描述】:我想在 python 中计算我的所有特征(所有浮点类型)和 类标签(二进制,0 或 1)的相关性。此外,我想绘制数据以按类别可视化它们的分布。
这是必需的,因此我可以找到与单个标签相关联的功能并找出它们的真正重要性。请注意,我不希望成对特征相关,并且我的分类器是二元的。
我已经尝试了以下方法(来自 *** 中的类似帖子),但这并不是我想要的。
df.drop("Target", axis=1).apply(lambda x: x.corr(df.Target))
请在附图中查看其中一个功能(来自 Weka)的分布情况。
其中一项功能的类分布
非常感谢任何反馈。
【问题讨论】:
只需使用df.corr()
获取所有特征之间的关联关系,然后删除除目标之外的所有列。
【参考方案1】:
相关性不应该用于分类变量。更多解释见here
您可以通过以下方法了解自变量与目标变量之间的关系。
from sklearn.datasets import load_breast_cancer
data = load_breast_cancer(return_X_y=False)
import pandas as pd
df=pd.DataFrame(data.data[:,:5])
df.columns = data.feature_names[:5]
df['target'] = data.target.astype(str)
import seaborn as sns;
import matplotlib.pyplot as plt
g= sns.pairplot(df,hue = 'target', diag_kind= 'hist',
vars=df.columns[:-1],
plot_kws=dict(alpha=0.5),
diag_kws=dict(alpha=0.5))
plt.show()
【讨论】:
以上是关于如何计算所有特征与目标变量(二元分类器,python 3)的相关性?的主要内容,如果未能解决你的问题,请参考以下文章