分类问题的相关和组合分类和数字特征

数据挖掘 Python scikit-学习 熊猫 朱庇特
2022-02-26 11:28:34

我刚开始我的第一个机器学习项目(Jupyter Notebook、Python、Scikit-learn、pandas),并且正在研究 Palmer Penguin 数据集。我一直在做一些数据分析,但在尝试关联和组合数据集中的一些属性时遇到了困难。

  1. 相关性。

该数据集包含 2 个分类(性别、岛屿)和 4 个数值(体重、鳍状肢长度、顶梁深度、顶梁宽度)特征以及一个标签(企鹅物种)。我首先尝试将特征与标签相关联——我使用 scikit-learn 中的 LabelEncoder 将物种标签转换为数值属性,因为 pandas 数据框的相关函数仅适用于数值属性。尽管我得到了一些结果,但我从许多来源中了解到,这是一种测量分类属性和数值属性之间相关性的不恰当方法。如果有人可以为我澄清,我将不胜感激,什么是衡量这些类型相关性的首选方法。

  1. 结合。

我想测量这些属性之间的相关性的原因之一是,如果有意义的话,可能用组合属性替换一些属性。在逻辑上有意义的组合之一是将性别与体重相结合 - 我认为单独的性别不会带来太多价值,但如果我们将它与体重相结合可能会更有价值。这样的组合是否有意义,它们能否提高分类模型的准确性?如果是,如何使用指定的工具将分类属性与数字属性相结合?

1个回答

关于您的第一点,您可以按照您所做的方式将您的功能与您的目标相关联(据我所知。我不是 100% 确定)。这是因为您只是将分类类转换为数字类,因此最终您可能会得到类似特征 1 与类 1 的相关性约为 0.4 的结果,依此类推。然后你可以反转你的LabelEncoder编码来取回分类类别,即第 1 类是 A 类,第 2 类是 B 类。我认为它应该是正确的,但如果我错了,请有人纠正我。

关于第 2 点,您所描述的称为特征工程,您可以根据领域知识将多个特征组合成一个特征。如果您没有领域专业知识,那么我建议您不要组合功能。

您给出的示例对我来说没有意义,因为gender它是分类特征并且weight是数字特征。那么如何将两者结合起来呢?它可能会导致不正确/不好的结果。