一个预处理层,按范围对连续特征进行存储。
继承自:PreprocessingLayer
、Layer
、Module
用法
tf.keras.layers.Discretization(
bin_boundaries=None, num_bins=None, epsilon=0.01, output_mode='int',
sparse=False, **kwargs
)
属性
-
bin_boundaries
bin 边界列表。最左边和最右边的 bin 将始终扩展到-inf
和inf
,因此bin_boundaries=[0., 1., 2.]
生成 bin(-inf, 0.)
,[0., 1.)
,[1., 2.)
和[2., +inf)
。如果设置了此选项,则不应调用adapt()
。 -
num_bins
要计算的二进制数的整数。如果设置了此选项,则应调用adapt()
来了解 bin 边界。 -
epsilon
容错,通常是接近零的一小部分(例如 0.01)。较高的 epsilon 值会增加分位数近似值,因此会导致更多不相等的桶,但可以提高性能和资源消耗。 -
output_mode
层输出的规范。默认为"int"
.值可以是"int"
,"one_hot"
,"multi_hot"
, 或者"count"
配置层如下:"int"
:直接返回分类后的 bin 索引。"one_hot"
:将输入中的每个单独元素编码为与num_bins
大小相同的数组,在输入的 bin 索引处包含 1。如果最后一个维度是大小 1,将在该维度上进行编码。如果最后一个维度不是大小 1,将为编码输出附加一个新维度。"multi_hot"
:将输入中的每个样本编码为与num_bins
大小相同的单个数组,其中包含样本中存在的每个 bin 索引索引的 1。将最后一个维度视为样本维度,如果输入形状为(..., sample_length)
,则输出形状将为(..., num_tokens)
。"count"
:与"multi_hot"
一样,但 int 数组包含 bin 索引在样本中出现的次数的计数。
-
sparse
布尔值。仅适用于"one_hot"
,"multi_hot"
和"count"
输出模式。如果为 True,则返回SparseTensor
而不是密集的Tensor
。默认为假。 -
is_adapted
图层是否已经适合数据。
该层会将其输入数据的每个元素放入几个连续范围之一,并输出一个整数索引,指示每个元素放置在哪个范围内。
有关预处理层的概述和完整列表,请参阅预处理指南。
输入形状:
任何维度 2 或更高的 tf.Tensor
或 tf.RaggedTensor
。
输出形状:
与输入形状相同。
例子:
根据提供的存储桶对浮点值进行分桶。
>>> input = np.array([[-1.5, 1.0, 3.4, .5], [0.0, 3.0, 1.3, 0.0]])
>>> layer = tf.keras.layers.Discretization(bin_boundaries=[0., 1., 2.])
>>> layer(input)
<tf.Tensor:shape=(2, 4), dtype=int64, numpy=
array([[0, 2, 3, 1],
[1, 3, 2, 1]], dtype=int64)>
根据要计算的桶数对浮点值进行桶化。
>>> input = np.array([[-1.5, 1.0, 3.4, .5], [0.0, 3.0, 1.3, 0.0]])
>>> layer = tf.keras.layers.Discretization(num_bins=4, epsilon=0.01)
>>> layer.adapt(input)
>>> layer(input)
<tf.Tensor:shape=(2, 4), dtype=int64, numpy=
array([[0, 2, 3, 2],
[1, 3, 3, 1]], dtype=int64)>
相关用法
- Python tf.keras.layers.Dropout用法及代码示例
- Python tf.keras.layers.Dot用法及代码示例
- Python tf.keras.layers.Dense用法及代码示例
- Python tf.keras.layers.DenseFeatures用法及代码示例
- Python tf.keras.layers.InputLayer用法及代码示例
- Python tf.keras.layers.serialize用法及代码示例
- Python tf.keras.layers.maximum用法及代码示例
- Python tf.keras.layers.LayerNormalization用法及代码示例
- Python tf.keras.layers.Conv2D用法及代码示例
- Python tf.keras.layers.RepeatVector用法及代码示例
- Python tf.keras.layers.Multiply用法及代码示例
- Python tf.keras.layers.Activation用法及代码示例
- Python tf.keras.layers.Conv1D用法及代码示例
- Python tf.keras.layers.experimental.preprocessing.PreprocessingLayer.adapt用法及代码示例
- Python tf.keras.layers.CategoryEncoding用法及代码示例
- Python tf.keras.layers.subtract用法及代码示例
- Python tf.keras.layers.experimental.preprocessing.HashedCrossing用法及代码示例
- Python tf.keras.layers.Subtract用法及代码示例
- Python tf.keras.layers.ZeroPadding3D用法及代码示例
- Python tf.keras.layers.MaxPool3D用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.layers.Discretization。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。