Skip to content

Latest commit

 

History

70 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExamPrediction · DECODE LAB

一个研究"4 选 1 到底有没有规律"的小项目

🌐 https://badhope.github.io/ExamPrediction/


这玩意在干啥的

36 套 CET-6 真题 + 5 个 ML 模型 + 11 条规则 — 用数据和代码试试, 蒙题到底能不能比瞎蒙多蒙对几道。

跑完了老实告诉你: 能多蒙对一点 (2-5%), 但不值得当备考策略用。


三个领域

考试 状态 套题 题数

| CET-6 (大学英语六级) | ✅ active | 36 | 1700 | | CET-4 (大学英语四级) | ✅ active | 8 | 380 | | 高考英语 | ✅ active | 8 | 320 |

加第四个? 在 data/_meta/exams.json 加一条, 再放一份 data/<新id>/config.json, CI 自动验。代码一行不用动


仓库结构

ExamPrediction/
├── data/                    # ★ 数据层 (按考试分类, 配置驱动)
│   ├── _meta/
│   │   ├── exams.json       # 考试注册表
│   │   └── schema.json      # JSON Schema 定义
│   ├── cet6/                # CET-6 数据 (active)
│   │   └── config.json
│   ├── cet4/                # CET-4 (development)
│   │   └── config.json
│   └── gaokao/              # 高考 (placeholder)
│       └── config.json
├── docs/                    # ★ 技术文档
│   ├── architecture.md
│   ├── data-schema.md
│   └── contributing.md
├── scripts/                 # ★ CI 工具
│   └── validate-data.py
├── index.html               # 主页
├── exam.html                # 详情页 (hash 路由 #cet6)
├── styles.css
├── shared.js
├── app.js
├── exam.js
├── charts.js                # 纯 SVG 自绘图表
├── motion.js                # 数字动画 + 滚动揭示
├── 404.html
└── _config.yml

跑起来

# 1. 跑数据校验 (Python 3, 只需内置库)
python3 scripts/validate-data.py

# 2. 起本地预览
python3 -m http.server 8000
# 开 http://localhost:8000/

数据是手工整理成 config.json 的, 没附分析脚本 — 想重新算可参考 schema 文档。


CET-6 数字 (跨时期验证后)

  • 瞎蒙基线: 25.00% (4 选 1 理论值)
  • 11 条规则真实命中率: 27-30% (跨 Era 切分, 相对瞎蒙 +2-5%)
  • 5 模型 Stacking 集成 AUC: 0.537 (接近瞎蒙 0.5)
  • 6 项审计发现已修 (2 critical + 2 major + 2 minor)

审计前 v3.5 初版曾声称 38.27% — 那是过拟合数字, 已经修正。


11 条规则

# 规则 类型
1 含抽象名词 → 排除 exclude
2 含极值词 → 排除 exclude
3 听力 5/10/15/20 不选 C exclude
4 选词填空排除短词 exclude
5 3 个同向时排除反向 exclude
6 末位 25/55 选 D choose
7 听力短对话选最短 choose
8 3 长 1 短选最短 choose
9 匹配题 36-38 选 A/B choose
10 阅读第 55 题选 D choose
11 含 the 冠词加分 choose

技术栈

前端

  • HTML + CSS + 原生 JS — 零构建, 三个文件搞定全站
  • 字体: 思源黑体 / 思源宋体 + 系统降级链 (国内直接打开)
  • 布局: clamp() 流式字号 + 自适应 grid
  • 响应式: 三个断点 (480 / 640 / 768), 触摸目标 ≥ 44px
  • a11y: skip-link, ARIA, 键盘可达, 焦点环

数据层

  • 配置驱动: data/<exam_id>/config.json 装所有内容
  • CI 校验: scripts/validate-data.py 在每次 push 跑

研究

  • 跨 Era 切分训练/测试, 防分布偏移过拟合
  • 11 条规则 + 5 模型 Stacking (LightGBM / CatBoost / RF / XGBoost / LR)
  • 6 项审计已修, 复现步骤在 data/cet6/config.json 里的 audits

老实说

这个项目不证明蒙题是合理策略。 真实备考请老老实实背单词练听力。

本仓库只适合三件事:

  1. 数据科学研究方法的演示
  2. 跨时期分布偏移的实证
  3. ML 模型在 4 选项离散选择任务上的过拟合研究

引用

@software{examprediction2026,
  author = {badhope},
  title = {ExamPrediction: Multi-exam option strategy research platform},
  year = {2026},
  url = {https://github.com/badhope/ExamPrediction}
}

许可

MIT

About

CET-6 option research, decoded. Real hit rate 27–30% vs random 25% with the full code, the data, and the audit. Yes, the folklore patterns check out.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages