Introducción a Scikit-Learn (sklearn) en Python

Scikit-Learn es una biblioteca de machine learning en Python que facilita la creación, entrenamiento y evaluación de modelos de aprendizaje automático.

1. Importación de Scikit-Learn

Para comenzar, necesitas instalar e importar Scikit-Learn.

# Instalación de Scikit-Learn
!pip install scikit-learn

# Importar el módulo
import sklearn
            

2. Preprocesamiento de Datos

Scikit-Learn proporciona herramientas para el preprocesamiento de datos, como la normalización y el escalado.

from sklearn.preprocessing import StandardScaler

# Ejemplo de escalado
scaler = StandardScaler()
datos_escalados = scaler.fit_transform(datos)
            

3. Dividir Datos en Entrenamiento y Prueba

Dividir los datos en conjuntos de entrenamiento y prueba es una práctica común para evaluar el rendimiento del modelo.

from sklearn.model_selection import train_test_split

X_entrenamiento, X_prueba, y_entrenamiento, y_prueba = train_test_split(X, y, test_size=0.2, random_state=42)
            

4. Modelos de Machine Learning

Scikit-Learn incluye modelos populares, como Regresión Lineal, Bosques Aleatorios y Máquinas de Vectores de Soporte.

from sklearn.linear_model import LinearRegression

# Crear y entrenar el modelo
modelo = LinearRegression()
modelo.fit(X_entrenamiento, y_entrenamiento)

# Realizar predicciones
predicciones = modelo.predict(X_prueba)
            

5. Evaluación del Modelo

Scikit-Learn proporciona métricas para evaluar el rendimiento de los modelos, como el MSE para regresión y la precisión para clasificación.

from sklearn.metrics import mean_squared_error, accuracy_score

# Evaluación para regresión
error = mean_squared_error(y_prueba, predicciones)

# Para clasificación
precision = accuracy_score(y_prueba, predicciones_clasificacion)
            

6. Selección de Modelos y Validación Cruzada

La validación cruzada es una técnica para evaluar la estabilidad del modelo utilizando varias divisiones de los datos.

from sklearn.model_selection import cross_val_score

# Validación cruzada
puntuaciones = cross_val_score(modelo, X, y, cv=5)
media_puntuacion = puntuaciones.mean()
            

7. Pipelines en Scikit-Learn

Los pipelines permiten encadenar múltiples pasos de procesamiento y modelado, simplificando el flujo de trabajo.

from sklearn.pipeline import Pipeline

# Crear pipeline con escalado y modelo
pipeline = Pipeline([
    ('scaler', StandardScaler()),
    ('modelo', LinearRegression())
])

pipeline.fit(X_entrenamiento, y_entrenamiento)
            

Conclusión

Scikit-Learn es una herramienta completa para el aprendizaje automático en Python, desde el preprocesamiento hasta la evaluación y optimización de modelos.