前言
参加了一个学习小组,大家一起思考问题,正好讨论特征选择的问题,就记录一下,很多问题的思考还是比较好的,希望可以帮助大家,也感谢一些讨论的小伙伴。
问题:特征选择的方法
特征选择时有过滤法、包装法,集成法,这些方法在应用的时候有没有什么特别的应用场景,还是随机选择?
- (1)过滤法:有方差筛选、相关系数、卡方检验和互信息等,方差筛选可以剔除方差为0的无用信息;相关系数主要用于监督学习中,设定阈值,选择相关系数较大的特征;卡方检验要求非负特征集,应用场景是衡量特定条件下的分布是否与理论分布一致;互信息偏袒具有较多值的属性;个人觉得在没有什么思路的时候,可以优先使用卡方检验和互信息来做特征选择
- (2) 包装法:把将要使用的学习器的性能作为特征子集的评价标准,它会选择一个目标函数来一步步的筛选特征,每轮训练后,消除若干权值系数的特征,再基于新的特征集进行下一轮训练,前提是先确定学习模型,个人觉得包装法的优先级可以放过滤法后
- (3) 集成法:比如随机森林,个人觉得优先级可以放过滤法后,比如先进行方差移除无用特征,再进行集成法,
总之任何一种特征选择方法都有其优缺点的,但最终目的都是为了优化模型,将各种方法选出的特征放到模型中去验证,看其对模型的影响。
问题:对特征进行选择的时候,是采用其中一种特征选择方法,还是结合各个方法来筛选特征?如果是结合各方法进行筛选,每次出现结果不一样,那又通过什么筛选特征呢?
过滤法其实相对来说每次特征提取应该还是稳定的,基本上是确定了特征之后再开始训练模型等等,所以个人认为不太可能存在每次筛选的特征都不一样,只能说用包装法、集成方选择的算法不一样导致的特征不一样,具体可以在任务中对比一下,结合任务来做选择,这个好像跟个人经验非常相关。
问题:特征衍生是否有必要进行?出现的新特征是否有参考价值?依据?
我所知道的,时间序列的特征衍生是最多的,以每周、每月作为周期,以工作日、周末休息日作为单独的特征等等,这些衍生的特征都是非常具有意义的,举例乘地铁,工作日大家上下班,地铁可能会多一些的,休息日,大家很多人待在家里,不爱出去,地铁流量就少很多,某些地铁站的流量可能会因为周末大涨,比如景点地铁站。描述统计的一些指标:均值 众数 最大最小 标准差等等。所以特征衍生是有必要的,出现新特征也是有参考价值的。详细例子可以参考特征衍生
总结下大家的,
特征衍生的一些常用套路有
- 根据业务理解对多个特征间做加减乘除处理,比如面积和价格,就可以生成一个单位面积价格
- 构建描述性统计的指标,比如均值 方差 众数
- 还可以考虑将特征构造不同的组别,比如年龄可以构造成 幼儿 少年 青年 中年 老年等,城市也可以划分为一线城市、二线城市等等。
问题:IV值的问题
IV值可以衡量某个特征对目标的影响程度,根据IV值过滤的特征,这个取值范围该怎么选比较合适,极端值的处理方式?IV分箱有什么注意事项?
求IV值遇到极端值时怎么处理? 比如说为0 该怎么处理。做平滑吗?根据随机森林选取特征 计算出feature_importances_的值以后 ,是根据从大到小排列之后 又该怎么筛选特征?
IV 预测能力
<0.03 无预测能力
0.03-0.09 低
0.1-0.29 中
0.3-0.49 高
>= 0.5 极高且可疑