特征选择小结:过滤式、包裹式、嵌入式

磕盐需要研究特征选择算法,故对所了解的信息做一个小结。

常见的特征选择方法大致可以分为三类:过滤式、包裹式和嵌入式。通过特征选择可以减少特征维数、减少冗余特征、保留重要特征,使模型的学习能力和泛化能力更强。

目录

1.过滤式(Filter)

1.1 方差

1.2 单变量特征选择

1.2.1卡方检验(Chi2)

1.2.2 Pearson相关系数(Pearson Correlation)

1.2.3 互信息和最大信息系数(MI and MIC)

 1.2.4 距离相关系数(Distance Correlation)

1.3 其他

2. 包裹式(Wrapper)

3. 嵌入式(Embedded)


1.过滤式(Filter)

按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。

1.1 方差

        如果当前特征基本上都差异不大,因此可以认为这个特征对我们区分样本贡献不大,因此可以在构造特征过程中可以将其去掉。

        通过设定一个阈值,过滤掉方差小于该阈值的特征。注意适用于离散型特征。

1.2 单变量特征选择

        分别计算每个变量的某个统计指标,剔除不重要的指标。可解释性强,但特征优化的效果不一定好。(注意区分连续型和离散型特征)

1.2.1卡方检验(Chi2)

        检验定性自变量对定性因变量的相关性。

1.2.2 Pearson相关系数(Pearson Correlation)

        衡量变量之间的线性相关性,结果的取值区间为[-1,1],-1表示完全的负相关,+1表示完全的正相关,0表示没有线性相关。注意,它对非线性关系不敏感。(非线性关系可以尝试距离相关系数)

        绝对值越大说明越相关,越小说明越不相关(即越独立)。

1.2.3 互信息和最大信息系数(MI and MIC)

        互信息:并非是一种度量方式,无法归一化,且需要离散化。

        

        MIC最大信息系数:首先寻找一种最优的离散化方式,然后把互信息取值转换成一种度量方式,可以衡量线性或非线性的强度。

        取值区间在[0,1],取值越大说明越相关,越小说明越不相关(即越独立)。

        

 1.2.4 距离相关系数(Distance Correlation)

        能够克服Pearson的弱点,计算非线性相关。

        取值范围是[0,1],取值越大说明越相关,越小说明越不相关(即越独立)。

1.3 其他

        如Relief等,根据权重设定阈值,选择特征。

2. 包裹式(Wrapper)

        递归特征消除(Recursive Feature Elimination, RFE):对于特征含有权重的预测模型,首先在原始特征上训练,得到所有特征的权重,删除最小绝对值权重的特征,如此反复递归,自行设置程序出口

        基模型可以是LR、决策树、SVM...

3. 嵌入式(Embedded)

        嵌入式选择是将特征选择过程与学习器训练过程融为一体,二者在同一优化过程中完成,则在学习器训练过程中自动地进行了特征选择。

        具体可以使用:基于L1/L2惩罚项的、基于SVM的、基于树/森林的特征选择。

参考了以下文章:

特征选择 (feature_selection) - 会飞的蝸牛 - 博客园 (cnblogs.com)https://www.cnblogs.com/stevenlk/p/6543628.html#wrapper特征选择-嵌入式选择_温染的笔记-CSDN博客_嵌入式特征选择https://blog.csdn.net/weixin_43378396/article/details/90640595Relief特征选择算法_加加大了的博客-CSDN博客https://blog.csdn.net/qq_33700236/article/details/106162448MIC:最大信息系数_满腹的小不甘-CSDN博客_最大信息系数https://blog.csdn.net/qq_27586341/article/details/90603140

后续再丰富一下代码。

你可能感兴趣的:(机器学习,python)