本包提供配套的 Python 与 R 实验。中文讲解帮助理解研究问题;英文代码注释说明操作目的和计算约定。先阅读本说明,再按 实验任务单 提出预测、运行、记录和解释。
先解压整个 student-lab 文件夹,保留目录结构。下列命令均在该文件夹运行。数据含义见 data/data_dictionary.csv。
Python 依赖仅为 NumPy 与 pandas;requirements.txt 固定依赖版本。建议使用 Python 3.11 或 3.12。安装与运行:
python -m pip install -r requirements.txt
python student/selfcheck_python.py
python student/starter_python.py
python student/experiments_python.py
也可以用入口脚本的绝对路径运行。已有 Jupyter 环境时,在本目录或 student 子目录打开 student/starter_python.ipynb。请选择已安装 NumPy/pandas 的内核,按顺序运行各单元。Notebook 的结果会在运行后显示;Jupyter 不包含在最小依赖中。
R 仅需 base R。命令行运行:
Rscript student/selfcheck_R.R
Rscript student/starter_R.R
Rscript student/experiments_R.R
在 RStudio 中先将工作目录设为 student-lab,再使用:
source('student/selfcheck_R.R')
source('student/starter_R.R')
source('student/experiments_R.R')
starter_python.py / starter_R.R 运行默认网络并保存一行指标和完整曲线。只改文件顶部的 HIDDEN、LEARNING_RATE 或 L2 之一。experiments_python.py / experiments_R.R 自动运行常数概率基线、逻辑回归、默认神经网络,以及六个单因素变体,并扫描同一组概率的分类阈值。每次运行会创建独立目录,避免无声覆盖旧记录。
outputs/python_single/<运行标识>/ 或 outputs/r_single/<运行标识>/outputs/python/<运行标识>/ 或 outputs/r/<运行标识>/完整比较写出五个 CSV:
| 文件 | 内容 | 用途 |
|---|---|---|
comparison.csv |
9 个候选、设置、保留/停止轮次、验证指标、保留模型的训练/验证损失 | 比较基线与单因素变化 |
learning_curves.csv |
8 个可训练候选的逐轮训练/验证交叉熵 | 观察收敛、分叉与停止;常数基线没有训练曲线 |
thresholds.csv |
同一默认网络概率在 5 个阈值的指标与示例成本 | 区分概率预测与决策规则 |
scaling.csv |
七个特征的训练均值与总体标准差 | 核查预处理来源 |
val_predictions.csv |
180 条合成验证记录的标签及三个基线模型的概率 | 独立复算指标;这些仍是开发标签 |
comparison.csv 与 thresholds.csv 的 split=development_validation 明确标识分数用途。预测文件保留数据原有的 split=val。入门运行只保存前两类文件。Notebook 还会保存可填写的比较记录和特征消融结果。
(L2/2) × 权重平方和。偏置不受 L2 惩罚。CSV 曲线显示未加惩罚的交叉熵。best_epoch 是被保留参数的轮次,stop_epoch 是运行结束轮次。保留轮次不一定是原始曲线数值最小的轮次,因为存在最小改进容差。(FP + 3×FN)/n,不代表真实金钱或组织政策。GUIDED_EXPERIMENTS_中文.md:研究问题、操作步骤、可观察量与思考COMMENT_GUIDE_中文.md:代码术语表与阅读提示comparison_notes_template.csv:填写研究问题、预测、比较和限制python/core_lab.py、r/core_functions.R:数据、模型、指标与训练逻辑python/experiment_lab.py:Python 受控比较与 CSV 导出student/:入门、全实验、计算检查与 Notebook 入口data/:合成开发数据、数据字典、共享初始化不要只交截图或最高分。请交可复现设置、CSV、比较解释和证据边界。