View source on GitHub
|
A preprocessing layer which crosses features using the "hashing trick".
tf.keras.layers.HashedCrossing(
num_bins, output_mode='int', sparse=False, **kwargs
)
This layer performs crosses of categorical features using the "hasing
trick". Conceptually, the transformation can be thought of as:
hash(concatenation of features) % num_bins.
This layer currently only performs crosses of scalar inputs and batches of
scalar inputs. Valid input shapes are (batch_size, 1), (batch_size,) and
().
For an overview and full list of preprocessing layers, see the preprocessing guide.
Examples:
Crossing two scalar features.
layer = tf.keras.layers.HashedCrossing(num_bins=5)feat1 = tf.constant(['A', 'B', 'A', 'B', 'A'])feat2 = tf.constant([101, 101, 101, 102, 102])layer((feat1, feat2))<tf.Tensor: shape=(5,), dtype=int64, numpy=array([1, 4, 1, 1, 3])>
Crossing and one-hotting two scalar features.
layer = tf.keras.layers.HashedCrossing(num_bins=5, output_mode='one_hot')feat1 = tf.constant(['A', 'B', 'A', 'B', 'A'])feat2 = tf.constant([101, 101, 101, 102, 102])layer((feat1, feat2))<tf.Tensor: shape=(5, 5), dtype=float32, numpy=array([[0., 1., 0., 0., 0.],[0., 0., 0., 0., 1.],[0., 1., 0., 0., 0.],[0., 1., 0., 0., 0.],[0., 0., 0., 1., 0.]], dtype=float32)>
View source on GitHub