我的分类功能很少:

['Gender',
 'Married',
 'Dependents',
 'Education',
 'Self_Employed',
 'Property_Area']

from scipy.stats import chi2_contingency
chi2, p, dof, expected = chi2_contingency((pd.crosstab(df.Gender, df.Married).values))
print (f'Chi-square Statistic : {chi2} ,p-value: {p}')


输出:

Chi-square Statistic : 79.63562874824729 ,p-value: 4.502328957824834e-19


从这些统计信息中如何得知这些功能是否相互独立?

我试图建立一个分类模型,所以我只想知道这些分类列对预测目标变量有用吗?

最佳答案

列联表用于统计信息中,以汇总几个类别变量之间的关系。

在您的示例中,两个变量GenderMarried之间的Contingency表是同时显示这些变量的Frequency表。

在列联表上进行的卡方检验可以检验变量之间是否存在关系。这些效果定义为行和列之间的关系。



scipy.stats.chi2_contingency计算-默认情况下-Pearson’s chi-squared statistic

此外,我们对Sig(2-Tailed)(在您的示例中为p值)感兴趣。

p值是反对原假设的证据。 p值越小,则表明您应该拒绝原假设的证据越强。

在您的情况下,原假设是列联表中观察到的频率的依存关系。



选择显着水平-alpha为5%;您的p值4.502328957824834e-19远小于.05,表明列联表的行和列是独立的。通常,这意味着值得解释列联表中的单元格。

在这种特殊情况下,这意味着男性或女性(即性别)在婚姻状况的不同级别(即已婚,未婚)的分布不相同。

因此,结婚可能是一种性别比另一种性别的地位!



更新资料

根据您的评论,我认为您对此测试有一些疑问。

该测试基本上可以告诉您变量之间的关系是重要的(即可能代表总体)还是偶然的!

因此,如果您具有较高的显着性(高p值),则意味着变量之间存在显着的依存关系!

现在,如果GenderMarried都是模型中的特征,则可能会导致过度拟合和特征冗余。然后,您可能要选择其中之一。

但是,如果GenderMarried是因变量(例如y),那么它们之间具有显着的关系就很好。

额外奖励:
有时,其中一个功能会在Data Imputation期间(当缺少值时)暂时成为因变量。

关于python - 如何理解卡方列联表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52692315/

10-12 21:40