El componente Lorenz Curve grafica la distribución acumulada de un conjunto de datos para revelar desigualdades. Originalmente se utilizaba en economía para visualizar la distribución del ingreso y la riqueza, pero también es aplicable en aprendizaje automático para evaluar la equidad de las predicciones y detectar sesgos en la asignación de recursos. La curva representa la proporción acumulada de un valor medido (eje Y) frente a la proporción acumulada de la población (eje X), ordenada de menor a mayor.
Configurar el componente
Método 1: configurar en Machine Learning Designer
En la página de detalles del pipeline en Machine Learning Designer, agregue el componente Lorenz Curve y configure los siguientes parámetros.
Fields Setting tab
|
Parámetro |
Descripción |
|
Select Fields |
Columna de función por analizar. Seleccione una columna numérica que contenga valores como ingresos, riqueza o puntuación de predicción. |
Parameters Setting tab
|
Parámetro |
Descripción |
|
Quantile |
Número de intervalos de igual probabilidad para graficar la curva. Un valor más alto genera una curva con mayor granularidad. |
Tuning tab
|
Parámetro |
Descripción |
|
Computing Cores |
Número de núcleos para el cálculo. Debe ser un entero positivo. |
|
Memory Size per Core (Unit: MB) |
Memoria asignada a cada núcleo, en MB. |
Método 2: usar comandos de PAI
Pase los parámetros directamente mediante comandos de Platform for AI (PAI). Utilice el componente SQL Script para ejecutar el comando. Para obtener más información, consulte Scenario 4: Execute PAI commands within the SQL script component.
PAI -name LorenzCurve
-project algo_public
-DinputTableName=maple_test_lorenz_basic10_input
-DcolName=col0
-DoutputTableName=maple_test_lorenz_basic10_output
-DcoreNum=20
-DmemSizePerCore=110;
|
Parámetro |
Obligatorio |
Predeterminado |
Descripción |
|
|
Sí |
— |
Nombre de la tabla de entrada. |
|
|
Sí |
— |
Nombre de la tabla de salida. |
|
|
No |
— |
Columnas por analizar. Separe varios nombres de columna con comas ( |
|
|
No |
100 |
Número de intervalos de cuantiles. Un valor más alto genera una curva con mayor granularidad. |
|
|
No |
— |
Particiones por leer de la tabla de entrada. Formatos compatibles: |
|
|
No |
28 |
Periodo de retención de la tabla de salida, en días. Debe ser un número entero. |
|
|
No |
Determinado por el sistema |
Número de núcleos de cómputo. Se utiliza junto con |
|
|
No |
Determinado por el sistema |
Tamaño de memoria por núcleo, en MB. Debe ser un entero positivo. Valores recomendados: (1024, 64 × 1024). |
Ejemplo
Este ejemplo utiliza un conjunto de datos de 11 filas con valores del 0 al 10 para mostrar cómo el componente genera una tabla de distribución de cuantiles.
Paso 1: Preparar los datos de entrada
|
col0:double |
|
4 |
|
7 |
|
2 |
|
8 |
|
6 |
|
3 |
|
9 |
|
5 |
|
0 |
|
1 |
|
10 |
Paso 2: Ejecutar el comando de PAI
PAI -name LorenzCurve
-project algo_public
-DinputTableName=maple_test_lorenz_basic10_input
-DcolName=col0
-DoutputTableName=maple_test_lorenz_basic10_output
-DcoreNum=20
-DmemSizePerCore=110;
Paso 3: Revisar la salida
La tabla de salida contiene dos columnas: quantile (percentil de la población, 0–100) y col0 (proporción acumulada del valor total correspondiente a ese grupo de percentiles). A continuación se muestra una parte de la salida:
|
quantile |
col0 |
|
0 |
0 |
|
1 |
0.01818181818181818 |
|
10 |
0.01818181818181818 |
|
11 |
0.05454545454545454 |
|
... |
... |
|
85 |
0.8181818181818182 |
|
90 |
1 |
|
100 |
1 |
Interpretación de la salida: El valor de col0 en un cuantil dado representa la proporción acumulada del total correspondiente al X% inferior de la población. Por ejemplo, en el cuantil 85, el 85% inferior de los valores representa aproximadamente el 81.8% del total. En el cuantil 90, la proporción acumulada alcanza 1 (100%), lo que significa que todos los valores se concentran dentro del 90% inferior.