Antes de poder comenzar a aplicar técnicas de machine learning o de inteligencia artificial, hay que evaluar los datos con los que trabajaremos y prepararlos de tal forma que sirvan para ser consumidos por el modelo que nos ayudará a lograr nuestros objetivos. Este proceso de ajustar o transformar, es el que se conoce como depuración de datos.
Depurar: Transformar los datos para que el modelo los pueda consumir
La principal dificultad de este proceso es escoger el método a utilizar, ya que los datos no se depuran siempre de la misma manera. Es clave armar estrategias y contar un plan a seguir en base al problema que buscamos resolver.
Antes de pasar a ver los distintos métodos debes tener claro
¿Cuál es el objetivo de mi análisis?
¿De qué tipo o clase de datos dispongo?
¿Es posible conseguir más datos en el futuro?
1.Sin un objetivo claro y un problema bien definido, todo lo demás pierde sentido.
Es vital establecer el punto de partida y un punto final preciso al que se quiere llegar. Esto ocurre porque la elección de técnicas de algoritmos y modelos dependen directamente de los datos disponibles y del problema que se busca resolver.
Las metas ayudan a enfocar el proceso de desarrollo con sentido y dirección, y no crear modelos porque sí.
También nos interesa determinar qué tipo de análisis queremos hacer
Es distinto depurar los datos para un clustering que para una regresión lineal típica. Generalmente, el primero nos permite variables categóricas y el segundo solo variables Reales. Esto definitivamente, guiará la forma en que transformaré o eliminaré del análisis ese tipo de variables.
2. No todos los datos son iguales.
No es lo mismo pre-procesar imágenes, audios o encuestas. Para las primeras podríamos querer aplicar filtros para aumentar el contraste, para la segunda algún filtro para eliminar ruido y para la tercera podríamos querer transformar las respuestas a algún formato útil para nuestras variables categóricas.
Finalmente, dependiendo del objetivo y algoritmos que queramos probar, tendremos que aplicar algunos otros tipos de transformaciones.
3. Cómo trabajar con la inexistencia de datos
Si no es posible conseguir más datos o rellenar datos que no existen hay que saber qué técnicas se pueden aplicar. Esta “falta de información” son conocidos como los famosos NA (data Not Available) o NaN (data that is Not a Number). Al momento de tener falta de información en mi base de datos, ¿yo las puedo omitir? Esto dependerá de la cantidad de datos, en la medida que cuento con más datos, generalmente eliminar unos NA no generará mucho perjuicio a los resultados.
Pero en el caso de que no disponga de mucha información, probablemente tendré que tomar una decisión. Aquí existen varias técnicas, como asignarle un valor aleatorio fijo (ej: 50% que sea entre una opción u otra) o bien asignar el valor aleatorio en base a la proporción de comportamiento de la información que sí existe (ej: en los datos se ven que el 40% son una opción y el 60% es la otra). Incluso existen algoritmos que sí aceptan un NaN, donde ni siquiera es necesario transformarlos, como en algunas regresiones. En otros casos, como las series de tiempo, si se pierde el orden implica a una pérdida estructural de los datos.
Pongamos lo aprendido en práctica con un ejemplo:
Veremos datos de una encuesta
Comencemos contestando las preguntas:
¿Cuál es el objetivo de mi análisis?
El objetivo que persigo es caracterizar diversos tipos de usuarios para ofrecerles campañas de marketing personalizas.
¿De qué tipo o clase de datos dispongo?
Disponemos de datos relativos a respuestas de usuarios a preguntas cerradas que se encuentran almacenadas en bases de datos estructuradas.
¿Es posible conseguir más datos en el futuro?
En este caso, volver a hacer una encuesta podría ser costoso.
Entonces, ahora podría tomar la decisión de depurar los datos, pensando en que tendré que utilizarlos en algún tipo de modelo de clustering, lo que me llevará (probablemente) a tener que transformar los datos categóricos en variables numéricas que puedan ser interpretadas por mi modelo, dado que son preguntas cerradas esto podrá ser realizado con facilidad.
Finalmente, dado que es costoso obtener nuevos datos, tendré que tratar las preguntas que no fueron respondidas (los “NaN”) con cuidado, ya que no puedo permitirme perder aquellos datos de usuarios, pese a que no estén completos.
留言