6.3 KiB
6.3 KiB
用户问到现在为止的探索中,对特码可能性排序比较有用的特征是哪些。
我需要回顾所有跑过的模型,看哪些特征持续在重要性 Top 中出现。让我从几次跑的特征重要性提取稳定出现的特征。
回顾:
-
train_rank.py(RF 49类):之前有输出 Top15,但我不记得具体数字。
-
train_lgb.py(LGB multiclass):特征重要性 Top10:
- 特码_间隔 (4119)
- 正码_std (3928)
- 正码3_平均值 (3826)
- 前3期特码和 (3718)
- 正码6_平均值 (3574)
- 波色转移_to_1_概率 (3521)
- 正码4_平均值 (3521)
- 正码2_平均值 (3435)
- 正码1_平均值 (3389)
- 正码5_平均值 (3181)
-
train_lambdarank.py(v1 49类+13候选特征):特征重要性 Top15:
- cand_num (15099)
- cand_gap (6307)
- cand_tail (3567)
- cand_dist_to_sp (3270)
- 波色转移_to_1_概率 (2732)
- 正码_std (2642)
- 正码4_平均值 (2483)
- 特码_间隔 (2476)
- 正码3_平均值 (2368)
- 正码6_平均值 (2349)
- 波色转移_to_2_概率 (2265)
- 正码_sum (2244)
- 大小转移_to_1_概率 (2231)
- 前3期特码和 (2152)
- cand_he (2145)
-
train_lambdarank_v2.py(v2 +19候选特征):Top15:
- cand_num (24344)
- cand_gap (7118)
- 正码_std (3005)
- 正码6_平均值 (2940)
- 正码2_平均值 (2891)
- 前3期特码和 (2877)
- 特码_间隔 (2705)
- 波色转移_to_3_概率 (2581)
- 正码_sum (2383)
- cand_dist_to_sp (2374)
- 波色转移_to_1_概率 (2358)
- 大小转移_to_1_概率 (2302)
- 总分 (2267)
- 前3期波色组合_码 (2221)
- 波色转移_to_2_概率 (2198)
让我统计哪些特征在多次训练中持续出现:
共享特征(出现在多个模型 Top15):
- 正码_std (出现 4 次)
- 前3期特码和 (4 次)
- 正码各位置平均值 (3-5, 6) (多次)
- 特码_间隔 (3 次)
- 波色转移_to_1/2/3 (3 次)
- 大小转移_to_1 (2 次)
- 正码_sum (2 次)
- 总分 (1 次)
- 前3期波色组合_码 (1 次)
候选特征(lambdarank 专用):
- cand_num (号码本身) 出现 2 次,最大头
- cand_gap (冷热间隔) 出现 2 次
- cand_tail (尾数) 出现 1 次
- cand_dist_to_sp (邻域距离) 出现 1 次
- cand_he (合数) 出现 1 次
两类:
- 强稳定特征:所有模型都用到
- 正码_std(波动率)
- 前3期特码和(跨期信号)
- 特码_间隔(冷热度)
- 候选维度(lambdarank 关键):
- cand_num(号码本身属性)
- cand_gap(冷热度)
- cand_dist_to_sp(邻域)
- cand_tail(尾数)
重要的洞察:
- 候选特征 cand_num 和 cand_gap 在 lambdarank 里增益最大——号码本身的"内在属性"和"历史间隔"是排序的关键
- 跨期信号(前3期特码和、转移概率)也有用
- 局部统计(正码_std、正码各位置均值)持续有用
我应该诚实呈现:
- 稳定 Top 5 特征
- 候选维度最有用的特征
- 注意"特征重要性 ≠ 因果预测力"——模型用得多不等于真实有效
也应该指出:
- LGB multiclass 和 LGB lambdarank 的 Top 特征不同(lambdarank 重在排序,cand_num 必为最大因为它本身就是候选 ID)
- 稳定性比单次重要性更可信
让我写一个清晰的回答。
根据 4 次训练的 Top 特征重要性,我把多次出现的稳定特征整理出来:
跨模型稳定 Top 特征
| 特征 | RF 49类 | LGB 49类 | LGB-rank v1 | LGB-rank v2 | 含义 |
|---|---|---|---|---|---|
| cand_num | — | — | 15099 | 24344 | 候选号码本身 |
| cand_gap | — | — | 6307 | 7118 | 候选冷热间隔 |
| 正码_std | — | 3928 | 2642 | 3005 | 正码波动率 |
| 前3期特码和 | — | 3718 | 2152 | 2877 | 跨期信号 |
| 特码_间隔 | — | 4119 | 2476 | 2705 | 当前特码冷热 |
| 正码各位置平均值 | — | 3500-3800×5 | 2300-2500×4 | 2400-2900×4 | 位置局部均值 |
| 波色转移概率 | — | — | 2200-2700×3 | 2100-2600×3 | 跨期波色动态 |
三类最有价值的特征
1. 候选号码本身的属性(lambdarank 专属)
cand_num(号码值)、cand_tail(尾数)、cand_he(合数)、cand_dist_to_sp(到当前特码距离)- 增益贡献最大——因为排名学习直接优化"号码间相对得分"
2. 冷热度(跨期 + 跨候选)
cand_gap(候选冷热) +特码_间隔(当前特码冷热)- 多次稳定 Top 5——你最初提的"冷热转换"角度被模型持续利用
3. 跨期结构信号
前3期特码和、波色转移_to_X_概率、大小转移_to_X_概率- 跨期结构有微弱但稳定贡献
反过来看:哪些特征没用上
lambdarank v2 新增的 6 个特征(cand_recent5/50/100、cand_gap_trend、cand_gap_mean50、cand_gap_max50)没进 Top 15——可能已被 cand_gap 包含。
而"异常度"、"高异常阶段"、"偏斜方向"这些基于"统计回归"假设的特征已经被删除——之前在 RF 训练中也没出现 Top15。
重要提醒
特征重要性 ≠ 因果预测力。模型使用某个特征频繁,只能说明该特征在历史数据中有统计相关性,不代表它是真实的因果驱动。我们看到的"微弱信号"可能只是:
- 数据采样偏差(CSV 不完整)
- 模型对噪声过拟合的副产品
- 真正存在但微弱的真实模式
建议你保留的精简特征集
如果将来要精简,可以只保留这些稳定 Top 特征:
共享特征(每期):
- 正码_std、6 个正码位置均值、前3期特码和、特码_间隔、波色/大小转移概率
候选特征(每期×49 号码):
- cand_num、cand_gap、cand_tail、cand_dist_to_sp、cand_he、cand_recent30、cand_neighbor3_K10
这套精简特征应该能在保留大部分信号的同时,把 132 维降到约 25 维,提升训练速度和减少过拟合风险。