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 (
) 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 constraints.json
y columns
que describen los datos de entrenamiento, como se muestra en el siguiente ejemplo:constraints
{
"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
y sparse
para describir una columna.skip_learning
Las teclas "
" y " name
" 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:dtype
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
y max
. Por ejemplo, cuando se especifica el tipo de datos mean
o numeric_discrete
, las propiedades se describen como se muestra en el siguiente ejemplo:numeric_continuous
{
"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 "
" especifica el número de filas de una columna. Los valores booleanos se especifican para describir las claves " count
" y " sparse
" de una columna. La clave " skip_learning
" especifica si una columna es dispersa y la clave " sparse
" 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.skip_learning
La clave
especifica el tipo de restricción. Los siguientes valores se especifican para describir el tipo de restricción:name
categorical_distribution_constraint
numeric_range_constraint
numeric_distribution_constraint
catnum_range_constraint
catnum_distribution_constraint
catcat_distribution_constraint
La clave UUID (
) identifica las restricciones con un identificador único universal (UUID). La clave " id
" especifica si la restricción es una restricción " kind
" o " single_column
".two-column
La clave "
" especifica una serie de nombres de columnas. Cuando se especifica una restricción de tipo " columns
" con la clave " single_column
", la matriz contiene un valor que se correlaciona con la columna que se desea describir. Cuando se especifica una restricción de tipo " kind
" con la clave " two-column
", la matriz contiene valores que se correlacionan con columnas que contienen datos relacionados.kind
La clave "
" especifica los atributos que describen las características estadísticas de sus datos. El tipo de restricción que se especifica con la clave content
determina qué atributo se especifica en la clave name
, como se muestra en la siguiente tabla:content
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
- Restricción de rango numérico
- Restricción de distribución numérica
- Categórico: restricción de distribución categórica
- Restricción categórica de rango numérico
- Restricción de distribución categórica-numérica
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 "
" contiene cuatro valores que se especifican con el atributo " CheckingStatus
". El atributo frequency_distribution
especifica los recuentos de frecuencia con valores para categorías, como frequency_distribution
. Si se encuentran registros en los datos de carga útil que especifican valores que son diferentes de los valores del atributo 0_to_200
, los registros se identifican como desviación.frequency_distribution
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 "
" contiene valores mínimos y máximos que se especifican con el atributo " LoanAmount
" 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.ranges
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 "
" contiene valores que se especifican con el atributo " LoanAmount
" 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.distribution
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 "
" y " CheckingStatus
", los atributos " CreditHistory
" 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.rare_combinations
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 "
" especifica los valores mínimo y máximo para las columnas " ranges
" y " CheckingStatus
" 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 LoanAmount
que se ajusten al rango y a un búfer predefinido, los registros se identifican como desviación.CheckingStatus
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 "
" y " LoanAmount
" contienen valores que se especifican con el atributo " CheckingStatus
" 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 distribution
y LoanAmount
que se ajusten a la distribución normal, los registros se identifican como desviación.CheckingStatus
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.
Tema principal: Métricas de evaluación