?>
La acción `assess` del conjunto de acciones `percentile` se utiliza para evaluar y comparar el rendimiento de modelos predictivos. Es especialmente útil para modelos de clasificación, generando métricas como la curva ROC, la tabla de elevación (lift chart) y estadísticas de ajuste para determinar la precisión y eficacia del modelo.
| Parámetro | Descripción |
|---|---|
| attributes | Especifica atributos temporales, como un formato, para aplicar a las variables de entrada. |
| binNum | Número de bins (contenedores) a utilizar en el cálculo de tres pasadas. |
| casOut | Especifica la tabla de salida para los resultados de la evaluación de la curva de elevación (lift). |
| cutStep | Especifica el tamaño del paso a utilizar para los cálculos de la curva ROC. |
| epsilon | Especifica la tolerancia utilizada para determinar la convergencia del algoritmo iterativo para el cálculo de percentiles. |
| event | Especifica el valor formateado de la variable de respuesta que representa el evento de interés (por ejemplo, '1' para un evento positivo). |
| fitStatOut | Especifica la tabla de salida para las estadísticas de ajuste del modelo. |
| freq | Especifica la variable numérica que contiene la frecuencia de cada observación. |
| groupByLimit | Especifica el número máximo de niveles en un conjunto de agrupación (group-by). |
| includeCutoffOne | Cuando se establece en True, incluye una fila para el punto de corte (cutoff) de 1 en las estadísticas ROC, lo que simplifica el trazado de la curva. |
| includeFitStat | Cuando se establece en False, las estadísticas de ajuste no se generan para acelerar el cálculo. |
| includeLift | Cuando se establece en False, los cálculos de la tabla de elevación (lift) no se generan. |
| includeRoc | Cuando se establece en False, los cálculos de la curva ROC no se generan. |
| includeZeroDepth | Cuando se establece en True, incluye una fila para la profundidad (depth) de 0 en las estadísticas de elevación, lo que simplifica el trazado de la curva de elevación. |
| inputs | Especifica las variables de predicción del modelo a evaluar. |
| maxIters | Especifica el número máximo de iteraciones para el algoritmo de cálculo de percentiles. |
| method | Especifica el algoritmo para el análisis de percentiles. 'ITERATIVE' es más rápido pero aproximado, 'EXACT' es preciso pero más lento. |
| nBins | Especifica el número de contenedores (bins) a utilizar para los cálculos de la tabla de elevación (lift). |
| noMissingTarget | Si se establece en True, excluye las observaciones donde la variable objetivo tiene un valor perdido. |
| partition | Cuando se establece en True y la tabla está particionada, los resultados se calculan para cada partición de manera eficiente. |
| partKey | Especifica una clave de partición para calcular los resultados solo para esa partición específica. |
| pEvent | Especifica los eventos que corresponden a cada variable de probabilidad en `pVar`. |
| pResponse | Especifica la variable de respuesta predicha para la evaluación del modelo. |
| pVar | Especifica las variables que contienen las probabilidades del evento. |
| response | Especifica la variable de respuesta real (objetivo) para la evaluación del modelo. |
| responseFmt | Especifica un formato temporal para la variable de respuesta. |
| rocOut | Especifica la tabla de salida para los cálculos de la curva ROC. |
| table | Especifica la tabla de entrada que contiene los datos a evaluar. |
| useRawPResponse | Cuando se establece en True, se utilizan los valores brutos de la variable de respuesta predicha para filtrar las observaciones. |
| userCutoff | Especifica un punto de corte definido por el usuario para la matriz de confusión. |
| weight | Especifica la variable numérica que contiene el peso de cada observación. |
Este código crea una tabla en memoria llamada `hmeq_scored` que contiene los resultados de la puntuación de un modelo. Incluye una variable objetivo `BAD`, una probabilidad predicha `P_BAD1` y una variable de partición `_PARTIND_` para simular conjuntos de entrenamiento y validación.
1 DATA casuser.hmeq_scored; SET sampsio.hmeq; _PARTIND_ = (mod(_n_, 2)); P_BAD1 = 1 / (1 + exp(-(0.5 - 0.1 * DELINQ + 0.05 * DEROG - 0.02 * VALUE))); RUN;
Este ejemplo realiza una evaluación básica de un modelo de clasificación. Utiliza la variable `BAD` como objetivo y `P_BAD1` como la probabilidad predicha para el evento '1'. Los resultados se agrupan por la variable de partición `_PARTIND_`.
| 1 | PROC CAS; percentile.assess TABLE={name='hmeq_scored', groupBy={'_PARTIND_'}}, response='BAD', event='1', pVar={'P_BAD1'}, pEvent={'1'}; RUN; |
Este ejemplo realiza una evaluación más detallada, generando tablas de salida explícitas para los datos de la curva ROC (`roc_results`) y la curva de elevación (`lift_results`). Se especifica un número de contenedores (`nBins`) de 100 para la curva de elevación y se incluyen filas para profundidad cero y punto de corte uno para facilitar el trazado de las curvas.
| 1 | PROC CAS; percentile.assess TABLE={name='hmeq_scored', groupBy={'_PARTIND_'}}, response='BAD', event='1', pVar={'P_BAD1'}, pEvent={'1'}, nBins=100, includeZeroDepth=true, includeCutoffOne=true, rocOut={name='roc_results', replace=true}, casOut={name='lift_results', replace=true}; RUN; |