MSIN0010 Data Analytics I (Statistics and Data Mining)
🎬 3 周在算同一组 Netflix 数据
上一期的 slides 里,Week 3 拿 Netflix 两张封面图做例子:看到 A 图的 100 个用户平均看了 4.5 集,看到 B 图的 100 个用户平均看了 3 集。Week 4 用这组数算出差值的 95% 置信区间,大约 0.95 到 2.05 集。Week 5 再做双侧 z 检验,z 约 5.30,p 值约 0.0000001。
如果你把这三周当成三章新内容分开背,到 Week 5 会觉得公式又换了一套。三周问的是同一件事:这次差了 1.5 集,换一批用户再测,差距还在不在。我的做法是把这组数抄在笔记第一页,每学一个新工具就拿它从头算一遍。Week 4 用到的 SE,就是 Week 3 讲的抽样分布的标准差。区间整段落在 0 上面,和 5% 水平下拒绝「没有差别」是同一个结论。
⚠️ 准确率 97% 也会漏掉违约
上一期 Week 7 用 Default 数据预测信用卡违约,80% 的行拿去训练,20% 留作测试。Logistic regression 在测试集上的准确率是 97.25%,看着很稳。同一张表里,它的测试 FNR 是 0.757:实际违约的客户,每四个漏掉三个。
违约本来就是少数,准确率主要靠大量按时还款的客户撑起来,所以准确率很高也说明不了抓违约的能力。slides 给的思路是先看错误的代价:银行把违约客户放过去,损失比误拦一个好客户大得多,这时就要盯 FNR。按测试误差排,logistic regression 赢;按测试 FNR 排,classification tree 赢。你自己比较模型时,先写清楚哪一类错误更贵,再挑指标、报数字。我的做法是把两类错误各自的损失写出来,乘上各自的次数再加总,哪个模型总损失小就选哪个。
💻 slides 代码是 R,官方写 Python
UCL 官方的模块介绍写明,这门课要让你成为熟练的 Python 使用者。上一期 slides 里的代码却全是 R:qnorm 查临界值,lm 和 rpart 拟合房价模型,knn 和 glm 做分类,kmeans 给 Spotify 歌曲分群。
如果你照着旧 slides 的代码一行行敲,到了本期 lab,函数名、参数和输出格式都要重新认一遍,练过的手感用不上。我的做法是把旧 slides 当方法书读,记住每一步在做什么:先切训练集和测试集,算距离之前先标准化,回归系数表和混淆矩阵各看哪几个数。比如 Week 7 的标准化,均值和标准差只用训练集来算,测试集照着这把尺子换算,不能自己另算一套。这些步骤换成 Python 也一样,语法就以本期 lab 给的代码为准,边做边对照旧 slides 里的输出结果。
🗺️ 8 周路线一张表
| 周次 | 学什么 | 上一期的例子 |
|---|---|---|
| Week 1 | 均值、方差、相关、作图 | Dominick's 啤酒价格 |
| Week 2 | 条件概率、Bayes | HSBC 海外交易查欺诈 |
| Week 3 |






