Referencia de anomalías de validación de datos de TensorFlow

TFDV comprueba si hay anomalías comparando un esquema y prototipos de estadísticas. El siguiente cuadro enumera los tipos de anomalías que TFDV puede detectar, los campos de esquema y estadísticas que se utilizan para detectar cada tipo de anomalía y las condiciones bajo las cuales se detecta cada tipo de anomalía.

  • BOOL_TYPE_BIG_INT

    • Campos de esquema:
      • feature.bool_domain
    • Campos de estadísticas:
      • features.num_stats.max
      • features.type
    • Condición de detección:
      • se especifica feature.bool_domain y
      • features.type == INT y
      • features.num_stats.max > 1
  • BOOL_TYPE_BYTES_NOT_INT

    • Tipo de anomalía no detectado en TFDV
  • BOOL_TYPE_BYTES_NOT_STRING

    • Tipo de anomalía no detectado en TFDV
  • BOOL_TYPE_FLOAT_NOT_INT

    • Tipo de anomalía no detectado en TFDV
  • BOOL_TYPE_FLOAT_NOT_STRING

    • Tipo de anomalía no detectado en TFDV
  • BOOL_TYPE_INT_NOT_STRING

    • Tipo de anomalía no detectado en TFDV
  • BOOL_TYPE_SMALL_INT

    • Campos de esquema:
      • feature.bool_domain
    • Campos de estadísticas:
      • features.num_stats.min
      • features.type
    • Condición de detección:
      • features.type == INT y
      • se especifica feature.bool_domain y
      • features.num_stats.min < 0
  • BOOL_TYPE_STRING_NOT_INT

    • Tipo de anomalía no detectado en TFDV
  • BOOL_TYPE_UNEXPECTED_STRING

    • Campos de esquema:
      • feature.bool_domain
    • Campos de estadísticas:
      • features.string_stats.rank_histogram *
    • Condición de detección:
      • features.type == STRING y
      • se especifica feature.bool_domain y
      • al menos un valor en rank_histogram * no es feature.bool_domain.true_value o feature.bool_domain.false_value
  • BOOL_TYPE_UNEXPECTED_FLOAT

    • Campos de esquema:
      • feature.bool_domain
    • Campos de estadísticas:
      • features.num_stats.min
      • features.num_stats.max
      • features.num_stats.histograms.num_nan
      • features.num_stats.histograms.buckets.low_value
      • features.num_stats.histograms.buckets.high_value
      • features.type
    • Condición de detección:
      • features.type == FLOAT y
      • se especifica feature.bool_domain y
        • ( features.num_stats.min ! = 0 o features.num_stats.min ! = 1) o
        • ( features.num_stats.max ! = 0 o features.num_stats.max ! = 1) o
        • features.num_stats.histograms.num_nan > 0 o
        • ( features.num_stats.histograms.buckets.low_value != 0 o features.num_stats.histograms.buckets.high_value != 1) y features.num_stats.histograms.buckets.sample_count > 0
  • BOOL_TYPE_INVALID_CONFIG

    • Campos de esquema:
      • feature.bool_domain
    • Campos de estadísticas:
      • features.type
    • Condición de detección:
      • Si features.type == INT o FLOAT ,
        • se especifica feature.bool_domain y
        • se especifica feature.bool_domain.true_value o feature.bool_domain.false_value , o
      • si features.type == STRING ,
        • se especifica feature.bool_domain y
        • feature.bool_domain.true_value y feature.bool_domain.false_value no están especificados
  • ENUM_TYPE_BYTES_NOT_STRING

    • Tipo de anomalía no detectado en TFDV
  • ENUM_TYPE_FLOAT_NOT_STRING

    • Tipo de anomalía no detectado en TFDV
  • ENUM_TYPE_INT_NOT_STRING

    • Tipo de anomalía no detectado en TFDV
  • ENUM_TYPE_INVALID_UTF8

    • Campos de estadísticas:
      • features.string_stats.invalid_utf8_count
    • Condición de detección:
      • invalid_utf8_count > 0
  • ENUM_TYPE_UNEXPECTED_STRING_VALUES

    • Campos de esquema:
      • string_domain y feature.domain ; o feature.string_domain
      • feature.distribution_constraints.min_domain_mass
    • Campos de estadísticas:
      • features.string_stats.rank_histogram *
    • Condición de detección:
      • O bien (número de valores en rank_histogram * que no están en el dominio/número total de valores) > (1 - feature.distribution_constraints.min_domain_mass ) o
      • feature.distribution_constraints.min_domain_mass == 1.0 y hay valores en el histograma que no están en el dominio
  • FEATURE_TYPE_HIGH_NUMBER_VALUES

    • Campos de esquema:
      • feature.value_count.max
      • feature.value_counts.value_count.max
    • Campos de estadísticas:
      • features.common_stats.max_num_values
      • features.common_stats.presence_and_valency_stats.max_num_values
    • Condición de detección:
      • Si se especifica feature.value_count.max
        • features.common_stats.max_num_values ​​> feature.value_count.max ; o
      • si se especifica feature.value_counts
        • feature.value_counts.value_count.max < features.common_stats.presence_and_valency_stats.max_num_values ​​en un nivel de anidamiento dado
  • FEATURE_TYPE_LOW_FRACTION_PRESENT

    • Campos de esquema:
      • feature.presence.min_fraction
    • Campos de estadísticas:
      • features.common_stats.num_non_missing *
      • num_examples *
    • Condición de detección:
      • se especifica feature.presence.min_fraction y ( features.common_stats.num_non_missing * / num_examples *) < feature.presence.min_fraction o
      • feature.presence.min_fraction == 1.0 y common_stats.num_missing != 0
  • FEATURE_TYPE_LOW_NUMBER_PRESENT

    • Campos de esquema:
      • feature.presence.min_count
    • Campos de estadísticas:
      • features.common_stats.num_non_missing *
    • Condición de detección:
      • se especifica feature.presence.min_count y
        • features.common_stats.num_non_missing * == 0 o
        • features.common_stats.num_non_missing * < feature.presence.min_count
  • FEATURE_TYPE_LOW_NUMBER_VALUES

    • Campos de esquema:
      • feature.value_count.min
      • feature.value_counts.value_count.min
    • Campos de estadísticas:
      • features.common_stats.min_num_values
      • features.common_stats.presence_and_valency_stats.min_num_values
    • Condición de detección:
      • Si se especifica feature.value_count.min
        • features.common_stats.min_num_values ​​< feature.value_count.min ; o
      • si se especifica feature.value_counts
        • features.common_stats.presence_and_valency_stats.min_num_values ​​< feature.value_counts.value_count.min en un nivel de anidamiento dado
  • FEATURE_TYPE_NOT_PRESENT

    • Campos de esquema:
      • feature.in_environment o feature.not_in_environment o schema.default_environment
      • feature.lifecycle_stage
      • feature.presence.min_count o feature.presence.min_fraction
    • Campos de estadísticas:
      • features.common_stats.num_non_missing *
    • Condición de detección:
      • feature.lifecycle_stage no está en [ PLANNED , ALPHA , DEBUG , DEPRECATED ] y
      • common_stats.num_non_missing * == 0 y
      • ( feature.presence.min_count > 0 o feature.presence.min_fraction > 0) y
        • feature.in_environment == entorno actual o
        • feature.not_in_environment != entorno actual o
        • schema.default_environment != entorno actual
  • FEATURE_TYPE_NO_VALUES

    • Tipo de anomalía no detectado en TFDV
  • FEATURE_TYPE_UNEXPECTED_REPEATED

    • Tipo de anomalía no detectado en TFDV
  • FEATURE_TYPE_HIGH_UNIQUE

    • Campos de esquema:
      • feature.unique_constraints.max
    • Campos de estadísticas:
      • features.string_stats.unique
    • Condición de detección:
      • features.string_stats.unique > feature.unique_constraints.max
  • FEATURE_TYPE_LOW_UNIQUE

    • Campos de esquema:
      • feature.unique_constraints.min
    • Campos de estadísticas:
      • features.string_stats.unique
    • Condición de detección:
      • features.string_stats.unique < feature.unique_constraints.min
  • FEATURE_TYPE_NO_UNIQUE

    • Campos de esquema:
      • feature.unique_constraints
    • Campos de estadísticas:
      • features.string_stats.unique
    • Condición de detección:
      • feature.unique_constraints especificado pero no features.string_stats.unique presente (como es el caso donde la característica no es una cadena o categórica)
  • FLOAT_TYPE_BIG_FLOAT

    • Campos de esquema:
      • feature.float_domain.max
    • Campos de estadísticas:
      • features.type
      • features.num_stats.max o features.string_stats.rank_histogram
    • Condición de detección:
      • Si features.type == FLOAT ,
        • features.num_stats.max > feature.float_domain.max ; o
      • si features.type == BYTES o STRING ,
        • valor máximo en features.string_stats.rank_histogram (cuando se convierte a float) > feature.float_domain.max
  • FLOAT_TYPE_NOT_FLOAT

    • Tipo de anomalía no detectado en TFDV
  • FLOAT_TYPE_SMALL_FLOAT

    • Campos de esquema:
      • feature.float_domain.min
    • Campos de estadísticas:
      • features.type
      • features.num_stats.min o features.string_stats.rank_histogram
    • Condición de detección:
      • Si features.type == FLOAT ,
        • features.num_stats.min < feature.float_domain.min ; o
      • si features.type == BYTES o STRING ,
        • valor mínimo en features.string_stats.rank_histogram (cuando se convierte a float) < feature.float_domain.min
  • FLOAT_TYPE_STRING_NOT_FLOAT

    • Campos de esquema:
      • feature.float_domain
    • Campos de estadísticas:
      • features.type
      • features.string_stats.rank_histogram
    • Condición de detección:
      • features.type == BYTES o STRING y
      • features.string_stats.rank_histogram tiene al menos un valor que no se puede convertir en un flotante
  • FLOAT_TYPE_NON_STRING

    • Tipo de anomalía no detectado en TFDV
  • FLOAT_TYPE_UNKNOWN_TYPE_NUMBER

    • Tipo de anomalía no detectado en TFDV
  • FLOAT_TYPE_HAS_NAN

    • Campos de esquema:
      • feature.float_domain.disallow_nan
    • Campos de estadísticas:
      • features.type
      • features.num_stats.histograms.num_nan
    • Condición de detección:
      • float_domain.disallow_nan es verdadero y
      • features.num_stats.histograms.num_nan > 0
  • FLOAT_TYPE_HAS_INF

    • Campos de esquema:
      • feature.float_domain.disallow_inf
    • Campos de estadísticas:
      • features.type
      • features.num_stats.min
      • features.num_stats.max
    • Condición de detección:
      • features.type == FLOAT
      • float_domain.disallow_inf es verdadero y
        • features.num_stats.min == inf/-inf o
        • features.num_stats.max == inf/-inf
  • INT_TYPE_BIG_INT

    • Campos de esquema:
      • feature.int_domain.max
    • Campos de estadísticas:
      • features.type
      • features.num_stats.max
      • features.string_stats.rank_histogram
    • Condición de detección:
      • Si features.type == INT ,
        • features.num_stats.max > feature.int_domain.max ; o
      • si features.type == BYTES o STRING ,
        • valor máximo en features.string_stats.rank_histogram (cuando se convierte a int) > feature.int_domain.max
  • INT_TYPE_INT_EXPECTED

    • Tipo de anomalía no detectado en TFDV
  • INT_TYPE_NOT_INT_STRING

    • Campos de esquema:
      • feature.int_domain
    • Campos de estadísticas:
      • features.type
      • features.string_stats.rank_histogram
    • Condición de detección:
      • features.type == BYTES o STRING y
      • features.string_stats.rank_histogram tiene al menos un valor que no se puede convertir a un int
  • INT_TYPE_NOT_STRING

    • Tipo de anomalía no detectado en TFDV
  • INT_TYPE_SMALL_INT

    • Campos de esquema:
      • feature.int_domain.min
    • Campos de estadísticas:
      • features.type
      • features.num_stats.min
      • features.string_stats.rank_histogram
    • Condición de detección:
      • Si features.type == INT ,
        • features.num_stats.min < feature.int_domain.min ; o
      • si features.type == BYTES o STRING ,
        • valor mínimo en features.string_stats.rank_histogram (cuando se convierte a int) < feature.int_domain.min
  • INT_TYPE_STRING_EXPECTED

    • Tipo de anomalía no detectado en TFDV
  • INT_TYPE_UNKNOWN_TYPE_NUMBER

    • Tipo de anomalía no detectado en TFDV
  • LOW_SUPPORTED_IMAGE_FRACTION

    • Campos de esquema:
      • feature.image_domain.minimum_supported_image_fraction
    • Campos de estadísticas:
      • features.custom_stats.rank_histogram para custom_stats con el nombre image_format_histogram . Tenga en cuenta que las estadísticas de dominio semántico deben estar habilitadas para que se genere image_format_histogram y para que se realice esta validación. Las estadísticas de dominio semántico no se generan de forma predeterminada.
    • Condición de detección:
      • La fracción de valores que son tipos de imágenes de Tensorflow compatibles con todos los tipos de imágenes es menor que feature.image_domain.minimum_supported_image_fraction .
  • SCHEMA_MISSING_COLUMN

    • Campos de esquema:
      • feature.in_environment o feature.not_in_environment o schema.default_environment
      • feature.lifecycle_stage
      • feature.presence.min_count o feature.presence.min_fraction
    • Condición de detección:
      • feature.lifecycle_stage != PLANNED , ALPHA , DEBUG o DEPRECATED y
      • feature.presence.min_count > 0 o feature.presence.min_fraction > 0 y
      • feature.in_environment == entorno actual o feature.not_in_environment != entorno actual o schema.default_environment != entorno actual y
      • no se encuentra ninguna función con el nombre o la ruta especificados en el protocolo de estadísticas
  • SCHEMA_NEW_COLUMN

    • Condición de detección:
      • hay una característica en el prototipo de estadísticas pero ninguna característica con su nombre/ruta en el prototipo de esquema
  • SCHEMA_TRAINING_SERVING_SKEW

    • Tipo de anomalía no detectado en TFDV
  • STRING_TYPE_NOW_FLOAT

    • Tipo de anomalía no detectado en TFDV
  • STRING_TYPE_NOW_INT

    • Tipo de anomalía no detectado en TFDV
  • COMPARATOR_CONTROL_DATA_MISSING

    • Campos de esquema:
      • feature.skew_comparator.infinity_norm.threshold
      • feature.drift_comparator.infinity_norm.threshold
    • Condición de detección:
      • el prototipo de estadísticas de control (es decir, estadísticas de servicio para sesgo o estadísticas anteriores para desviación) está disponible pero no contiene la característica especificada
  • COMPARATOR_TREATMENT_DATA_MISSING

    • Tipo de anomalía no detectado en TFDV
  • COMPARATOR_L_INFTY_HIGH

    • Campos de esquema:
      • feature.skew_comparator.infinity_norm.threshold
      • feature.drift_comparator.infinity_norm.threshold
    • Campos de estadísticas:
      • features.string_stats.rank_histogram *
    • Condición de detección:
      • Norma L-infinito del vector que representa la diferencia entre los recuentos normalizados de las features.string_stats.rank_histogram * en las estadísticas de control (es decir, estadísticas de servicio para sesgo o estadísticas anteriores para desviación) y las estadísticas de tratamiento (es decir, estadísticas de entrenamiento para sesgo o estadísticas actuales para deriva) > feature.skew_comparator.infinity_norm.threshold o feature.drift_comparator.infinity_norm.threshold
  • COMPARATOR_NORMALIZED_ABSOLUTE_DIFFERENCE_HIGH

    • Campos de esquema:
      • feature.skew_comparator.normalized_abs_difference.threshold
      • feature.drift_comparator.normalized_abs_difference.threshold
    • Campos de estadísticas:
      • features.string_stats.rank_histogram
    • Condición de detección:
      • Se superó la diferencia de conteo absoluto normalizado de los conteos de valores de las features.string_stats.rank_histogram en las estadísticas de control (es decir, estadísticas de servicio para sesgo o estadísticas anteriores para desvío) y las estadísticas de tratamiento (es decir, estadísticas de entrenamiento para sesgo o estadísticas actuales para desvío). feature.skew_comparator.normalized_abs_difference.threshold o feature.drift_comparator.normalized_abs_difference.threshold. Las diferencias de conteo se normalizan por el conteo total en ambas condiciones.
  • COMPARATOR_JENSEN_SHANNON_DIVERGENCE_HIGH

    • Campos de esquema:
      • feature.skew_comparator.jensen_shannon_divergence.threshold
      • feature.drift_comparator.jensen_shannon_divergence.threshold
    • Campos de estadísticas:
      • features.num_stats.histograms de tipo STANDARD
      • features.string_stats.rank_histogram *
    • Condición de detección:
      • Divergencia de Jensen-Shannon aproximada calculada entre las estadísticas de control (es decir, estadísticas de servicio para sesgo o estadísticas anteriores para desvío) y las estadísticas de tratamiento (es decir, estadísticas de entrenamiento para sesgo o estadísticas actuales para desvío) > feature.skew_comparator.jensen_shannon_divergence.threshold o feature.drift_comparator.jensen_shannon_divergence.threshold . La divergencia Jensen-Shannon aproximada se calcula en función de los recuentos de muestras normalizados tanto en el histograma estándar features.num_stats.histograms como en features.string_stats.rank_histogram *.
  • NO_DATA_IN_SPAN

    • Tipo de anomalía no detectado en TFDV
  • SPARSE_FEATURE_MISSING_VALUE

    • Campos de esquema:
      • sparse_feature.value_feature
    • Campos de estadísticas:
      • features.custom_stats
    • Condición de detección:
      • features.custom_stats con "missing_value" como nombre y
      • ¡Estadística personalizada missing_value ! = 0
  • SPARSE_FEATURE_MISSING_INDEX

    • Campos de esquema:
      • sparse_feature.index_feature
    • Campos de estadísticas:
      • features.custom_stats
    • Condición de detección:
      • features.custom_stats con "missing_index" como nombre y
      • ¡La estadística personalizada missing_index contiene cualquier valor! = 0
  • SPARSE_FEATURE_LENGTH_MISMATCH

    • Campos de esquema:
      • sparse_feature.value_feature
      • sparse_feature.index_feature
    • Campos de estadísticas:
      • features.custom_stats
    • Condición de detección:
      • features.custom_stats con "min_length_diff" o "max_length_diff" como nombre
      • min_length_diff o max_length_diff la estadística personalizada contiene cualquier valor! = 0
  • SPARSE_FEATURE_NAME_COLLISION

    • Campos de esquema:
      • sparse_feature.name
      • sparse_feature.lifecycle_stage
      • feature.name
      • feature.lifecycle_stage
    • Condición de detección:
      • sparse_feature.lifecycle_stage != PLANNED , ALPHA , DEBUG o DEPRECATED , y
      • feature.lifecycle_stage != PLANNED , ALPHA , DEBUG o DEPRECATED , y
      • sparse_feature.name == feature.name
  • SEMANTIC_DOMAIN_UPDATE

    • Campos de esquema:
      • feature.domain_info
    • Campos de estadísticas:
      • features.custom_stats
    • Condición de detección:
      • features.custom_stats con "domain_info" como nombre y
      • feature.domain_info aún no está configurado en el esquema y
      • hay una sola estadística personalizada domain_info para la característica
  • COMPARATOR_LOW_NUM_EXAMPLES

    • Campos de esquema:
      • schema.dataset_constraints.num_examples_drift_comparator.min_fraction_threshold
      • schema.dataset_constraints.num_examples_version_comparator.min_fraction_threshold
    • Campos de estadísticas:
      • num_examples *
    • Condición de detección:
      • num_examples * > 0 y
      • el prototipo de estadísticas anterior está disponible y
      • num_examples * / estadísticas anteriores num_examples * < comparador min_fraction_threshold
  • COMPARATOR_HIGH_NUM_EXAMPLES

    • Campos de esquema:
      • schema.dataset_constraints.num_examples_drift_comparator.max_fraction_threshold
      • schema.dataset_constraints.num_examples_version_comparator.max_fraction_threshold
    • Campos de estadísticas:
      • num_examples *
    • Condición de detección:
      • num_examples * > 0 y
      • el prototipo de estadísticas anterior está disponible y
      • num_examples * / estadísticas anteriores num_examples * > comparador max_fraction_threshold
  • DATASET_LOW_NUM_EXAMPLES

    • Campos de esquema:
      • schema.dataset_constraints.min_examples_count
    • Campos de estadísticas:
      • num_examples *
    • Condición de detección:
      • num_examples * < dataset_constraints.min_examples_count
  • DATASET_HIGH_NUM_EXAMPLES

    • Campos de esquema:
      • schema.dataset_constraints.max_examples_count
    • Campos de estadísticas:
      • num_examples *
    • Condición de detección:
      • num_examples * > dataset_constraints.max_examples_count
  • WEIGHTED_FEATURE_NAME_COLLISION

    • Campos de esquema:
      • weighted_feature.name
      • weighted_feature.lifecycle_stage
      • sparse_feature.name
      • sparse_feature.lifecycle_stage
      • feature.name
      • feature.lifecycle_stage
    • Condición de detección:
      • weighted_feature.lifecycle_stage != PLANNED , ALPHA , DEBUG o DEPRECATED y
        • si feature.lifecycle_stage != PLANNED , ALPHA , DEBUG o DEPRECATED ,
          • weighted_feature.name == feature.name ; o
        • si sparse_feature.lifecycle_stage != PLANNED , ALPHA , DEBUG o DEPRECATED ,
          • weighted_feature.name == sparse_feature.name
  • WEIGHTED_FEATURE_MISSING_VALUE

    • Campos de esquema:
      • weighted_feature.feature
    • Campos de estadísticas:
      • features.custom_stats
    • Condición de detección:
      • features.custom_stats con "missing_value" como nombre y
      • ¡Estadística personalizada missing_value ! = 0
  • WEIGHTED_FEATURE_MISSING_WEIGHT

    • Campos de esquema:
      • weighted_feature.weight_feature
    • Campos de estadísticas:
      • features.custom_stats
    • Condición de detección:
      • features.custom_stats con "missing_weight" como nombre y
      • ¡Estadística personalizada missing_weight ! = 0
  • WEIGHTED_FEATURE_LENGTH_MISMATCH

    • Campos de esquema:
      • weighted_feature.feature
      • weighted_feature.weight_feature
    • Campos de estadísticas:
      • features.custom_stats
    • Condición de detección:
      • features.custom_stats con "min_weighted_length_diff" o "max_weight_length_diff" como nombre, y
      • min_weight_length_diff o max_weight_length_diff estadística personalizada! = 0
  • VALUE_NESTEDNESS_MISMATCH

    • Campos de esquema:
      • feature.value_count
      • feature.value_counts
    • Campos de estadísticas:
      • features.common_stats.presence_and_valency_stats
    • Condición de detección:
      • se especifica feature.value_count , y hay una presence_and_valency_stats repetidas de la característica (que indica un nivel de anidamiento mayor que uno) y
      • se especifica feature.value_counts , y la cantidad de veces que se repiten las presence_and_valency_stats de la función no coincide con la cantidad de veces que se repite value_count dentro de feature.value_counts
  • DOMAIN_INVALID_FOR_TYPE

    • Campos de esquema:
      • feature.type
      • feature.domain_info
    • Campos de estadísticas:
      • features.type
    • Condición de detección:
      • Si features.type == BYTES ,
        • feature.domain_info es de un tipo incompatible; o
      • si features.type != BYTES ,
        • feature.domain_info no coincide con feature.type (por ejemplo, se especifica int_domain , pero type de función es FLOAT )
  • FEATURE_MISSING_NAME

    • Campos de esquema:
      • feature.name
    • Condición de detección:
      • feature.name no está especificado
  • FEATURE_MISSING_TYPE

    • Campos de esquema:
      • feature.type
    • Condición de detección:
      • feature.type no está especificado
  • INVALID_SCHEMA_SPECIFICATION

    • Campos de esquema:
      • feature.domain_info
      • feature.presence.min_fraction
      • feature.value_count.min
      • feature.value_count.max
      • feature.distribution_constraints
    • Condición de detección:
      • feature.presence.min_fraction < 0.0 o > 1.0, o
      • feature.value_count.min < 0 o > feature.value_count.max , o
      • se especifica un dominio bool, int, float, struct o semántico para una función y también se especifican feature.distribution_constraints para esa función, o
      • feature.distribution_constraints se especifica para una función, pero no se especifica un dominio de nivel de esquema ni feature.string_domain para esa función
  • INVALID_DOMAIN_SPECIFICATION

    • Campos de esquema:
      • feature.domain_info
      • feature.bool_domain
      • feature.string_domain
    • Condición de detección:
      • Se especifica un tipo desconocido feature.domain_info o
      • se especifica feature.domain , pero no hay ningún dominio coincidente especificado en el nivel de esquema, o
      • si se especifican feature.bool_domain , feature.bool_domain.true_value y feature.bool_domain.false_value ,
        • feature.bool_domain.true_value == feature.bool_domain.false_value , o
      • si se especifica feature.string_domain ,
        • ha duplicado feature.string_domain.values ​​o
        • feature.string_domain supera el tamaño máximo
  • UNEXPECTED_DATA_TYPE

    • Campos de esquema:
      • feature.type
    • Campos de estadísticas:
      • features.type
    • Condición de detección:
      • features.type no es del tipo especificado en feature.type
  • SEQUENCE_VALUE_TOO_FEW_OCCURRENCES

    • Campos de esquema:
      • feature.natural_language_domain.token_constraints.min_per_sequence
    • Campos de estadísticas:
      • features.custom_stats.nl_statistics.token_statistics.per_sequence_min_frequency
    • Condición de detección:
      • min_per_sequence > per_sequence_min_frequency
  • SEQUENCE_VALUE_TOO_MANY_OCCURRENCES

    • Campos de esquema:
      • feature.natural_language_domain.token_constraints.max_per_sequence
    • Campos de estadísticas:
      • features.custom_stats.nl_statistics.token_statistics.per_sequence_max_frequency
    • Condición de detección:
      • max_per_sequence < per_sequence_max_frequency
  • SEQUENCE_VALUE_TOO_SMALL_FRACTION

    • Campos de esquema:
      • feature.natural_language_domain.token_constraints.min_fraction_of_sequences
    • Campos de estadísticas:
      • features.custom_stats.nl_statistics.token_statistics.fraction_of_sequences
    • Condición de detección:
      • min_fraction_of_sequences > fraction_of_sequences
  • SEQUENCE_VALUE_TOO_LARGE_FRACTION

    • Campos de esquema:
      • feature.natural_language_domain.token_constraints.max_fraction_of_sequences
    • Campos de estadísticas:
      • features.custom_stats.nl_statistics.token_statistics.fraction_of_sequences
    • Condición de detección:
      • max_fraction_of_sequences < fraction_of_sequences
  • FEATURE_COVERAGE_TOO_LOW

    • Campos de esquema:
      • feature.natural_language_domain.coverage.min_coverage
    • Campos de estadísticas:
      • features.custom_stats.nl_statistics.feature_coverage
    • Condición de detección:
      • feature_coverage < coverage.min_coverage
  • FEATURE_COVERAGE_TOO_SHORT_AVG_TOKEN_LENGTH

    • Campos de esquema:
      • feature.natural_language_domain.coverage.min_avg_token_length
    • Campos de estadísticas:
      • features.custom_stats.nl_statistics.avg_token_length
    • Condición de detección:
      • avg_token_length < min_avg_token_length
  • NLP_WRONG_LOCATION

    • Tipo de anomalía no detectado en TFDV
  • EMBEDDING_SHAPE_INVALID

    • Tipo de anomalía no detectado en TFDV
  • MAX_IMAGE_BYTE_SIZE_EXCEEDED

    • Campos de esquema:
      • feature.image_domain.max_image_byte_size
    • Campos de estadísticas:
      • features.bytes_stats.max_num_bytes_int
    • Condición de detección:
      • max_num_bytes_int > max_image_byte_size
  • INVALID_FEATURE_SHAPE

    • Campos de esquema:
      • feature.shape
    • Campos de estadísticas:
      • features.common_stats.num_missing
      • features.common_stats.min_num_values
      • features.common_stats.max_num_values
      • features.common_stats.presence_and_valency_stats.num_missing
      • features.common_stats.presence_and_valency_stats.min_num_values
      • features.common_stats.presence_and_valency_stats.max_num_values
      • features.common_stats.weighted_presence_and_valency_stats
    • Condición de detección:
      • se especifica feature.shape y
        • la función puede faltar ( num_missing != 0) en algún nivel de nido o
        • la función puede tener un número variable de valores ( min_num_values ​​!= max_num_values ​​) en algún nivel de nido o
        • la forma especificada no es compatible con las estadísticas de recuento de valores de la función. Por ejemplo, la forma [16] es compatible con ( min_num_values ​​== max_num_values ​​== [2, 2, 4] (para una característica de 3 anidados))
  • STATS_NOT_AVAILBLE

    • La anomalía ocurre cuando las estadísticas necesarias para validar las restricciones no están presentes.
  • DERIVED_FEATURE_BAD_LIFECYCLE

    • Campos de esquema:
      • feature.lifecycle_stage
    • Campos de estadísticas:
      • features.validation_derived_source
    • Condición de detección:
      • feature.lifecycle_stage no es DERIVED o DISABLED , y features.validation_derived_source está presente, lo que indica que se trata de una función derivada.
  • DERIVED_FEATURE_INVALID_SOURCE

    • Campos de esquema:
      • feature.validation_derived_source
    • Campos de estadísticas:
      • features.validation_derived_source
    • Condición de detección:
      • features.validation_derived_source está presente para una característica, pero la feature.validation_derived_source correspondiente no lo está.

* Si hay una estadística ponderada disponible para este campo, se utilizará en lugar de la estadística no ponderada.