先看懂你的数据
Facets: Know Your Data · Google PAIR 作品,2017(仓库已归档)
训练模型之前先把数据摊开看一遍:概览逐个特征给出统计与分布并把训练集、测试集摆在一起比,细览把上万条数据一条一条画成小方块,随便你分桶、着色、点开看。老师还能直接上传自己的表格。
交互实验(可直接投屏)
原作是一个完整的网页应用,下面直接嵌入;屏幕小或要投影时,点「全屏打开实验」更清楚。
动手三步
- 先看概览里的数值型特征表,有个特征的「为零比例」标成红色的九成多,一眼看出它九成样本都是 0
- 把排序方式切成「分布距离」,训练集与测试集差别最大的特征会排到最上面
- 这时展开类别型特征里的标签列:训练集的标签末尾没有句点、测试集有,一个本不该存在的训练测试差异被揪出来了
- 往下到细览:把着色依据换成标签列,再把纵轴分桶换成学历,看学历越高、高收入的比例怎么变
- 点任意一个小方块,右侧弹出这条记录的全部字段,从统计回到个体
- 最后点「载入你自己的数据」,选一个带表头的表格文件,整套分析对自己的数据重跑一遍
课堂怎么用
- 把它当作建模第一课的开场:不写一行代码,先让学生花 15 分钟把数据看一遍,再问「你打算用哪些特征」
- 标签末尾那个句点是全场最好的教学点:训练集和测试集的标签不一致,模型怎么调都白搭
- 让学生自带一份表格上传,当场找出自己数据里的缺失与异常,作业感很强
- 细览的分面适合小组竞赛:给定一个问题,比谁先用分桶加着色把答案摆出来
思考题
- 某个特征有九成样本取值为 0,这样的特征还该不该进模型?为什么?
- 训练集和测试集的标签写法差一个句点,如果没发现,训练出的模型在测试集上会发生什么?
- 按学历分桶后高收入比例明显上升,这能说明「学历导致高收入」吗?
已知限制
- 被探查的数据本身一律不翻译:字段名与字段取值保持英文。它们是数据不是界面,而且细览的下拉框与图例直接用这些字符串作键
- 部分下拉框收起时仍显示英文(组件把选项文字缓存进了输入框),展开后的选项已是中文
- 原作的一节演示用的数据放在境外云存储上,本镜像不带,该节与对应参考文献已隐藏
- 「随机狗狗」演示页未收录:原作在这一页用的是 2017 年的旧版组件库,当前浏览器里已经跑不起来(原站同样报错)
- 整站建立在 2017 年的组件规范之上,靠兼容垫片支撑,已实测在当前浏览器上完整可用;若干年后需要重新验证
- 上传的表格只在浏览器本地解析,不会上传到任何服务器;文件太大会卡,建议课堂样例控制在万行以内
原作 Facets: Know Your Data(Google PAIR 与 TensorFlow 团队,Google PAIR 作品,2017(仓库已归档)),Apache-2.0 许可(原文),界面已中文化。