数据分割与模式设计:提升机器学习数据利用效率
1. 数据分割方法
1.1 按日期分割
可以使用 FARM_FINGERPRINT 函数计算日期的哈希值,再通过取模函数来选取任意 80% 的行子集,实现数据分割。示例代码如下:
airline,
departure_airport,
departure_schedule,
arrival_airport,
arrival_delay
FROM
`bigquery-samples`.airline_ontime_data.flights
WHERE
ABS(MOD(FARM_FINGERPRINT(date), 10)) < 8 -- 80% for TRAIN
这种分割方式具有可重复性,因为 FARM_FINGERPRINT 函数对特定日期的调用总是返回相同的值,所以每次都能得到相同的 80% 数据。并且,同一日期的所有航班都会属于同一个分割集(训练集、验证集或测试集)。
1.2 选择分割列的考虑因素
选择分割列时,需要考虑以下几点:
- 相关性 :同一日期的行往往具有相关性,这是确保同一日期的所有行都在同一分割集中的关键原因。
- 非模型输入 :日期本身不能作为模型的输入,尽管它被用作分割的标准。从日期中提取的特征(如星期几或一天中的小时数)可以作为输入,但不能使用实际的输入作为分割字段,否则训练的模型将无法看到日期列 20
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



