Realiza la validación cruzada con acciones de aprendizaje automático especificadas. Esta herramienta es fundamental para evaluar la robustez de un modelo predictivo dividiendo el conjunto de datos en varios subconjuntos (pliegues), entrenando el modelo en algunos de estos pliegues y validándolo en el pliegue restante, repitiendo el proceso para cada pliegue.
| Parámetro | Descripción |
|---|---|
| casOut | Especifica el nombre y los detalles de la tabla de salida de puntuación. |
| kFolds | Especifica el número de pliegues a utilizar para la validación cruzada. |
| logLevel | Especifica el nivel de los mensajes de registro que se escribirán: sin registros (0), registros de inicialización y finalización (1), se añaden registros de resumen de configuración (2), se añaden registros de inicio y finalización de pliegue (3). |
| modelType | Especifica el tipo de modelo al que se aplica la validación cruzada. |
| nSubsessionWorkers | Especifica el número de nodos de trabajo para cada subsesión a utilizar para la evaluación paralela de los pliegues. |
| parallelFolds | Cuando se establece en True, evalúa los pliegues en paralelo. |
| seed | Especifica la semilla a utilizar para el muestreo de pliegues para la validación cruzada. |
| targetEvent | Especifica el nombre del evento objetivo nominal a utilizar para la evaluación del modelo. |
| trainOptions | Especifica una lista de parámetros para la acción de entrenamiento del modelo a utilizar en el proceso de validación cruzada. |
Este ejemplo crea la tabla 'HMEQ' en la caslib 'CASUSER' para ser utilizada en los ejemplos de validación cruzada. La tabla contiene información sobre préstamos hipotecarios.
| 1 | DATA casuser.hmeq; SET sampsio.hmeq; RUN; |
Este ejemplo realiza una validación cruzada de 5 pliegues en la tabla 'HMEQ' utilizando un modelo de árbol de decisión. El objetivo es predecir la variable 'BAD'.
| 1 | PROC CAS; |
| 2 | mlTools.crossValidate / |
| 3 | modelType='DECISIONTREE', |
| 4 | kFolds=5, |
| 5 | seed=1234, |
| 6 | trainOptions={ |
| 7 | TABLE={name='hmeq'}, |
| 8 | target='BAD', |
| 9 | inputs={'LOAN', 'MORTDUE', 'VALUE', 'YOJ', 'DEROG', 'DELINQ', 'CLAGE', 'NINQ', 'CLNO', 'DEBTINC'}, |
| 10 | nominals={'BAD', 'REASON', 'JOB', 'DEROG', 'DELINQ'} |
| 11 | }; |
| 12 | RUN; QUIT; |
Este ejemplo realiza una validación cruzada de 10 pliegues utilizando un modelo de Gradient Boosting. Se especifican varias opciones de entrenamiento, como el número de árboles y la profundidad máxima. También se guardan las puntuaciones de todos los pliegues en una tabla de salida 'hmeq_scored'.
| 1 | PROC CAS; |
| 2 | mlTools.crossValidate / |
| 3 | modelType='GRADBOOST', |
| 4 | kFolds=10, |
| 5 | seed=5678, |
| 6 | parallelFolds=true, |
| 7 | casOut={name='hmeq_scored', replace=true}, |
| 8 | trainOptions={ |
| 9 | TABLE={name='hmeq'}, |
| 10 | target='BAD', |
| 11 | inputs={'LOAN', 'MORTDUE', 'VALUE', 'YOJ', 'DEROG', 'DELINQ', 'CLAGE', 'NINQ', 'CLNO', 'DEBTINC'}, |
| 12 | nominals={'BAD', 'REASON', 'JOB'}, |
| 13 | nTrees=50, |
| 14 | maxLevel=4 |
| 15 | }; |
| 16 | RUN; QUIT; |