奎克的藏经阁 · 原书印刷页

人工智能与大数据技术导论 · 第 251 页

PDF 物理页索引 267 · 第8章

书名
人工智能与大数据技术导论
作者
未记录
印刷页
251
PDF 物理页
267(从 0 开始)
章节
第8章
UUID
cd4f7678-cd9b-4971-bde0-e9ad46a6cc71
来源类型
original_book
页面 SHA-256
7f18ae9e9c32748e531b1433b1d12e71f3c4a9cd4ce76399ef4ee5aaf6aab912

还有,特征值不应随时间发生变化。这一点回到了数据的平稳性这一概念。

8.4.5 数据清洗

对于机器学习而言,预先了解源数据是至关重要的。我们不能将机器学习当作一个黑盒子,把数据丢进去,却不检查数据,就盼着能够获得好结果,这种做法并不妥当。有时,我们要监控一段时间内的数据。数据源昨天情况很好,并不意味着明天情况也会很好。有时,数据集中的有些数据可能并不可靠。因此,我们能做的就是,使用直方图或散点图以及各种排名指标将数据直观地显示出来,查看数据的统计信息(如最大/最小值、均值等)。我们写一些代码查找重复值和缺失值,查找不正确的标签数据和特征值,然后将它们清除出数据集。

在选取特征时应考虑排除离群值。例如,在加利福尼亚州的住房数据中,如果我们创建一个合成特征,例如人均房间数,即房间总数除以人口总数,那么对于大多数城市街区,我们都会得到介于每人0到3或4个房间的相对合理的值。如果出现高达50的值,这样的值就太不正常了,是一个离群值。再比如,年龄数据为200,这个可能是一个离群值。此时,我们或许可以为特征设置上限或转换特征,以便去掉这些不理性的离群值。这就是数据清洗的工作。还有一种数据清洗的标准化方法是将特征数据(比如1000到8000)缩放(scale)至给定的最小值与最大值之间,通常是0与1之间。

我们来看一个具体的例子。图8-47的左图描述了roomsPerPerson特征的数据分布。roomsPerPerson指一个区域内每人所占用的房间数。大多数特征数据集中在1和2之间,看上去比较合理。但是也有50的数据。为了减少离群值的影响,我们使用1og函数把特征值缩放了,如图8-47的右图所示。

虽然log缩放函数帮了一些忙,但是还有离群值。我们修剪最大值到4,如图8-48所示。

第8章 TensorFlow

251