Notebooks y Scripts de Python utilizando la libreria Sckit-Learn para entrenar y probar modelos Supervisados de Clasificacion.
En este post voy a compartir una breve introducción a los modelos de aprendizaje automático supervisados y una Jupyter Notebook con un trabajo hecho en Python con la librería Sckit-Learn sobre un problema de negocio utilizando distintos tipos de algoritmos de Aprendizaje Supervisado.
Se van a utilizar los siguientes modelos:
En cada uno de ellos se ajustaron los hyperparametros a los efectos de lograr las mejores métricas para el caso de estudio, es decir, dado el problema de negocio:
Recordemos los dos tipos de aprendizaje automático:
Aprendizaje supervisado: En el aprendizaje supervisado, contamos con datos etiquetados que incluyen tanto las características de entrada (input) como la variable objetivo (output) asociada. El objetivo es entrenar un modelo que pueda aprender a mapear las entradas a las salidas correspondientes. Los algoritmos de aprendizaje supervisado se utilizan para problemas de predicción y clasificación, donde queremos predecir un valor objetivo o asignar una clase a nuevos ejemplos basándonos en los ejemplos de entrenamiento.
Aprendizaje no supervisado: Se utiliza cuando no tenemos datos etiquetados o una variable objetivo específica. En este caso, el objetivo es encontrar patrones o estructuras ocultas en los datos sin ninguna guía explícita. Los algoritmos de aprendizaje no supervisado se utilizan para tareas como agrupamiento (clustering), detección de anomalías, reducción de dimensionalidad y visualización de datos.
Diferencias clave:
En el aprendizaje supervisado, necesitamos datos de entrada y salida etiquetada, mientras que en el aprendizaje no supervisado solo necesitamos datos de entrada.
En el aprendizaje supervisado, el modelo aprende a partir de ejemplos previamente etiquetados para predecir nuevos ejemplos, mientras que en el aprendizaje no supervisado, el modelo busca patrones o estructuras inherentes en los datos sin ninguna información de salida explícita.
El aprendizaje supervisado se utiliza comúnmente en problemas de clasificación y regresión, mientras que el aprendizaje no supervisado se utiliza para descubrir información oculta, agrupar datos o reducir la dimensionalidad.
Ambos enfoques tienen aplicaciones prácticas en una amplia gama de problemas y son fundamentales en el campo del aprendizaje automático. Es importante comprender las diferencias entre ellos para seleccionar el enfoque adecuado según los requisitos y características del problema que se esté abordando.
Los algoritmos de aprendizaje supervisado se dividen en dos grandes tipos:
Con la clasificación, buscamos predecir una variable objetivo que es categórica en lugar de continua. Es decir, queremos asignar una etiqueta o clase a nuevos ejemplos basándonos en características o atributos relevantes. La clasificación tiene numerosas aplicaciones en diversos dominios y sectores. Algunos ejemplos típicos de problemas de clasificación son:
Algunos ejemplos típicos:
Existen diferentes modelos y algoritmos que implementan soluciones a problemas de clasificación, como el árbol de decisión (CART), Naive Bayes, Regresión Logística, K-Nearest Neighbors (KNN), Support Vector Machines (SVM), entre otros. Cada modelo tiene sus propias características, fortalezas y debilidades, por lo que es importante explorar y evaluar diferentes opciones para encontrar el más adecuado según el problema y los datos disponibles.
En el siguiente enlace se encuentra en repositorio con el modelo en una Jupyter Notebook:
* En la siguiente notebook publicada en Rpubs comparto el modelo final escogido para el problema de negocio: