如何在TensorFlow Data Validation Schema中设置特征存在性属性?
为TensorFlow Data Validation Schema设置特征存在性属性
你可以通过操作Schema中每个Feature的presence字段定义存在性规则,presence对应schema_pb2.FeaturePresence类型,支持设置以下核心属性:
min_fraction: 特征必须出现的样本比例(范围0.0-1.0),例如设为1.0表示所有样本都必须包含该特征min_count: 每个样本中特征至少出现的次数optional: 标记特征是否为可选(默认False,即必填)
修改你的代码,在创建特征时直接配置存在性属性:
import tensorflow_data_validation as tfdv from tensorflow_metadata.proto.v0 import schema_pb2 # 初始化Schema my_schem = schema_pb2.Schema() # 为每种FeatureType创建特征并设置存在性 for feat_type_enum, feat_type_value in schema_pb2.FeatureType.items(): # 添加特征并获取返回的Feature对象 feature = my_schem.feature.add(name=f'feat_{feat_type_value}', type=feat_type_enum) # 设置存在性规则:要求特征必须出现在100%的样本中 feature.presence.min_fraction = 1.0 # 可选:如果需要允许特征可选,可开启以下配置 # feature.presence.optional = True tfdv.display_schema(schema=my_schem)
补充说明
- 若希望特征为可选(允许部分样本缺失),直接将
feature.presence.optional设为True即可,无需设置min_fraction或min_count - 若要限制每个样本中特征至少出现N次,比如至少1次,可设置
feature.presence.min_count = 1
内容的提问来源于stack exchange,提问作者Maxime Oriol
相关产品推荐
相关产品推荐

