我的分类功能很少:
['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
从这些统计信息中如何得知这些功能是否相互独立?
我试图建立一个分类模型,所以我只想知道这些分类列对预测目标变量有用吗?
最佳答案
列联表用于统计信息中,以汇总几个类别变量之间的关系。
在您的示例中,两个变量Gender
和Married
之间的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值),则意味着变量之间存在显着的依存关系!
现在,如果Gender
和Married
都是模型中的特征,则可能会导致过度拟合和特征冗余。然后,您可能要选择其中之一。
但是,如果Gender
或Married
是因变量(例如y
),那么它们之间具有显着的关系就很好。
额外奖励:
有时,其中一个功能会在Data Imputation期间(当缺少值时)暂时成为因变量。
关于python - 如何理解卡方列联表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52692315/