数值型数据:总结#
模型的状态,最终是由它的数据决定的。喂进干净的数据,模型就长得好;喂进垃圾数据,它给出的预测也就一文不值。
学完「处理数值型数据」这一讲,我们把散落各处的做法收拢成一份清单,如果用得上的话,可以把它抄进你自己的项目笔记里。
处理数值型数据的最佳实践#
记住,模型真正打交道的是特征向量(Feature vector), 而不是数据集(Dataset)里的那份数据。
对大多数数值型特征(Feature)做归一化(Normalization)。
归一化的第一种策略没奏效,就换一种方式再试试。
分箱(Binning),也叫分桶(Bucketing),有时比归一化更好使。
心里先想清楚你的数据应该长成什么样,然后照着这个预期写验证测试。我们举两个例子:
纬度的绝对值不该超过 90。你可以写一个测试,检查数据里有没有大于 90 的纬度值。
如果你的数据限定在佛罗里达州,就可以写测试,检查纬度是否都落在 24 到 31 之间(含两端)。
用散点图和直方图把数据画出来,专门盯着异常。
不只统计整个数据集,也统计它更小的子集。因为整体层面的汇总统计,往往会把局部的问题盖住。
把所有数据变换都记录下来。
数据是你手上最值钱的资源,请好好对待它。
延伸阅读#
《Rules of Machine Learning》(机器学习法则)一文里有一个很有价值的特征工程(Feature Engineering章节。
下一讲#
恭喜你完成了本节内容!
接下来你可以按自己的节奏和兴趣,随意逛逛课程里的。如果你想按课程推荐的顺序往下走,那么建议下一站是:
类别型数据的表示(Representing categorical data)
关键术语:
- 分箱(Binning)
- 分桶(Bucketing)
- 数据集(Dataset)
- 特征(Feature)
- 特征向量(Feature vector)
- 归一化(Normalization)