Scale a numerical column into a predefined range on a per-key basis.
tft.scale_by_min_max_per_key(
x, key, output_min=0.0, output_max=1.0, elementwise=False,
key_vocabulary_filename=None, name=None
)
Args |
x
|
A numeric Tensor or SparseTensor .
|
key
|
A Tensor or SparseTensor of dtype tf.string.
Must meet one of the following conditions:
- key is None
- Both x and key are dense,
- Both x and key are sparse and
key must exactly match x in
everything except values,
- The axis=1 index of each x matches its index of dense key.
|
output_min
|
The minimum of the range of output values.
|
output_max
|
The maximum of the range of output values.
|
elementwise
|
If true, scale each element of the tensor independently.
|
key_vocabulary_filename
|
(Optional) The file name for the per-key file.
If None, this combiner will assume the keys fit in memory and will not
store the analyzer result in a file. If '', a file name will be chosen
based on the current TensorFlow scope. If not '', it should be unique
within a given preprocessing function.
|
name
|
(Optional) A name for this operation.
|
Returns |
A Tensor or SparseTensor containing the input column scaled to
[output_min, output_max] on a per-key basis if a key is provided. If the
analysis dataset is empty or contains a single distinct value, then x is
scaled using a sigmoid function.
|
Raises |
ValueError
|
If output_min, output_max have the wrong order.
|
NotImplementedError
|
If elementwise is True and key is not None.
|
InvalidArgumentError
|
If indices of sparse x and key do not match.
|