首页 > 解决方案 > 在分类中,通过频繁的 one-hot 编码进行特征工程是否无效?

问题描述

简短的上下文

完成特征工程后,我的数据集从 15 列扩展到大约 90 列。超过 90% 的新数据集是一次性编码的(列中的大多数值是整个数据集中的 0 和 1)。在使用statsmodels并运行 Logistic 回归摘要后,我的伪 R-2 仅为 0.07,并且随着我删除统计上不显着的特征而继续降低。

主要问题

是否可以使用 one-hot 编码来过度特征工程?我做了尽可能多的特征工程来提取尽可能多的数据,所以我的低伪 R-2 值混淆了它为什么这么低。

我已经做了 3 个月的机器学习,在测试模型之前,我被教导要在特征工程中提取尽可能多的信息。在这样做之后,我真的被我目前的知识所困扰,为什么我的伪 R-2 可能这么低。

长上下文

我正在使用公共数据集进行个人项目。最终目标是预测哪些客户可能不会出现在他们预定的约会中。我从 11 个解释变量和 1 个响应变量开始 - 结果。最初,我的解释变量是:

我希望这个项目成为我作为新数据科学家的模范项目,所以我尽可能多地进行功能设计。示例包括:

完成特征工程后,我使用statsmodels使用以下代码示例运行模型的逻辑回归摘要:

smf.logit(formula = """ Outcome ~ 
                                       Age +
                                       Scholarship + ...)

全部完成后,我的伪 R-2 值最多只有 0.07。我进行了研究,发现伪 R-2 值介于 0.2 和 0.4 之间意味着模型很强大。因此,这让我很困惑,为什么在提取了所有可能的信息后我的分数如此之低。

标签: pythonmachine-learninglogistic-regressionstatsmodelsfeature-engineering

解决方案


推荐阅读