这些特征值现在是分桶索引。请注意,这些索引被视为离散特征。通常情况下,这些特征将被进一步转换为独热编码表示,但这是以透明方式实现的。要为分桶特征定义特征列,我们可以使用 bucketized column(而不是使用numeric column),bucketized column 将数字列作为输入,并使用boundaries参数中指定的分桶边界将其转换为分桶特征。以下代码为households和longitude定义了分桶特征列。get\_quantile\_based\_boundaries函数会根据分位数(quantile)计算边界(boundaries),以便每个分桶包含相同数量的元素。
在前面的代码块中,两个实值列(即households和longitude)已被转换为分桶特征列。剩下的任务是对其余的列进行分桶,然后运行代码来训练模型。我们使用了分位数技巧,通过这种方式选择分桶边界后,每个分桶将包含相同数量的样本。
第9章 TensorFlow 高级知识
269