Clasificación con Random Forest

¿Qué aplicamos/usamos aquí?

  • Random Forest: Modelo basado en árboles de decisión. Utiliza un conjunto de árboles para mejorar la precisión y reducir el sobreajuste.
  • Dataset de Vino: Cada vino tiene características químicas, y el modelo debe clasificarlo en una de tres categorías.
  • Evaluación: Usamos precisión y un reporte de clasificación para evaluar el rendimiento del modelo.

Ver en Colab ➜

from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, classification_report

# Cargar el dataset de vinos
data = load_wine()
X = data.data  # Características: contenido de compuestos químicos
y = data.target  # Etiquetas: tipo de vino (3 clases)

# Dividir el conjunto de datos en entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Crear y entrenar el modelo Random Forest
rf_model = RandomForestClassifier(n_estimators=100, random_state=42)
rf_model.fit(X_train, y_train)

# Hacer predicciones
y_pred = rf_model.predict(X_test)

# Evaluar el modelo
print("Accuracy:", accuracy_score(y_test, y_pred))
print("Reporte de clasificación:")
print(classification_report(y_test, y_pred, target_names=data.target_names))