![]() |
A preprocessing layer which crosses features using the "hashing trick".
Inherits From: Layer
, Operation
tf.keras.layers.HashedCrossing( num_bins, output_mode='int', sparse=False, name=None, dtype=None, **kwargs )
This layer performs crosses of categorical features using the "hashing trick". Conceptually, the transformation can be thought of as: `hash(concatenate(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 ()
.
Examples:
Crossing two scalar features.
layer = keras.layers.HashedCrossing(
num_bins=5)
feat1 = np.array(['A', 'B', 'A', 'B', 'A'])
feat2 = np.array([101, 101, 101, 102, 102])
layer((feat1, feat2))
array([1, 4, 1, 1, 3])
Crossing and one-hotting two scalar features.
layer = keras.layers.HashedCrossing(
num_bins=5, output_mode='one_hot')
feat1 = np.array(['A', 'B', 'A', 'B', 'A'])
feat2 = np.array([101, 101, 101, 102, 102])
layer((feat1, feat2))
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)
Methods
from_config
@classmethod
from_config( config )
Creates a layer from its config.
This method is the reverse of get_config
, capable of instantiating the same layer from the config dictionary. It does not handle layer connectivity (handled by Network), nor weights (handled by set_weights
).
Args | |
---|---|
config | A Python dictionary, typically the output of get_config. |
Returns | |
---|---|
A layer instance. |
symbolic_call
symbolic_call( *args, **kwargs )