python - 如何处理特征消除?
问题描述
我一直在研究几个数据集,以基于它们构建预测模型。但是,当它要消除功能时,我感到有些困惑。
第一个是波士顿住房数据集,第二个是Bigmart 销售数据集。我将把我的问题集中在这两个上,但我也希望得到相对笼统的答案。
Boston Housing:我构建了一个相关系数矩阵,并消除了与目标变量medv的绝对相关系数小于 0.50 的特征。这给我留下了三个特征。然而,我也明白,相关矩阵可能具有高度欺骗性,并且不能捕捉非线性关系,事实上,诸如crim、indus 等特征确实与 medv 具有非线性关系,直观上它根本感觉不到正确丢弃它们。
Bigmart 销售:在 Python 中的 OneHotEncoding 之后创建了大约 30 多个功能。在构建线性回归模型时,我给出了一种反向消除方法,但我不确定在为此数据集处理决策树模型时如何应用反向消除(不确定它是否真的可以应用于决策树)。
如果我能对如何针对上述两种情况进行特征消除有所了解,那将有很大帮助。如果您需要更多信息,请告诉我,我很乐意提供。
解决方案
这是一个非常笼统的问题。我认为不可能以 StackOverFlow 格式回答您的问题。
对于每个 ML/统计模型,您需要不同的特征消除/特征工程方法:
线性 / 逻辑 / GLM 模型需要移除相关特征
对于神经网络/增强树,去除特征将影响模型的性能
即使对于一种类型的模型,也没有单一的最佳方法来进行特征消除
如果您可以为您的问题添加更具体的信息,则可以进行详细讨论。
推荐阅读
- python - ImportError:Keras 需要 TensorFlow 2.2 或更高版本。在 Windows 上通过 `pip install tensorflow` 安装 TensorFlow
- python - 当您在远程服务器中使用输入法时,Pycharm 将自动打印
- ios - 将 react-native 更新到 0.66.2 后无法运行 pod install
- docusignapi - 原始签名者的收件人类型未从签名者更改为 CarbonCopy
- javascript - 如何根据表数据中的文本框值过滤数据?
- java - Java算法创建自己的唯一密钥
- c - 在 C 中,我明白为什么不在指针返回函数中返回局部变量的地址,但我该如何解决呢?
- django - Django Rest 框架的自定义序列化程序
- reactjs - 模块解析失败:意外字符“�”需要适当的加载程序
- php - 如何使用 Ajax 定位特定的 PHP 函数