
64
|
第
2
章
CAST(EXTRACT(HOUR FROM pickup_datetime)
AS STRING) AS hourofday), 2) AS day_hr
, CONCAT(
ML.BUCKETIZE(pickuplon, GENERATE_ARRAY(-78, -70, 0.01)),
ML.BUCKETIZE(pickuplat, GENERATE_ARRAY(37, 45, 0.01)),
ML.BUCKETIZE(dropofflon, GENERATE_ARRAY(-78, -70, 0.01)),
ML.BUCKETIZE(dropofflat, GENERATE_ARRAY(37, 45, 0.01))
) AS pickup_and_dropoff
)
OPTIONS(input_label_cols=['fare_amount'],
model_type='linear_reg',
l2_reg=0.1
)
AS
SELECT * FROM mlpatterns.taxi_data
这里有两个特征交叉:一个在时间上(星期几和几点),另一个在空间上(接送地点)。
尤其是位置的基数非常高,很可能有些桶中的样本很少。
因此,建议将特征交叉与
L1
正则化配对(这会鼓励特征的稀疏性)或
L2
正则化配对(这
会限制过拟合)。这使得我们的模型可以忽略由许多合成特征产生的外部噪声并防 ...