在构建任何预测模型的过程中,特征分析是一个不可或缺的步骤。它帮助理解因变量和自变量之间的关系。本文将探讨一种简单的特征分析技术,适用于二元分类问题等场景。核心思想是通过量化每个自变量与因变量在各自变量值的特定水平上的关系,从而识别出更重要的变量子集,并了解特定特征值的重要水平。
本文使用的数据集是公开可用的UCI机器学习库中的葡萄酒质量数据集。数据集链接为:https://archive-beta.ics.uci.edu/ml/datasets/wine+quality。该数据集包含多个特征/属性,以及输出(目标)变量:质量(得分介于0到10之间)。
更高的得分意味着葡萄酒的质量更好。将8和9的得分视为优质组,其余得分视为非优质组。因此,问题陈述现在是:基于可用特征预测葡萄酒的质量为优质或非优质。
将采用一种有监督的特征分析方法,也称为二元特征分析。具体来说,将使用目标变量以及独立变量来检查它们之间的关系。首先,将数据集分为训练集和测试集。
在将数据集分为训练集和测试集之后,目标分布如下所示。为了获得与上述相同的结果/数字,请参考以下数据探索代码,并设置random_state=100。
在这个数据集中,所有特征都是数值型的。这些特征的值是连续的。为了理解这些特征与目标变量的关系,需要查看每个变量值的桶/水平。
将使用一个辅助函数来计算多个统计数据,以分析每个桶的值与目标变量之间的关系。
对于酒精含量特征,可以看到随着水平的增加,目标百分比有所提高。这表明酒精含量较高的葡萄酒质量更好。特别是,最后几个水平的目标百分比明显高于整体目标百分比。这个特征可能是预测葡萄酒质量最相关或最重要的特征。
对于硫酸盐特征,可以看到平均而言,这些水平的目标百分比低于整体目标百分比。只有第三水平的目标百分比略高于整体训练目标百分比。这个特征可能不是预测葡萄酒质量最相关或最重要的特征。
对于pH值特征,可以看到有轻微的趋势。随着水平的增加,目标百分比也在增加,但与整体目标百分比相比增加不多。这表明这个特征对于预测葡萄酒质量稍微重要。
对于挥发性酸度特征,可以看到每个水平的目标百分比仅略高于整体目标百分比。这表明这个特征可能不是预测葡萄酒质量最相关或最重要的特征。
对于柠檬酸特征,可以看到没有统一的趋势,即随着水平的增加,目标百分比没有统一的变化。确实看到中水平的目标百分比略有增加。这表明这可能是一个相对重要的特征,中等水平的柠檬酸有助于提高葡萄酒的质量。
对于残糖特征,可以看到与柠檬酸特征相似的观察结果,中水平的值更适合优质葡萄酒。与柠檬酸相比,中水平的值显示更高的目标百分比。这表明这个特征可能是一个相对重要的特征——比柠檬酸更重要——用于预测葡萄酒的质量。
对于氯化物特征,可以看到前几个水平的目标百分比高于整体目标百分比。这表明这可能是一个稍微重要的变量。
对于游离硫特征,可以看到平均而言,训练目标百分比并不比不同水平的整体目标百分比高很多。这表明这个特征可能不是预测葡萄酒质量非常相关或重要的特征。
对于总硫特征,可以看到中水平值的测试目标百分比高于整体目标百分比,但相应的训练目标百分比仅略高于整体目标百分比。这表明如果这个特征被包含在模型中,将引入一定的方差,因为测试数据看到的目标百分比与训练数据略有不同。