Volver a la versión inglesa de la documentación

Punto de entrada en la métrica de evaluación de la coherencia de los datos

Última actualización: 14 feb 2025
Punto de entrada en la métrica de evaluación de la coherencia de los datos

La caída en la métrica de consistencia de datos compara las transacciones en tiempo de ejecución con los patrones de transacciones en los datos de entrenamiento para identificar inconsistencias.

Detalles de métrica

La caída en la consistencia de los datos es una métrica de evaluación de la deriva que puede ayudar a determinar qué tan bien predice su modelo los resultados a lo largo del tiempo.

Ámbito

La caída en la métrica de consistencia de datos evalúa solo los modelos de aprendizaje automático.

  • Tipos de activos de IA : modelos de aprendizaje automático
  • Tipo de problema de aprendizaje automático :
    • Clasificación binaria
    • Clasificación de varias clases

Puntuaciones y valores

La caída en la puntuación de la métrica de consistencia de datos indica si las transacciones son inconsistentes al violar los patrones de datos de entrenamiento.

Rango de valores : 0.0-1.0

Proceso de evaluación

Se analiza cada transacción en busca de incoherencias de datos comparando las transacciones en tiempo de ejecución con los patrones de las transacciones en los datos de entrenamiento. Si una transacción infringe uno o más de los patrones de datos de entrenamiento, la transacción se identifica como inconsistente. Para calcular la caída en la consistencia de los datos, el número total de transacciones se divide por el número de transacciones que se identifican como inconsistentes. Por ejemplo, si se identifican 10 transacciones como incoherentes de un conjunto de 100 transacciones, entonces la caída en la coherencia de los datos es del 10 %.

Para identificar la inconsistencia de los datos, se genera un esquema cuando configura la detección de desviaciones creando un archivo de reglas de entrada ( constraints.json ) para especificar las reglas que deben seguir sus datos de entrada. El esquema se utiliza para evaluar la desviación de sus datos mediante la identificación de valores atípicos que no se ajustan a las restricciones especificadas. El esquema se especifica como un objeto JSON con matrices columns y constraints que describen los datos de entrenamiento, como se muestra en el siguiente ejemplo:

