Hola
Quiero aplicar métodos no paramétricos como Decision Tree, Random Forest, Naive Bayes, SVM, Neural Network y Boosted Tree en mi conjunto de datos. ¿Qué pasos de preprocesamiento debo realizar antes de aplicar estos modelos?
Hola @maryam_nourmand ,
Si está hablando del uso de Crear columna de validación con métodos de validación cruzada de K-pliegues, puede usar todos sus predictores (variables X) en el panel de columnas de estratificación (para asegurarse de que los pliegues sean homogéneos con respecto a las distribuciones de X variables) y su(s) respuesta(s) en el panel Y: JMP ordenará y distribuirá las filas entre los pliegues en función de los valores de respuesta para garantizar que los pliegues sean homogéneos con respecto a las respuestas, evitando el aprendizaje y la evaluación sesgados durante la validación cruzada. : Inicie la plataforma de columnas de validación (jmp.com)
Si tiene varias filas correspondientes al mismo ID/grupo, mantenga esta estructura de datos utilizando esta(s) columna(s) de ID/grupo en el panel "Columnas de agrupación".
Espero que esto responda a tu pregunta.
Hola
gracias por tu respuesta
si quiero usar (validación cruzada de K-folds) y mi tipo de respuesta es categórica
Cuando quiero seleccionar la columna para y, ¿debo poner todos mis predictores y mi variable de respuesta en ella o solo mi variable de respuesta?
Hola @maryam_nourmand ,
Cuando se habla de preprocesamiento, suele haber varios pasos para preparar los datos para el análisis:
0. Partición de sus datos : divida sus datos en conjuntos de entrenamiento, validación y prueba, o planifique su validación (validación cruzada K-folds, Leave-One-Out, ...) y estrategia de prueba. Esto debe hacerse primero para garantizar que cualquier transformación de datos que pueda realizar después no provoque una fuga de datos, lo que significa que una parte de la información de los conjuntos de validación y prueba de los pasos de preprocesamiento se puede encontrar durante el entrenamiento del modelo (rangos de datos, distribución, técnicas de imputación, ...). Puede utilizar Crear columna de validación (jmp.com) para este paso.
- Limpieza de datos : identifico y corrijo errores o inconsistencias en el conjunto de datos para garantizar que los datos sean de alta calidad y adecuados para el análisis o el entrenamiento del modelo.
- Valores faltantes : posibilidad de excluir filas, realizar imputación de datos o no hacer nada. Tenga cuidado de analizar sus valores faltantes con la plataforma Explore Missing Values (jmp.com) para verificar si son MAR (Missing At Random), MCAR (Missing Completely At Random) o MNAR (Missing Not At Random). Dependiendo del tipo de valores faltantes que tenga/los patrones, algunas opciones pueden ser preferibles que otras.
- Los modelos basados en árboles son mucho más flexibles con los valores faltantes en comparación con otros algoritmos que usted menciona y pueden tratar los valores faltantes como informativos: Informative Missing (jmp.com) .
- Para la plataforma Neural Networks, puede marcar la opción "Falta información" al iniciar la plataforma para habilitar la imputación y codificación de valores faltantes. Si no marca esta opción, la fila será excluida del análisis.
- Naive Bayes no tiene problemas con los datos faltantes cuando solo faltan unos pocos valores.
- SVM excluirá de forma predeterminada las filas en las que falte al menos un valor.
- Valores atípicos : posibilidad de excluirlos, equilibrarlos/pesarlos (con frecuencia o mediante transformaciones), o no hacer nada. Puede detectarlos utilizando una gran variedad de métodos con la plataforma Explore Outliers (jmp.com) .
- Los modelos basados en árboles no son muy sensibles a los valores atípicos, ya que dividen los datos en porciones/rangos de datos, por lo que no cambia la partición realizada (estará en el rango/porción más alto o más bajo, pero no cambiará el valor de corte): https://datascience.stackexchange.com/questions/37394/are-decision-trees-robust-to-outliers
- Las redes neuronales son sensibles a los valores atípicos, por lo que es necesario comprobarlos y gestionarlos.
- Naive Bayes y SVM pueden ser sensibles a valores atípicos.
- Duplicados : posibilidad de excluirlos, reducir su frecuencia o no hacer nada. Puede detectarlos (y otros patrones) utilizando la plataforma Explore Patterns (jmp.com) .
- Los duplicados pueden afectar a todos los algoritmos, ya que influyen en el aprendizaje realizado al favorecer o imponer patrones específicos que se encuentran en puntos duplicados en comparación con otros puntos. También puede provocar un sobreajuste y una evaluación falsa del rendimiento del modelo si no se tienen en cuenta durante la división de los datos en conjuntos de entrenamiento, validación y prueba. La metodología de aprendizaje automático es muy diferente del modelado estadístico, donde se utilizan duplicados para evaluar la varianza y la incertidumbre.
- Escalado/normalización de variables : lleve todos los valores de características/variables a un rango similar sin distorsionar las diferencias en los rangos de valores, para evitar que las características con rangos grandes dominen aquellas con rangos/variaciones más pequeñas.
Esto es útil para algoritmos basados en distancias o similitudes, como SVM, KNN, redes neuronales, regresión (lineal y logística), y ya lo realiza JMP de forma predeterminada (ejemplo con KNN: https://community.jmp.com/t5/ India-JMP-Users-Group-Biblioteca/Modelado-predictivo-con-aprendizaje-automático-en-JMP-K-Nearest/ta-p/720639 )
Es posible que los modelos basados en árboles y los algoritmos basados en probabilidades como Naive Bayes no requieran escalamiento.
- Manejo de datos categóricos : al codificar, necesita codificar datos categóricos usando codificación de etiquetas, codificación one-hot, codificación ficticia... Afortunadamente, en JMP, esto ya está hecho y preparado, no es necesario que lo haga usted mismo (ejemplo con modelos de regresión ) :
Detalles estadísticos para la codificación de efectos nominales (jmp.com)
Factores ordinales (jmp.com)
Preguntas y respuestas similares de Stackexchange:
Aprendizaje automático: ¿Qué algoritmos necesitan escalamiento de funciones, además de SVM? - Validación cruzada (stackexchange.com)
¿Cómo afectan los valores atípicos y faltantes a estos clasificadores? - Intercambio de pila de ciencia de datos
Entonces, como ya escribí en otro tema (y en LinkedIn), si desea realizar una primera prueba rápida con un algoritmo ML, intente usar Random Forest:
- Robusto ante valores atípicos
- Baja sensibilidad al ruido (el embolsado ayuda a reducir la variación)
- Menos propenso al sobreajuste, gracias al arranque y la validación de rendimiento "fuera de bolsa" disponible (muestras no utilizadas en cada muestra de arranque)
- Buen rendimiento de generalización
- Maneja fácilmente situaciones no lineales gracias al conjunto de árboles de decisión que pueden manejar límites no lineales con reglas "si-si no"
- Controla la multicolinealidad entre variables con la selección aleatoria de subconjuntos de características en cada nodo
- Baja capacidad de ajuste: el rendimiento no es muy sensible al ajuste de hiperparámetros (consulte mi última publicación sobre el ajuste de hiperparámetros de Random Forest con DoE)
- Capacidad para manejar datos escasos
- Interpretabilidad más sencilla en comparación con otros algoritmos (con el uso de la importancia de la característica "integrada")
- Cálculo relativamente rápido y eficiente (dependiendo de la cantidad de árboles y la profundidad utilizada): dado que los árboles individuales son independientes entre sí, el proceso de entrenamiento se puede paralelizar.
Entonces, si está buscando un algoritmo preciso, robusto, versátil y escalable con baja tendencia al sobreajuste para el análisis de sus conjuntos de datos, Random Forest puede ser un buen punto de partida y punto de referencia. Comience siempre primero con los algoritmos simples y una buena estrategia de validación para evaluar y comparar sus modelos, antes de pasar a algoritmos complejos como las redes neuronales, que pueden necesitar varias capas de validación (para construirlas y ajustarlas).
Espero que esta larga respuesta te ayude.