English · PDF 402
期望你将这种方法与更经典的自动化方法结合使用。
难点在于知道何时停止。你需要弄清楚模型何时已经足够好,何时继续投入不太可能有回报。我特别喜欢 reddit 用户 Broseidon241 的这句话:
很久以前在美术课上,我的老师告诉我:“艺术家需要知道一件作品何时完成。你无法通过不断微调达到完美——收尾吧。如果你不喜欢它,就重做一遍。否则就开始新的创作。”后来在生活中,我听到过这样一句话:“蹩脚的裁缝会犯很多错误。好的裁缝努力改正这些错误。伟大的裁缝则不怕扔掉整件衣服从头再来。”
我们将使用与上一章相同的工具,但会加入一些真实数据集:来自 ggplot2 的 diamonds(钻石)数据,以及来自 nycflights13 的 flights(航班)数据。我们还需要 lubridate 来处理 flights 中的日期/时间。
library(tidyverse) library(modelr) options(na.action = na.warn) library(nycflights13) library(lubridate)
在前面的章节中,我们看到了钻石品质与价格之间一个令人惊讶的关系:低品质的钻石(切工差、颜色差、净度低)反而价格更高:
ggplot(diamonds, aes(cut, price)) + geom_boxplot() ggplot(diamonds, aes(color, price)) + geom_boxplot() ggplot(diamonds, aes(clarity, price)) + geom_boxplot()