特征筛选工具

2021-01-24  本文已影响0人  xieyan0811

做模型时常常是特征越多模型准确率越高(至少在训练集上)。但过多的特征又增加了数据收集、处理、存储的工作量,以及模型的复杂度。

在保证模型质量的前提下,我们希望尽量少地使用特征,这样也间接地加强了模型的可解释性。一般来说,为避免过拟合,特征尽量控制在实例个数的1/20以下,比如有3000个实例,则特征最好控制在150以下。

除了特征的具体个数,特征工程中也经常遇到某些特征严重缺失,特征相关性强,一些特征不但无法给模型带来贡献,反而带来噪声等问题。

本篇介绍特征筛选工具feature-selector,在github上有1.8K星,它使用少量的代码解决了特征筛选中的常见问题,用法简单,便于扩展;同时也提供了作图方法,以更好地呈现特征效果。

下载地址

https://github.com/WillKoehrsen/feature-selector

核心代码

其核心代码文件只有feature_selector/feature_selector.py(600多行代码),所有方法都定义在FeatureSelector类中,因此,不用安装,只需要将该文件复制你的项目中即可使用。

功能点

示例代码

示例及效果见:Feature Selector Usage.ipynb

代码中使用Kaggle比赛中信用风险预测的数据,为分类问题。

其中包含10000条数据,122个特征;将其TARGET字段作为标签,其它字段作为预测特征。

首先用训练数据建立类的实例:

fs = FeatureSelector(data = train, labels = train_labels)

后面逐一列出了各个函数的用法,此处不再一一列举。

图示

工具提供plot_xxx等方法具象地展示了数据情况:

上一篇 下一篇

猜你喜欢

热点阅读