随机森林从46%到61%:交互特征是“破局点”

随机森林基线准确率46%,调了三天超参勉强到51%。直到我开始构造交互特征,才真正突破。

坑1:单特征调参,天花板很明显

随机森林第一版用了4个基础特征:PE分位、PB分位、涨跌幅、成交量。训练完准确率46.16%,比随机猜测高一点。

然后开始调参:n_estimators从100调到200,max_depth从10调到20。准确率勉强到51%,但再调也上不去了。

根本原因:

模型只看到单个特征的影响,看不到特征之间的“化学反应”。比如“PE分位高+波动率大”可能意味着风险极高,但单个特征各自看都不明显。

解决方案:

构造交互特征——把两个特征相乘,让模型能同时看到它们的组合效应。

关键突破:

构造了三个交互特征:PE分位×波动率、PB分位×波动率、PE分位×PB分位。

python
# 交互特征构造
data['pe_volatility'] = data['pe_percentile'] * data['volatility']
data['pb_volatility'] = data['pb_percentile'] * data['volatility']
data['pe_pb_interaction'] = data['pe_percentile'] * data['pb_percentile']

加上交互特征后,特征从4维变成7维,然后使用RandomizedSearchCV自动搜索最优超参数组合。

 
版本特征数准确率关键动作
V1.0 4维 46.16% 基线
V1.5 7维 约55% 加入交互特征
V2.0 11维 约58% 扩充基础特征
V2.2 14维 61.17% RandomizedSearchCV调优

最终V2.2版本14维特征(11基础+3交互),测试集准确率61.17%,macro召回和F1均超过61%。

Top5核心特征:

  1. PB分位

  2. PE分位

  3. PE分位×波动率(交互特征)

  4. 涨跌幅

  5. 成交量

踩坑总结:

  • 单特征有天花板,交互特征是突破的关键。

  • 调参(RandomizedSearchCV)能帮你找到更好的组合,但它只能在已有特征的基础上优化。

  • 先扩特征,再调参——顺序反过来效果会差很多。

posted @ 2026-06-26 16:09  竹雨禅月  阅读(17)  评论(0)    收藏  举报