业界常说数据和特征决定模型上限,算法只是逼近这个上限。好的特征能把领域知识注入模型,让简单模型也表现不俗;差的特征即使配上最先进的网络,也难以学到有效规律。
特征工程包括构造、变换与筛选。构造是从原始字段衍生出更有信息量的变量,比如从时间戳提取星期与时段;变换是归一化、对数化等,让分布更适合模型;筛选则是去掉冗余和噪声特征,降低过拟合风险。
类别特征要特别注意编码方式。高频类别可用独热编码,高基数类别更适合目标编码或嵌入。直接独热会导致维度爆炸,而目标编码若不做交叉验证,容易造成标签泄露,让离线评估虚高。
时间特征常被忽视。用户行为具有周期性和趋势性,加入小时、星期、节假日等特征能显著提升效果。但要注意特征的时间可用性,预测时不可使用未来才能获得的信息。
建议养成特征文档习惯,记录每个特征的来源、含义与更新时间。特征多了以后,没有文档的团队会在排查问题和迭代时付出巨大成本,这份投入远比你想象的回本更快。