R/Python 代码库
现行主案例执行入口(2026-09-19)
Myocardial_Infarction_Complications的唯一执行根位于仓库 04_Cases/Myocardial_Infarction_Complications/,参数由analysis_config.R维护。按案例运行指南执行,不能复制本章技术Demo的变量、折数或数值替代主案例。
| 任务 | 主案例脚本 |
|---|---|
| 读取与描述、固定成员 | L01_Read_Check_Demo.R、L02_Data_Preparation.R |
| LASSO lambda.min按原始变量筛选、普通Logistic | L03_Feature_Selection_Logistic.R |
| 完整训练内筛选/调参的外层OOF | L04_Internal_Validation.R |
| 共享特征的RF/XGBoost/SVM与SHAP | L05_ML_Comparison_SHAP.R |
| 第5课集中纠错、Kappa冻结与留出对照 | L06_Data_Audit_T0_Correction.R |
| 单变量整体LRT与AIC机制展示 | Teacher_Selection_Demonstrations.R |
| 冻结系数列线图及验证 | Export_Classroom_Artifacts.R、Validate_Review_Run.R、Check_Separation.py |
| Python完整统计主链快速展示 | Export_Python_Raw.R、Python_Statistical_Workflow.py |
Python演示保留原始缺失与固定成员,在各训练范围独立筛查、插补和选择lambda.min,再按原始变量拟合普通Logistic,训练OOF最大Kappa阈值冻结后用于测试。使用scikit-learn 1.9的SAGA,与R glmnet内层实现不同,不要求数值完全一致;R维护正式四模型比较。完整脚本课前预跑,最后一课仅快速展示数据→描述→筛选→拟合→评价,课后可依据代码与浓缩讲义复现。
All111是异常教学反例;Corrected执行已确认的时间、稀疏/零格、无变异和极低观测比例筛查。旧版T0_102不是最终纠正版。不要用已全训练插补的矩阵做CV,不从测试选变量、调参或选阈值。具体统计边界见教学契约。
通用技术Demo与原有代码片段
以下Demo_R_Project及其数值属于独立技术示范,保留作为片段查阅;本节默认值不覆盖上面的主案例配置。
本册是课程的长期 Code Library:不按课次组织,而是按”问题与方法”检索。每一章回答同一件事——做这类分析时应该调用哪段代码、怎么让 AI Agent 运行它、输入输出是什么、跑完拿什么核对。册内所有统计结果都由配套的 Demo_R_Project/ 真实运行生成并冻结,正文数字可逐一追溯到脚本与产物文件。
三册教材的分工一句话:Book 1 课程讲义回答”为什么这样分析、结果怎么判断”,Book 2 工具手册回答”环境与 Agent 工具怎么用、出错怎么办”,本册只回答”代码怎么复用、产物怎么验收”。
适合谁
- 正在做课程正式案例、需要现成代码与核对标准的学员;
- 把课程方法迁移到自己数据的分析者:你不自己写代码,而是向 Coding Agent 描述任务、限定范围、核对产物——本册就是 Agent 的”零件盒”与你的”验收单”。
怎么查:任务导航表
| 我要做什么 | 去哪章 |
|---|---|
| 数据读取与核查 | 第2章 |
| Table 1(基线特征表) | 第2章 |
| 训练/测试固定划分 | 第2章 |
| LASSO(Least Absolute Shrinkage and Selection Operator)变量筛选 | 第3章 |
| Logistic 回归(Logistic Regression)建模 | 第3章 |
| Nomogram(列线图) | 第3章 |
| ROC(Receiver Operating Characteristic)/ 校准(Calibration)/ DCA(Decision Curve Analysis) | 第4章 |
| 机器学习(Machine Learning,ML)模型比较 | 第5章 |
| SHAP(SHapley Additive exPlanations)模型解释 | 第5章 |
| 最终测试(Holdout Test,留出测试) | 第5章 |
| Python 迁移 | 第6章 |
| 给 Agent 的 Prompt | 第1章与 Prompt 库 |
六章分别解决什么
- 第1章 代码库使用说明与 Agent 执行契约:代码库怎么组织、怎么向 Agent 描述任务、产物怎么验收;配套可直接复制的分阶段 Prompt。
- 第2章 R 数据读取、清理、Table 1 与固定划分:数据字典、类型与编码核查、缺失概览、清理日志、Table 1,以及固定划分(split manifest 与 fold manifest)。
- 第3章 LASSO、Logistic 与 Nomogram:主线为 LASSO → 入选项映射回原始变量 → Logistic 重新拟合 → OR(Odds Ratio,比值比)与置信区间 → Nomogram。
- 第4章 完整内部验证与评价图:对完整开发流程做内部验证(而不是先在全训练集固定变量再做交叉验证),用折外(Out-of-Fold,OOF)预测计算 ROC / AUC(Area Under the Curve)、校准与 DCA。
- 第5章 机器学习比较、解释与最终测试:Logistic、随机森林(Random Forest,RF)、XGBoost(eXtreme Gradient Boosting)与支持向量机(Support Vector Machine,SVM)在相同成员、相同折上比较;先锁定模型、配置与阈值,再对冻结测试集评价一次;附 SHAP 解释。
- 第6章 Python 迁移与通用片段:Python 直接读取 R 导出的成员清单与变量契约,不重新抽样、不重建折;说清迁移中哪些必须保持一致、哪些允许实现不同。
Demo Project:所有结果的真实来源
本册的表格、图片与关键数字全部由 Demo_R_Project/ 真实运行生成并冻结。Demo 使用 R 内置数据 MASS::Pima.tr2(n = 300,事件 106,占 35.3%),从 package 直接加载,不下载任何文件;全流程为:数据画像 → 清理与 Table 1 → 固定划分 → LASSO / Logistic / Nomogram → 完整内部验证 → 四模型比较 → 模型锁定 → 一次 Holdout Test → Python 迁移契约导出。
Demo_R_Project/ 不是第三套教学数据,也不进入正式案例的结果口径。正式教学数据只有两套:Myocardial Infarction Complication(Live Delivery 主案例)与 Early Stage Diabetes Risk Prediction(Mini Project),见正式案例目录。Demo 存在的唯一理由,是让本册每一行代码、每一个数字都有可复跑、可核对的真实出处。
运行方式(需 R 4.5+,依赖见 Demo_R_Project/R/00_setup.R):
# 在 Demo_R_Project 目录下执行,全流程约 18 秒 {.unnumbered}
Rscript run_all.R
# R 全流程完成后,Python 迁移演示可独立运行 {.unnumbered}
python python/01_contract_migration_demo.py一次运行生成并冻结 22 个表格、14 张图片、4 个模型、7 个教材片段,全部登记在 Demo_R_Project/results/artifact_manifest.csv(52 条记录,逐行核验为 ok);运行概况见 run_summary.md,项目说明与统计纪律见 Demo README。各章”实际运行结果”小节通过 include 直接引入 Demo_R_Project/results/book_fragments/ 中的片段——正文不手抄大表、不维护第二套数字。
Prompt 在哪里
与 Book 1 / Book 2 / 正式 Cases 的分工
| 资料 | 回答的问题 | 入口 |
|---|---|---|
| Book 1 课程浓缩讲义 | 为什么这样分析、结果怎么判断 | 课程讲义 |
| Book 2 工具手册 | 环境与 Agent 工具怎么用、出错怎么办 | 工具手册 |
| Book 3 代码库(本册) | 代码怎么复用、产物怎么核对 | 本页六章 |
| 正式案例 | 两套教学数据上的完整分析实践 | 04_Cases:Myocardial_Infarction_Complications(Live Delivery 主案例)、Early_Stage_Diabetes_Risk_Prediction(Mini Project) |
同一套方法学纪律贯穿四处:Book 1 讲清道理,Book 3 给出可复跑的代码,正式 Cases 是它在两套教学数据上的应用,Demo 则保证代码本身永远可运行、可核对。