9.1.4 特征交叉代码实例
交叉组合的两个(或更多个)特征是使用线性模型来学习非线性关系的一种聪明做法。在我们的例子中,如果只使用latitude特征进行学习,那么该模型可能会发现在一个特定纬度(或在一个特定纬度范围内,因为我们已经将其分桶)的城市街区更可能比其他街区住房成本高昂。longitude特征的情况与此类似。但是,如果我们将longitude与latitude交叉组合,那么产生的交叉组合特征则代表一个明确的城市街区。如果模型发现某些城市街区(位于特定纬度和经度范围内)更可能比其他街区住房成本高昂,那么就是比单独使用两个特征更合适。
目前,特征列API仅支持交叉组合离散特征。如果要组合两个连续的值(比如latitude或longitude),我们可以对其进行分桶。如果交叉组合latitude和longitude特征(例如,longitude被分到2个分桶中,而latitude有3个分桶),那么我们实际上会得到6个交叉组合的二值特征(binaryfeature)。当我们训练模型时,每个特征都会分别获得自己的权重。
第9章 TensorFlow高级知识
271