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. 第1章 代码库使用说明与 Agent 执行契约:代码库怎么组织、怎么向 Agent 描述任务、产物怎么验收;配套可直接复制的分阶段 Prompt。
  2. 第2章 R 数据读取、清理、Table 1 与固定划分:数据字典、类型与编码核查、缺失概览、清理日志、Table 1,以及固定划分(split manifest 与 fold manifest)。
  3. 第3章 LASSO、Logistic 与 Nomogram:主线为 LASSO → 入选项映射回原始变量 → Logistic 重新拟合 → OR(Odds Ratio,比值比)与置信区间 → Nomogram。
  4. 第4章 完整内部验证与评价图:对完整开发流程做内部验证(而不是先在全训练集固定变量再做交叉验证),用折外(Out-of-Fold,OOF)预测计算 ROC / AUC(Area Under the Curve)、校准与 DCA。
  5. 第5章 机器学习比较、解释与最终测试:Logistic、随机森林(Random Forest,RF)、XGBoost(eXtreme Gradient Boosting)与支持向量机(Support Vector Machine,SVM)在相同成员、相同折上比较;先锁定模型、配置与阈值,再对冻结测试集评价一次;附 SHAP 解释。
  6. 第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 只是技术演示

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 在哪里

  • Prompt 的用法与验收纪律:第1章;
  • 可独立复制给 Coding Agent 的完整 Prompt:集中在本目录 prompts/,按分析阶段组织为六份,每份自带背景、任务、方法、输出、约束与验收条件。

与 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 则保证代码本身永远可运行、可核对。