Introducción al Machine Learning con MATLAB. Erik Cuevas Jiménez
Чтение книги онлайн.
Читать онлайн книгу Introducción al Machine Learning con MATLAB - Erik Cuevas Jiménez страница 8
Recopilación de datos: este paso implica reunir el material de aprendizaje que implementará un algoritmo para generar un conocimiento procesable. En la mayoría de los casos, los datos deberán combinarse en una sola fuente, como un archivo de texto, hoja de cálculo o base de datos.
Exploración y preparación de datos: la calidad de cualquier proyecto de aprendizaje automático se basa, en gran medida, en la calidad de sus datos de entrada. Para mejorar la calidad de los datos, estos requieren de una preparación especial para el proceso de aprendizaje. Esta preparación implica arreglar o limpiar los llamados datos «desordenados», eliminando datos innecesarios, y recodificando los datos para ajustarse a las entradas esperadas de la técnica de aprendizaje máquina.
Entrenamiento: ya que los datos han sido preparados, estos alimentan a la técnica o algoritmo específico, el cual construirá un modelo con base en los datos de entrenamiento.
Evaluación del modelo: debido a que cada modelo da como resultado un sesgo en la construcción del modelo que otorga la solución al problema, resulta importante evaluar cómo de eficiente es el aprendizaje del algoritmo durante su etapa de entrenamiento. Dependiendo del tipo de modelo utilizado, es posible valorar la precisión del modelo mediante una evaluación con los datos de prueba. En algunos casos, se requiere del desarrollo de medidas de rendimiento específicas para la aplicación prevista.
Mejora del modelo: si se necesita un mejor rendimiento, resulta fundamental utilizar estrategias más avanzadas para aumentar el rendimiento del modelo. Algunas veces, puede ser necesario cambiar a un tipo diferente de algoritmo de aprendizaje, con la finalidad de que el nuevo algoritmo pueda realizar la misma tarea de una manera más precisa. A su vez, puede que se requiera complementar los datos de entrenamiento con datos adicionales más representativos del problema abordado, o realizar un trabajo preparatorio adicional, como se indica en el paso 2 de este proceso (véase figura 1.1).
Figura 1.1. Etapas de implementación de un algoritmo de aprendizaje máquina.
1.8. Exploración y preparación de datos
La importancia de tener datos limpios y confiables resulta vital en cualquier proyecto de aprendizaje máquina. La falta de limpieza y confiabilidad en los datos que serán suministrados a nuestro algoritmo de aprendizaje máquina podría tener fuertes repercusiones, desde el mal empleo de recursos materiales hasta pérdidas humanas. Es bien sabido que cualquier proyecto de aprendizaje máquina emplea casi el 80 % de su tiempo en el proceso de preparación de datos, y solo el 20 % en el modelado de los datos y los resultados derivados de la técnica implementada de aprendizaje máquina. La limpieza o preparación de datos involucra procesos de detección, así como el abordaje de errores, omisiones e inconsistencias dentro de un conjunto de datos. La preparación de datos consta de procesos independientes, que son la «depuración de datos» y el «llenado de datos faltantes».
Importación de datos en MATLAB
Antes de llevar a cabo los procesos de depuración y llenado de datos faltantes, se deben obtener los datos que procesar; para ello, se importan los datos de diferentes formatos (csv o xlsx, etc.) al entorno de MATLAB. Esta es una tarea bastante sencilla, gracias a que MATLAB ya cuenta con un importador de datos integrado. Para este ejemplo se importarán datos que se encuentran en un formato común, que es el csv. Los pasos se describen a continuación.
El primer paso para importar los datos consiste en tener el entorno de MATLAB listo para usarse. Nos ubicamos en la «ventana de archivos» y hacemos doble clic sobre el archivo en cuestión que, para este caso, es «conjunto de datos Iris.csv», como se muestra en la figura 1.2. Enseguida se abrirá el «asistente de importación de datos», el cual nos presentará la información de forma matricial, donde las columnas son los campos de características, y las filas las observaciones.
Figura 1.2. Ventanas del entorno de MATLAB.
El objetivo es exportar los datos de las primeras siete observaciones, con sus cuatro primeros campos de características. Comenzamos al especificar un rango de observaciones deseadas (B2:E8). Después, definimos el nombre de la variable que contendrá la información seleccionada; para este ejemplo se llamará «datos». Luego, se elegirá el tipo de formato en el que se desea que se importe la información seleccionada. Los formatos posibles son: vectores columna, matriz numérica, arreglo de celdas o tabla. Para nuestro ejemplo se seleccionará la opción «Matriz numérica», y, finalmente, se presionará sobre la opción «importar». La secuencia de pasos para la importación de datos se muestra en la figura 1.3.
Figura 1.3. Pasos para importar datos al entorno de MATLAB.
Depuración de datos
La depuración de datos persigue los siguientes objetivos:
• Identificar datos atípicos, inexactos, incompletos, irrelevantes o corruptos, para eliminarlos de un procesamiento posterior
• Analizar datos, extraer información de interés o validar si los datos se encuentran en un formato aceptable
• Transformar los datos en un formato de escala de tiempo o rango normalizado
Llenado de valores perdidos
Los algoritmos del aprendizaje máquina, generalmente, no funcionan bien si se tienen valores faltantes. Es muy importante entender por qué falta un valor. Puede hacerlo debido a varias razones, tales como un error aleatorio, un fallo sistemático o ruido del sensor. Una vez identificada la razón, existen múltiples formas de lidiar con los valores que faltan, como se muestra en la siguiente lista:
Eliminar la observación: si se cuenta con suficientes datos y solo un par de las observaciones no relevantes tienen algunos valores faltantes, entonces es seguro eliminar estas observaciones.
Eliminar el atributo: eliminar un atributo tiene sentido cuando la mayoría de los valores faltan, los valores son constantes o el atributo se halla fuertemente correlacionado con otro atributo.
Asignar un valor especial N/D: algunas veces falta un valor, debido a diversas razones: que está fuera del alcance, que el valor de atributo discreto no se encuentra definido o que no resulta posible obtener o medir el valor en cuestión; por ejemplo, una persona nunca califica una película, por lo que su calificación en dicho filme es inexistente.
Tomar el valor de atributo promedio: en caso de que se cuente con un número limitado de observaciones, no resulta viable permitirse eliminar observaciones o atributos. En este caso, se pueden estimar los valores