Al construir un modelo predictivo utilizando técnicas de aprendizaje automático, ¿cuál es el punto de hacer un análisis exploratorio de datos (EDA)? ¿Está bien saltar directamente a la generación de características y construir su (s) modelo (s)? ¿Cómo son importantes las estadísticas descriptivas utilizadas en EDA?
23
[descriptive-statistics]
etiqueta y su pregunta final es si las estadísticas descriptivas son importantes. En este contexto, ¿te refieres a calcular varias estadísticas descriptivas cuando mencionas EDA, o preguntas sobre estadísticas descriptivas y EDA? Pregunto porque muchas personas (incluyéndome a mí) piensan en EDA como algo más que estadísticas descriptivas.Respuestas:
No hace mucho, tuve una tarea de entrevista para un puesto de ciencia de datos. Me dieron un conjunto de datos y me pidieron que construyera un modelo predictivo para predecir una determinada variable binaria dados los demás, con un límite de tiempo de unas pocas horas.
Revisé cada una de las variables por turno, las graficé, calculé estadísticas de resumen, etc. También calculé las correlaciones entre las variables numéricas.
Entre las cosas que encontré estaban:
Mi punto es que estas fueron cosas que se pusieron deliberadamente para ver si las personas las notarían antes de intentar construir un modelo. La compañía los puso porque son el tipo de cosas que pueden suceder en la vida real y afectan drásticamente el rendimiento del modelo.
Entonces sí, ¡EDA es importante cuando se hace aprendizaje automático!
fuente
Obviamente, sí.
El análisis de datos podría llevarlo a muchos puntos que dañarían su modelo predictivo:
Datos incompletos
Suponiendo que estamos hablando de datos cuantitativos, tendrá que decidir si desea ignorar la columna (si faltan demasiados datos) o averiguar cuál será su valor "predeterminado" (media, modo, etc.). No puede hacer esto sin explorar primero sus datos.
Datos anormales
Digamos que tiene datos que están bastante correlacionados, pero hay un 2% de sus datos que está muy lejos de esta correlación. Es posible que desee eliminar estos datos por completo para ayudar a su modelo predictivo
Eliminar columnas con demasiada correlación
Ok, esto contradice un poco mi punto anterior, pero el inglés no es mi idioma principal, así que espero que lo entiendas.
Tomaré un ejemplo tonto, digamos que analiza el conjunto de datos de un estadio de fútbol y tiene
Width, Length, Area
como parámetros. Bueno, podemos imaginar fácilmente que estos tres parámetros estarán fuertemente correlacionados. Tener demasiada correlación entre su columna lleva al modelo predictivo en una dirección incorrecta. Puede decidir eliminar uno o más de los parámetros.Encuentra nuevas funciones
Tomaré el ejemplo de la pequeña "Competencia" de Titanic Kaggle . Al mirar los nombres de las personas, puede darse cuenta de que puede extraer una característica que es la
Title
de la persona. Esta característica resulta ser muy importante cuando se trata de modelar, pero te la habrías perdido si no analizaras tus datos primero.Puede decidir agrupar sus datos continuos porque se siente más apropiado o convertir una característica continua en una categórica.
Encuentra qué tipo de algoritmo usar
No puedo dibujar tramas en este momento, pero hagamos de esto un ejemplo simple.
Imagine que tiene un modelo pequeño con una columna de características y una columna de "resultado" binario (solo 0 o 1). Desea crear un modelo de clasificación predictivo para este conjunto de datos.
Si, una vez más, como ejemplo, tuviera que trazarlo (así, analizar sus datos), podría darse cuenta de que el diagrama forma un círculo perfecto alrededor de su valor 1. En tal escenario, sería bastante obvio que podría usar un clasificador polinómico para tener un gran modelo en lugar de saltar directamente al DNN. (Obviamente, considerando que solo hay dos columnas en mi ejemplo, no es un excelente ejemplo, pero entiendes el punto)
En general, no puede esperar que un modelo predictivo funcione bien si no mira los datos primero.
fuente
Una cosa importante hecha por EDA es encontrar errores de entrada de datos y otros puntos anómalos.
Otra es que la distribución de variables puede influir en los modelos que intenta ajustar.
fuente
Solíamos tener una frase en química:
" Dos semanas en el laboratorio pueden ahorrarle dos horas en Scifinder ".
Estoy seguro de que lo mismo se aplica al aprendizaje automático:
" Pasar dos semanas entrenando un neuralnet puede ahorrarle 2 horas mirando los datos de entrada ".
Estas son las cosas por las que pasaría antes de comenzar cualquier proceso de ML.
Más allá de esos pasos básicos, no pasaría mucho tiempo adicional mirando los datos antes de aplicarles procesos de ML. Si ya tiene una gran cantidad de variables, las combinaciones no lineales complicadas de ellas se vuelven cada vez más difíciles no solo de encontrar, sino también de trazar y comprender. Este es el tipo de cosas que mejor maneja la computadora.
fuente
Perspectiva estadística:
Dejando de lado los errores en la etapa de modelado, hay tres resultados probables de intentar la predicción sin primero hacer EDA:
Perspectiva de gestión del proyecto:
Resolver problemas de datos puede tomar una cantidad considerable de tiempo y esfuerzo. Por ejemplo:
Cuanto antes pueda identificar tales problemas, mayores serán sus posibilidades de mantener su proyecto en el carril, terminar a tiempo y hacer felices a sus clientes.
fuente