{
      "columns": [
        {
            "name": "CheckingStatus",
            "dtype": "categorical",
            "count": 5000,
            "sparse": false,
            "skip_learning": false
        },
      "constraints": [
        {
            "name": "categorical_distribution_constraint",
            "id": "f0476d40-d7df-4095-9be5-82564511432c",
            "kind": "single_column",
            "columns": [
                "CheckingStatus"
            ],
            "content": {
                "frequency_distribution": {
                    "0_to_200": 1304,
                    "greater_200": 305,
                    "less_0": 1398,
                    "no_checking": 1993
                }
            }
        }

Se especifican valores para las claves name, dtype, count, sparse y skip_learning para describir una columna.

Las teclas " name " y " dtype " describen la etiqueta y el tipo de datos de una columna. Los siguientes valores que se especifican con la clave " dtype " describen el tipo de datos:

  • categorical
  • numeric_discrete
  • numeric_continuous

El tipo de datos que se especifique determina si se describen más propiedades estadísticas con claves, como min, max y mean. Por ejemplo, cuando se especifica el tipo de datos numeric_discrete o numeric_continuous, las propiedades se describen como se muestra en el siguiente ejemplo:

{
            "name": "LoanDuration",
            "dtype": "numeric_discrete",
            "count": 5000,
            "sparse": false,
            "skip_learning": false,
            "min": 4,
            "max": 53,
            "mean": 21.28820697954272,
            "std": 10.999096037050032,
            "percentiles": [
                13.0,
                21.0,
                29.0
            ],
            "count_actual": 4986
        }

La clave " count " especifica el número de filas de una columna. Los valores booleanos se especifican para describir las claves " sparse " y " skip_learning " de una columna. La clave " sparse " especifica si una columna es dispersa y la clave " skip_learning " especifica si una columna omite el aprendizaje de cualquiera de las reglas que se describen en el esquema. Una columna es dispersa si los percentiles 25th y 75th tienen el mismo valor.

La clave name especifica el tipo de restricción. Los siguientes valores se especifican para describir el tipo de restricción:

  • categorical_distribution_constraint
  • numeric_range_constraint
  • numeric_distribution_constraint
  • catnum_range_constraint
  • catnum_distribution_constraint
  • catcat_distribution_constraint

La clave UUID ( id ) identifica las restricciones con un identificador único universal (UUID). La clave " kind " especifica si la restricción es una restricción " single_column " o " two-column ".

La clave " columns " especifica una serie de nombres de columnas. Cuando se especifica una restricción de tipo " single_column " con la clave " kind ", la matriz contiene un valor que se correlaciona con la columna que se desea describir. Cuando se especifica una restricción de tipo " two-column " con la clave " kind ", la matriz contiene valores que se correlacionan con columnas que contienen datos relacionados.

La clave " content " especifica los atributos que describen las características estadísticas de sus datos. El tipo de restricción que se especifica con la clave name determina qué atributo se especifica en la clave content, como se muestra en la siguiente tabla:

Atributo Restricciones
distribución_de_frecuencia restricción_de_distribución_categórica
rangos restricción_de_rango_numérico, restricción_de_rango_catnum
distribución restricción_distribución_numérica, restricción_distribución_catnum
rare_combinations catcat_distribution_constraint
source_column catcat_distribution_constraint, catnum_range_constraint, catnum_distribution_constraint
target_column catcat_distribution_constraint, catnum_range_constraint, catnum_distribution_constraint

Las siguientes secciones proporcionan ejemplos de cómo se especifica cada tipo de restricción:

Restricción de distribución categórica

        {
            "name": "categorical_distribution_constraint",
            "id": "f0476d40-d7df-4095-9be5-82564511432c",
            "kind": "single_column",
            "columns": [
                "CheckingStatus"
            ],
            "content": {
                "frequency_distribution": {
                    "0_to_200": 1304,
                    "greater_200": 305,
                    "less_0": 1398,
                    "no_checking": 1993
                }
            }
        }

En los datos de entrenamiento, la columna " CheckingStatus " contiene cuatro valores que se especifican con el atributo " frequency_distribution ". El atributo frequency_distribution especifica los recuentos de frecuencia con valores para categorías, como 0_to_200. Si se encuentran registros en los datos de carga útil que especifican valores que son diferentes de los valores del atributo frequency_distribution, los registros se identifican como desviación.

Restricción de rango numérico

   {
            "name": "numeric_range_constraint",
            "id": "79f3a1f5-30a1-4c7f-91a0-1613013ee802",
            "kind": "single_column",
            "columns": [
                "LoanAmount"
            ],
            "content": {
                "ranges": [
                    {
                        "min": 250,
                        "max": 11676,
                        "count": 5000
                    }
                ]
            }
        }

La columna " LoanAmount " contiene valores mínimos y máximos que se especifican con el atributo " ranges " para establecer un rango para los datos de entrenamiento. El atributo " ranges " especifica las regiones de alta densidad de la columna. No se incluyen los rangos que rara vez aparecen en los datos de entrenamiento. Si se encuentran registros en los datos de carga útil que no se ajustan al rango y a un búfer predefinido, los registros se identifican como desviación.

Restricción de distribución numérica

{
            "name": "numeric_distribution_constraint",
            "id": "3a97494b-0cd7-483e-a1c6-adb7755c1cb0",
            "kind": "single_column",
            "columns": [
                "LoanAmount"
            ],
            "content": {
                "distribution": {
                        "name": "norm",
                        "parameters": {
                            "loc": 3799.62,
                            "scale": 1920.0640064678398
                        },
                        "p-value": 0.22617155797563282
                }
            }
        }

La columna " LoanAmount " contiene valores que se especifican con el atributo " distribution " para establecer una distribución normal para los datos de entrenamiento. Si se encuentran registros en los datos de carga útil que no se ajustan a la distribución normal, los registros se identifican como desviación. Las distribuciones que se ajustan a ellas son las distribuciones uniformes, exponenciales o normales. Si no se encuentran registros que se ajusten a estas distribuciones, esta restricción no se aprende.

Categórico: restricción de distribución categórica

    {
            "name": "catcat_distribution_constraint",
            "id": "99468600-1924-44d9-852c-1727c9c414ee",
            "kind": "two_column",
            "columns": [
                "CheckingStatus",
                "CreditHistory"
            ],
            "content": {
                "source_column": "CheckingStatus",
                "target_column": "CreditHistory",
                "rare_combinations": [
                    {
                        "source_value": "no_checking",
                        "target_values": [
                            "no_credits"
                        ]
                    }
                ]
            }
        }

Para las columnas " CheckingStatus " y " CreditHistory ", los atributos " rare_combinations " especifican una combinación de valores que rara vez se producen en los datos de entrenamiento. Si se encuentran registros en los datos de carga útil que contienen la combinación, los registros se identifican como desviación.

Restricción categórica de rango numérico

        {
            "name": "catnum_range_constraint",
            "id": "f252033c-1635-4974-8976-3f7904d0c37d",
            "kind": "two_column",
            "columns": [
                "CheckingStatus",
                "LoanAmount"
            ],
            "content": {
                "source_column": "CheckingStatus",
                "target_column": "LoanAmount",
                "ranges": {
                    "no_checking": [
                        {
                            "min": 250,
                            "max": 11676,
                            "count": 1993
                        }
                    ],
                    "less_0": [
                        {
                            "min": 250,
                            "max": 7200,
                            "count": 1398
                        }
                    ],
                    "0_to_200": [
                        {
                            "min": 250,
                            "max": 9076,
                            "count": 1304
                        }
                    ],
                    "greater_200": [
                        {
                            "min": 250,
                            "max": 9772,
                            "count": 305
                        }
                    ]
                }
            }
        }

El atributo " ranges " especifica los valores mínimo y máximo para las columnas " CheckingStatus " y " LoanAmount " que establecen un rango para los datos de entrenamiento. Si se encuentran registros en los datos de carga útil que no contienen valores de columna LoanAmount y CheckingStatus que se ajusten al rango y a un búfer predefinido, los registros se identifican como desviación.

Restricción de distribución categórica-numérica

        {
            "name": "catnum_distribution_constraint",
            "id": "3a97494b-0cd7-483e-a1c6-adb7755c1cb0",
            "kind": "two_column",
            "columns": [
                "CheckingStatus",
                "LoanAmount"
            ],
            "content": {
                "source_column": "CheckingStatus",
                "target_column": "LoanAmount",
                "distribution": {
                    "greater_200": {
                        "name": "norm",
                        "parameters": {
                            "loc": 3799.62,
                            "scale": 1920.0640064678398
                        },
                        "p-value": 0.22617155797563282
                    }
                }
            }
        }

Las columnas " LoanAmount " y " CheckingStatus " contienen valores que se especifican con el atributo " distribution " para establecer una distribución normal para los datos de entrenamiento. Si se encuentran registros en los datos de carga útil que no contienen valores de columna LoanAmount y CheckingStatus que se ajusten a la distribución normal, los registros se identifican como desviación.

Próximos pasos

Para mitigar la desviación después de que se detecte, debe crear una nueva versión del modelo que solucione el problema. Un buen lugar por donde empezar es con los puntos de datos resaltados como motivos de la desviación. Introduzca los nuevos datos en el modelo predictivo después de etiquetar manualmente las transacciones desviadas y utilícelos para volver a entrenar el modelo.

Nota:Las acciones que usted toma para mejorar o validar el rendimiento no están prescritas y dependen de su caso de uso del modelo y de los objetivos que desee alcanzar. La eficacia de cada enfoque puede variar en función de su implementación y sus requisitos.

Tema principal: Métricas de evaluación