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
- se especifica
- Campos de esquema:
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
-
- Campos de esquema:
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 esfeature.bool_domain.true_value
ofeature.bool_domain.false_value
-
- Campos de esquema:
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 ofeatures.num_stats.min
! = 1) o - (
features.num_stats.max
! = 0 ofeatures.num_stats.max
! = 1) o -
features.num_stats.histograms.num_nan
> 0 o - (
features.num_stats.histograms.buckets.low_value
!= 0 ofeatures.num_stats.histograms.buckets.high_value
!= 1) yfeatures.num_stats.histograms.buckets.sample_count
> 0
- (
-
- Campos de esquema:
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
oFLOAT
,- se especifica
feature.bool_domain
y - se especifica
feature.bool_domain.true_value
ofeature.bool_domain.false_value
, o
- se especifica
- si
features.type
==STRING
,- se especifica
feature.bool_domain
y -
feature.bool_domain.true_value
yfeature.bool_domain.false_value
no están especificados
- se especifica
- Si
- Campos de esquema:
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
-
- Campos de estadísticas:
ENUM_TYPE_UNEXPECTED_STRING_VALUES
- Campos de esquema:
-
string_domain
yfeature.domain
; ofeature.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
- O bien (número de valores en
- Campos de esquema:
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
-
- Si se especifica
- Campos de esquema:
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 ycommon_stats.num_missing
!= 0
- se especifica
- Campos de esquema:
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
-
- se especifica
- Campos de esquema:
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
-
- Si se especifica
- Campos de esquema:
FEATURE_TYPE_NOT_PRESENT
- Campos de esquema:
-
feature.in_environment
ofeature.not_in_environment
oschema.default_environment
-
feature.lifecycle_stage
-
feature.presence.min_count
ofeature.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 ofeature.presence.min_fraction
> 0) y-
feature.in_environment
== entorno actual o -
feature.not_in_environment
!= entorno actual o -
schema.default_environment
!= entorno actual
-
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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 nofeatures.string_stats.unique
presente (como es el caso donde la característica no es una cadena o categórica)
-
- Campos de esquema:
FLOAT_TYPE_BIG_FLOAT
- Campos de esquema:
-
feature.float_domain.max
-
- Campos de estadísticas:
-
features.type
-
features.num_stats.max
ofeatures.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
oSTRING
,- valor máximo en
features.string_stats.rank_histogram
(cuando se convierte a float) >feature.float_domain.max
- valor máximo en
- Si
- Campos de esquema:
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
ofeatures.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
oSTRING
,- valor mínimo en
features.string_stats.rank_histogram
(cuando se convierte a float) <feature.float_domain.min
- valor mínimo en
- Si
- Campos de esquema:
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
oSTRING
y -
features.string_stats.rank_histogram
tiene al menos un valor que no se puede convertir en un flotante
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
-
- Campos de esquema:
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
oSTRING
,- valor máximo en
features.string_stats.rank_histogram
(cuando se convierte a int) >feature.int_domain.max
- valor máximo en
- Si
- Campos de esquema:
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
oSTRING
y -
features.string_stats.rank_histogram
tiene al menos un valor que no se puede convertir a un int
-
- Campos de esquema:
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
oSTRING
,- valor mínimo en
features.string_stats.rank_histogram
(cuando se convierte a int) <feature.int_domain.min
- valor mínimo en
- Si
- Campos de esquema:
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 nombreimage_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
.
- La fracción de valores que son tipos de imágenes de Tensorflow compatibles con todos los tipos de imágenes es menor que
- Campos de esquema:
SCHEMA_MISSING_COLUMN
- Campos de esquema:
-
feature.in_environment
ofeature.not_in_environment
oschema.default_environment
-
feature.lifecycle_stage
-
feature.presence.min_count
ofeature.presence.min_fraction
-
- Condición de detección:
-
feature.lifecycle_stage
!=PLANNED
,ALPHA
,DEBUG
oDEPRECATED
y -
feature.presence.min_count
> 0 ofeature.presence.min_fraction
> 0 y -
feature.in_environment
== entorno actual ofeature.not_in_environment
!= entorno actual oschema.default_environment
!= entorno actual y - no se encuentra ninguna función con el nombre o la ruta especificados en el protocolo de estadísticas
-
- Campos de esquema:
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
- Condición de detección:
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
- Campos de esquema:
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
ofeature.drift_comparator.infinity_norm.threshold
- Norma L-infinito del vector que representa la diferencia entre los recuentos normalizados de las
- Campos de esquema:
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.
- Se superó la diferencia de conteo absoluto normalizado de los conteos de valores de las
- Campos de esquema:
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 tipoSTANDARD
-
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
ofeature.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ándarfeatures.num_stats.histograms
como enfeatures.string_stats.rank_histogram
*.
- 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) >
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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
omax_length_diff
la estadística personalizada contiene cualquier valor! = 0
-
- Campos de esquema:
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
oDEPRECATED
, y -
feature.lifecycle_stage
!=PLANNED
,ALPHA
,DEBUG
oDEPRECATED
, y -
sparse_feature.name
==feature.name
-
- Campos de esquema:
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
-
- Campos de esquema:
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 anterioresnum_examples
* < comparadormin_fraction_threshold
-
- Campos de esquema:
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 anterioresnum_examples
* > comparadormax_fraction_threshold
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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
oDEPRECATED
y- si
feature.lifecycle_stage
!=PLANNED
,ALPHA
,DEBUG
oDEPRECATED
,-
weighted_feature.name
==feature.name
; o
-
- si
sparse_feature.lifecycle_stage
!=PLANNED
,ALPHA
,DEBUG
oDEPRECATED
,-
weighted_feature.name
==sparse_feature.name
-
- si
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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
omax_weight_length_diff
estadística personalizada! = 0
-
- Campos de esquema:
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 unapresence_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 laspresence_and_valency_stats
de la función no coincide con la cantidad de veces que se repitevalue_count
dentro defeature.value_counts
- se especifica
- Campos de esquema:
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 confeature.type
(por ejemplo, se especificaint_domain
, perotype
de función esFLOAT
)
-
- Si
- Campos de esquema:
FEATURE_MISSING_NAME
- Campos de esquema:
-
feature.name
-
- Condición de detección:
-
feature.name
no está especificado
-
- Campos de esquema:
FEATURE_MISSING_TYPE
- Campos de esquema:
-
feature.type
-
- Condición de detección:
-
feature.type
no está especificado
-
- Campos de esquema:
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 nifeature.string_domain
para esa función
-
- Campos de esquema:
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
yfeature.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
- ha duplicado
- Se especifica un tipo desconocido
- Campos de esquema:
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 enfeature.type
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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
-
- Campos de esquema:
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))
- la función puede faltar (
- se especifica
- Campos de esquema:
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 esDERIVED
oDISABLED
, yfeatures.validation_derived_source
está presente, lo que indica que se trata de una función derivada.
-
- Campos de esquema:
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 lafeature.validation_derived_source
correspondiente no lo está.
-
- Campos de esquema:
* Si hay una estadística ponderada disponible para este campo, se utilizará en lugar de la estadística no ponderada.