Introducción al Machine Learning con MATLAB. Erik Cuevas Jiménez
descubrimiento de la relación entre la compra de cerveza y pañales.
1.5. Tipos de datos
Para cumplir con los propósitos del análisis de datos y del modelado predictivo, resulta importante conocer el tipo de dato que se va a seleccionar, con el fin de ayudar a determinar el tipo de visualización, análisis de datos o modelo estadístico.
Continuo: lo constituyen los datos que pueden tomar cualquier valor dentro de un intervalo. Entre algunos ejemplos se encuentran la velocidad del viento, la distancia recorrida por un coche o la estatura de una persona.
Discreto: este tipo de datos puede tomar solo valores enteros; por ejemplo, el conteo de recurrencia de un evento o el número de clics de un sitio web.
Categórico: son datos que pueden tomar solo un conjunto específico de valores, los cuales representan un conjunto de categorías posibles, tales como el tipo de sangre o los estados de un país, entre otros.
Binario: los datos binarios suponen un caso especial dentro de los datos categóricos. Estos cuentan con solo dos categorías de valores: verdadero o falso; entre algunos ejemplos, enfermo/saludable, día/noche o activo/inactivo.
Ordinal: son datos categóricos que tienen un orden explícito; por ejemplo, la talla de ropa o la calificación numérica de un producto (1.°, 2.°, 3.°, 4.° o 5.°).
1.6. Tipos de aprendizajes
En el aprendizaje máquina se conocen tres tipos de aprendizaje: aprendizaje supervisado, aprendizaje no supervisado y aprendizaje por refuerzo. A continuación, se define cada uno de estos tipos de aprendizaje.
Aprendizaje supervisado: se corresponde con el proceso donde se generalizan las relaciones entre las observaciones de sus características de entrada y salida (etiqueta), donde este modelo de «relación» especula una salida (etiqueta) para producir nuevas observaciones. Este tipo de aprendizaje se utiliza cuando se requiere la predicción [4].
Aprendizaje no supervisado: este es un proceso de aprendizaje para generalizar la estructura en los datos donde no se requiere predicción. Las estructuras naturales son identificadas y explotadas para relacionar ciertas observaciones respecto a otras.
Aprendizaje por refuerzo: con este sistema de aprendizaje, llamado agente, se puede observar el entorno, seleccionar y realizar acciones, con la finalidad de obtener recompensas a cambio (o sanciones en forma de recompensas negativas). Luego, debe aprender por sí mismo cuál es la mejor estrategia, llamada política, para obtener la mayor recompensa con el paso del tiempo. Con una política, se define qué acción debe hacer el agente cuando se encuentra en una situación dada [5].
Una vez definidos y comprendidos los tipos de problemas, los tipos de datos y los tipos de aprendizajes, se puede pasar a conocer cuáles son las etapas requeridas para el desarrollo de sistemas basados en el aprendizaje máquina.
1.7. Etapas de implementación del aprendizaje máquina
La implementación de algoritmos de aprendizaje máquina implica una serie de pasos que son muy similares al proceso de modelado estadístico. Estos se dividen en cinco etapas: recopilación de datos, exploración y preparación de datos, entrenamiento, evaluación del modelo y, por último, mejora del modelo. En la figura 1.1 se pueden observar las etapas de implementación del aprendizaje máquina de una forma esquemática. Cada etapa se define a continuación.
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.