特征选择#
Feature-engine 的特征选择转换器用于删除预测价值低的变量子集。Feature-engine 提供了一些在其他库中通常不可用的选择算法。这些算法来自数据科学竞赛或行业应用。
Feature-engine 的转换器根据不同的策略选择特征。一些算法移除常量或准常量特征。一些算法移除重复或相关的变量。一些算法根据机器学习模型的性能选择特征。一些转换器实现了金融领域使用的选择程序。还有一些转换器支持行业或数据科学竞赛中开发的功能。
在以下表格中,您可以找到属于每个类别的算法。
基于特征特性的选择#
Transformer |
分类变量 |
允许 NA |
描述 |
---|---|---|---|
√ |
√ |
根据用户决定,丢弃任意功能 |
|
√ |
√ |
删除常量和准常量特征 |
|
√ |
√ |
删除重复的功能 |
|
× |
√ |
删除相关的功能 |
|
× |
√ |
从一个相关的特征组中删除不太有用的特征 |
基于机器学习模型的选择#
Transformer |
分类变量 |
允许 NA |
描述 |
---|---|---|---|
× |
× |
基于单特征模型性能选择特征 |
|
|
× |
× |
通过评估模型性能递归地移除特征 |
|
× |
× |
通过评估模型性能递归地添加特征 |
金融中常用的选择方法#
Transformer |
分类变量 |
允许 NA |
描述 |
---|---|---|---|
× |
√ |
删除具有高人口稳定性指数的特征 |
|
√ |
x |
删除信息价值低的功能 |
替代特征选择方法#
Transformer |
分类变量 |
允许 NA |
描述 |
---|---|---|---|
× |
× |
选择特征如果打乱其值会导致模型性能下降 |
|
√ |
× |
使用目标均值作为性能代理,选择高性能特征 |
|
× |
× |
选择重要性高于随机变量的特征 |
其他特征选择库#
如需更多特征选择算法,请访问以下开源库:
Scikit-learn 托管了多种基于统计测试或机器学习模型派生重要性的过滤和嵌入式特征选择方法。MLXtend 托管了贪婪(包装器)特征选择方法。