gpt4 book ai didi

machine-learning - BigQuery 拆分数据集偏差

转载 作者:行者123 更新时间:2023-11-30 09:05:11 26 4
gpt4 key购买 nike

来自 oreilly's article 的一个很好的例子对于航空公司准点数据集 ML 案例。以下查询是为了选择 80% 的记录进行训练。

SELECT
date,
airline,
departure_airport,
departure_schedule,
arrival_airport,
arrival_delay
FROM
[bigquery-samples:airline_ontime_data.flights]
WHERE
ABS(HASH(date)) % 10 < 8

就我而言,该日期并不唯一。假设 30% 的航类都在特定的一天(这不是最好的例子,其他数据集可以更好地适应这种情况),那么它的哈希值总是相同的。如果我们用 10 修改它们,则 30% 的记录将保留在 <8 边或 >=8 边。

如果我的理解是正确的并且此查询确实会导致偏差,是否有其他更好的方法将数据集拆分为 80/10/10?

最佳答案

是的,本文假设日期是均匀分布的,但这可能不正确。您可以直接对行内容进行指纹识别:

SELECT
date,
airline,
departure_airport,
departure_schedule,
arrival_airport,
arrival_delay
FROM
`bigquery-samples`.airline_ontime_data.flights
WHERE
MOD(ABS(FARM_FINGERPRINT(TO_JSON_STRING(flights))), 10) < 8

请注意,此查询使用标准 SQL 而不是旧版 SQL。如果您使用的是独立的经典 BigQuery UI,请在运行之前取消选中选项菜单中的“使用旧版 SQL”。

关于machine-learning - BigQuery 拆分数据集偏差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53852714/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com