Etapas de un Proyecto de Ciencia de Datos
Un proyecto de Ciencia de Datos se estructura en varias fases clave para asegurar su éxito:
- Business Understanding (Comprensión del Negocio): Entender el problema de negocio que se quiere abordar y diseñar una solución basada en el análisis de datos.
- Data Understanding (Comprensión de los Datos): Entender las diferentes fuentes de datos disponibles en la empresa y los tipos de datos que contienen dichas fuentes.
- Data Preparation (Preparación de los Datos): Transformar los datos en un formato adecuado para el posterior entrenamiento de modelos de aprendizaje automático.
- Modeling (Modelado): Construir modelos de aprendizaje automático y elegir el más adecuado para el proyecto.
- Evaluation (Evaluación): Demostrar que el modelo será capaz de realizar predicciones precisas una vez llevado a desarrollo.
Diferencia entre Aprendizaje Supervisado y No Supervisado
La distinción fundamental radica en la disponibilidad de datos etiquetados:
Aprendizaje Supervisado
Se realiza cuando se recopilan las etiquetas de observación y las clases a las que pertenecen las variables/datos; es decir, son **datos etiquetados**. Si la etiqueta es categórica, la tarea se denomina **clasificación**. Si la etiqueta es numérica, la tarea se denomina **regresión**.
- Decision Trees: Utilizados para **clasificación**, por ejemplo, decidir si algo pertenece a una categoría o a otra. Ejemplo: Identificar correos electrónicos de Spam.
- Random Forest: Cubre el espacio con modelos sencillos, muy potente porque se puede paralelizar.
- K-Nearest Neighbour: Un sistema de recomendación que predice una propiedad de un dato basándose en datos que son más similares a él. Ejemplo: Hacer recomendaciones de productos para un cliente basándose en las compras de otros clientes similares.
- Support Vector Machines: Principalmente para **clasificación**.
- Artificial Neural Networks (Redes Neuronales).
Aprendizaje No Supervisado
No se recoge ninguna etiqueta; es decir, los datos/variables **no están etiquetados** y no se conoce la clase a la que pertenecen. A veces, la tarea consiste en encontrar cualquier relación que exista entre las variables del conjunto de datos (**reglas de asociación**).
- Los algoritmos de **clustering** como **k-means** examinan los datos para encontrar grupos de observaciones que son más similares entre sí que los objetos de otros grupos. Ejemplo: Identificar grupos de clientes con los mismos patrones de compra.
Deployment (Despliegue)
El **Deployment** se refiere a la integración exitosa del modelo de aprendizaje automático dentro de la empresa para su uso operativo.
Sobreajuste (Overfitting) en Modelos de Aprendizaje Automático
Si construimos un modelo que se ajusta demasiado a los datos particulares utilizados para estimar el valor de sus parámetros, entonces caemos en el **sobreajuste** (**overlapping**). Es imprescindible que el modelo sea capaz de **generalizar**, es decir, que sea aplicable para datos que no ha visto nunca previamente.
Consecuencias del Sobreajuste
Si nuestro modelo es demasiado restrictivo o demasiado simple y no puede seguir bien a los datos, el error que comete al intentar representar la realidad será grande. Es decir, funciona muy bien con los datos con los que ha sido entrenado (**train**) pero mal con datos nuevos (**test**).
Cómo Evitar el Sobreajuste
Debemos intentar favorecer la elección de modelos simples frente a alternativas complicadas, modelos lineales frente a no lineales y, en general, modelos que incluyan menos variables/características frente a otros que incluyan más, según el **principio de parsimonia**.
Una estrategia clave es separar los datos en al menos dos subconjuntos:
- Los **datos de entrenamiento** (**training set**), que emplearemos para estimar el valor de los parámetros desconocidos de nuestro modelo.
- Los **datos de prueba** (**testing set**), que usaremos para estimar la capacidad de generalización de nuestro modelo, a la hora de intentar describir datos que no haya visto nunca.
Se recomienda conservar unos **datos de validación**, que nunca serán vistos hasta que el modelo sea definitivo.
Desventajas de los Subconjuntos
Dependiendo de qué muestras hayan caído en nuestro conjunto de entrenamiento, el ajuste del modelo puede ser muy diferente (por ejemplo, si en un modelo de regresión se incluyen puntos palanca o atípicos). Como estamos utilizando menos casos que el total de observaciones disponibles para entrenar el modelo, el ajuste normalmente sobreestimará el error cometido en el conjunto de datos de prueba.
Medidas de Rendimiento de un Modelo de Aprendizaje Automático
Para evaluar la eficacia de un modelo, se utilizan diversas métricas:
Matriz de Confusión
La **Matriz de Confusión** es una tabla que permite visualizar el rendimiento de un algoritmo de clasificación. Sus componentes son:
- TP (True Positive): Casos positivos predichos correctamente como positivos.
- TN (True Negative): Casos negativos predichos correctamente como negativos.
- FP (False Positive): Casos negativos predichos incorrectamente como positivos (Error de Tipo I).
- FN (False Negative): Casos positivos predichos incorrectamente como negativos (Error de Tipo II).
Métricas Derivadas
- ACCURACY: Número de elementos clasificados correctamente en comparación con el número total de elementos.
- PRECISION: Proporción de verdaderos positivos que son realmente positivos en comparación con el número total de valores positivos predichos.
- RECALL: Proporción de verdaderos positivos en función del número total de valores positivos reales.
- SPECIFICITY: Tasa de verdaderos negativos.
- F1-Score: Combinación de las métricas de **precisión** y **recall**, sirviendo como un compromiso entre ambas.
Curva ROC
La **Curva ROC** es una representación gráfica del rendimiento de un clasificador que muestra la compensación entre el aumento de las tasas de verdaderos positivos y el aumento de las tasas de falsos positivos a medida que varía el umbral de discriminación del clasificador.
Conceptos de Minimax y Búsqueda Heurística
Minimax
El algoritmo **Minimax** es fundamental en la teoría de juegos, aplicado en juegos como las damas y el tres en raya. El algoritmo **Minimax** maximiza la utilidad mínima que puede conseguir el jugador Max. Puede haber estrategias que funcionen mejor que **Minimax** si el contrincante no es óptimo. Con la **poda alfa-beta** se eliminan nodos que nunca serán alcanzados, lo que puede mejorar la velocidad. Este algoritmo produce siempre la misma solución. Los **nodos al azar** representan un evento aleatorio. Si un nodo azar tiene k…
Búsqueda Heurística
- ¿Cuál es el objetivo de una función heurística aplicada a la búsqueda en el espacio de estados?
Solución: Estimar la adecuación de un nodo para ser expandido. - ¿Cuál es la definición de heurística optimista?
Solución: Una **heurística** es **optimista** si h*(n) ≤ h(n). - ¿Una función heurística consistente es también optimista?
Solución: Sí. Una **heurística consistente** subestima el coste de todos los operadores; por lo tanto, también subestima el coste total hacia la meta. - ¿Qué condiciones garantizan que el algoritmo A* sea óptimo?
Solución: El **algoritmo A*** es óptimo si la **función heurística** h* es optimista.