特征工程是机器学习里非常重要的一步。 很多时候,模型效果不好,不一定是算法不够高级,而是特征没有表达出问题的关键。
1. 什么是特征
特征是模型用来做判断的信息。
比如预测用户是否流失,可以使用:
- 最近一次登录距今天数。
- 最近 30 天访问次数。
- 消费金额。
- 投诉次数。
- 使用时长。
这些字段就是模型的输入。
模型不能看到我们没给它的信息,所以特征决定了模型能理解问题的角度。
2. 特征工程做什么
特征工程包括对原始数据进行处理和转换,让它更适合模型学习。
常见操作:
- 缺失值处理。
- 异常值处理。
- 类别变量编码。
- 数值归一化。
- 时间特征提取。
- 构造组合特征。
- 特征选择。
比如把登录时间转换成“距离上次登录多少天”,往往比原始时间戳更有用。
3. 好特征的特点
一个好的特征通常具备:
- 和目标有关。
- 取值稳定。
- 含义清晰。
- 可解释。
- 不泄露未来信息。
最后一点很重要。
比如预测用户明天是否流失,不能使用“明天是否登录”这种未来信息,否则模型评估会虚高。
4. 特征工程和业务理解
特征工程不是纯技术活。
很多有效特征来自业务理解。
比如电商场景中,用户最近 7 天浏览频率、加购次数、优惠券领取情况,都可能比简单的年龄性别更有用。
所以做特征工程时,要多问:
这个字段为什么可能影响结果?
5. 小结
特征工程可以理解成:
txt
把原始数据加工成模型更容易学习的信息模型不是魔法。它的判断能力,很大程度取决于我们给它什么特征。
初学阶段先把缺失值、编码、归一化、时间特征、组合特征这些基础概念弄清楚,就已经能理解很多机器学习项目的前处理流程。
留言板