题目重点:PhD DS Intern OA 第四题基于已处理数据预测房价;从简单 baseline、验证指标到最终 test.csv 输出解释模型选择。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 目标是连续房价回归,不把分类 accuracy 当评分公式;评测指标未公开,训练版同时报告 MAE 与 RMSE。
- train 有标签、test 无标签;模型训练/调参不能看 test 真值或排行榜反复过拟合。
- 预处理的类别/缺失值参数只在训练折 fit,与 q24 的管线保持一致;新给数据若 schema 不同要重新核对。
解题路线
- 先检查目标分布、异常值、缺失和训练/验证切分;若有时间戳或同房产重复记录,按时间/实体分组切,避免信息泄漏。
- 建简单 baseline(训练集房价中位数或均值)并算 MAE/RMSE,再试线性回归或 Random Forest;与 baseline 同折、同指标比较。
- Random Forest 的树数、深度、叶样本数按验证集与时间预算选择;不要只因为作者用 RF 就声称唯一最优。
- 误差按价位/地区/房型切片,检查大房价离群对 RMSE 的影响;若目标为对数价,评估须回到原单位或清楚声明。
- 确定方案后在允许的完整 train 上重 fit 预处理和模型,按 test 原行序输出预测并核非负/有限值及文件 schema。
手动走一遍
训练例:baseline 一律预测训练房价中位数,验证 MAE 为 M;RF 验证 MAE 为 M−δ 且高价段误差不过度恶化,才值得采用。M/δ 必须实际计算,题目未明确可复现数值,也不能把 200/300 分当精度百分比。
规模与取舍
设 N 行、F 特征、T 棵树:随机森林常见训练量级与采样/深度相关,粗估 O(T·N·F_sub·log N),推理每行约 O(T·depth);实际以库实现和参数为准。输出 N_test 个预测值 O(N_test)。
易错点与追问
容易失分的边界
- 把回归的评分称分类 accuracy。
- 在 test 上拟合 scaler/编码器。
- 只看提交分数,不留验证集。
- 同房产重复记录跨训练/验证造成虚高。
- 没对齐 test 行顺序或输出列名。
继续深挖
- 若房价分布长尾,MAE/RMSE 怎样选?
- 如何检测地理位置泄漏?
- 数据很小是否需要交叉验证?
- 模型解释与不确定性如何展示?
