如何在 TensorFlow 数据验证架构中定义特征存在?

How to define features presence in a TensorFlow Data Validation schema?

提问人:maxoriol 提问时间:9/5/2023 最后编辑:Yevhen Kuzmovychmaxoriol 更新时间:9/8/2023 访问量:60

问:

我想从头开始创建一个新的 TensorFlow 数据验证架构,其中包含固定的特征名称、类型和状态。

import tensorflow_data_validation as tfdv
from tensorflow_metadata.proto.v0 import schema_pb2

# Initialisation
my_schem=schema_pb2.Schema()

# New features (one per available type)
for k in schema_pb2.FeatureType.items():
    my_schem.feature.add(name=f'feat_{k[1]}', type=k[0])

tfdv.display_schema(schema=my_schem)

上面的代码返回以下架构:

功能名称 类型 存在
“feat_0” TYPE_UNKNOWN -
“feat_1” 字节 -
“feat_2” 国际 -
“feat_3” -
“feat_4” 结构 -

如何为我的特征设置 Presence 属性?

python tensorflow 元数据 特征工程 tensorflow-data-validation

评论


答:

0赞 maxoriol 9/5/2023 #1

FeaturePresence 文档中所述,可能有两个参数:

  1. min_fraction:具有此功能的示例的最小部分
  2. min_count:具有此功能的最小示例数

如果 ,100% 的示例需要具有此功能,即该功能是必需的。 如果不是,则该功能是可选的。min_fraction=1

import tensorflow_data_validation as tfdv
from tensorflow_metadata.proto.v0 import schema_pb2

# Initialisation
my_schem=schema_pb2.Schema()

# A new required feature
my_schem.feature.add(name='required_feat', type='INT', presence=schema_pb2.FeaturePresence(min_fraction=1))

# A new optional feature
my_schem.feature.add(name='optional_feat', type='INT', presence=schema_pb2.FeaturePresence(min_fraction=0.5))

tfdv.display_schema(schema=my_schem)

上面的代码返回以下架构:

功能名称 类型 存在
“required_feat” 国际 必填 -
“optional_feat” 国际 自选 -