Files
shuju/特征研究.md
2026-07-17 07:43:39 +00:00

154 lines
6.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<think>用户问到现在为止的探索中,对**特码可能性排序**比较有用的特征是哪些。
我需要回顾所有跑过的模型,看哪些特征持续在重要性 Top 中出现。让我从几次跑的特征重要性提取稳定出现的特征。
回顾:
1. **train_rank.pyRF 49类)**:之前有输出 Top15,但我不记得具体数字。
2. **train_lgb.pyLGB multiclass**:特征重要性 Top10
- 特码_间隔 (4119)
- 正码_std (3928)
- 正码3_平均值 (3826)
- 前3期特码和 (3718)
- 正码6_平均值 (3574)
- 波色转移_to_1_概率 (3521)
- 正码4_平均值 (3521)
- 正码2_平均值 (3435)
- 正码1_平均值 (3389)
- 正码5_平均值 (3181)
3. **train_lambdarank.pyv1 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)
4. **train_lambdarank_v2.pyv2 +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、正码各位置均值)持续有用
我应该诚实呈现:
1. 稳定 Top 5 特征
2. 候选维度最有用的特征
3. 注意"特征重要性 ≠ 因果预测力"——模型用得多不等于真实有效
也应该指出:
- LGB multiclass 和 LGB lambdarank 的 Top 特征不同(lambdarank 重在排序,cand_num 必为最大因为它本身就是候选 ID)
- 稳定性比单次重要性更可信
让我写一个清晰的回答。</think>
根据 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。
## 重要提醒
**特征重要性 ≠ 因果预测力**。模型使用某个特征频繁,只能说明该特征在历史数据中有统计相关性,**不代表它是真实的因果驱动**。我们看到的"微弱信号"可能只是:
1. 数据采样偏差(CSV 不完整)
2. 模型对噪声过拟合的副产品
3. 真正存在但微弱的真实模式
## 建议你保留的精简特征集
如果将来要精简,可以只保留这些稳定 Top 特征:
**共享特征(每期)**
- 正码_std、6 个正码位置均值、前3期特码和、特码_间隔、波色/大小转移概率
**候选特征(每期×49 号码)**
- cand_num、cand_gap、cand_tail、cand_dist_to_sp、cand_he、cand_recent30、cand_neighbor3_K10
这套精简特征应该能在保留大部分信号的同时,把 132 维降到约 25 维,提升训练速度和减少过拟合风险。