¡Perfecto! Vamos a crear tu primer Random Forest con scikit-learn, paso a paso. Usaremos un dataset clásico: Iris, que es ideal para clasificación.
✅ 1. Importar librerías necesarias
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, classification_report, confusion_matrix
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
✅ 2. Cargar el dataset y dividir en entrenamiento y prueba
# Cargar el dataset Iris
iris = load_iris()
X = iris.data
y = iris.target
# Dividir en entrenamiento (80%) y prueba (20%)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
✅ 3. Crear y entrenar el modelo Random Forest
# Crear el modelo
model = RandomForestClassifier(n_estimators=100, random_state=42)
# Entrenar el modelo
model.fit(X_train, y_train)
✅ 4. Realizar predicciones y evaluar
# Predicciones
y_pred = model.predict(X_test)
# Métricas
print("Accuracy:", accuracy_score(y_test, y_pred))
print("\nReporte de Clasificación:\n", classification_report(y_test, y_pred))
print("\nMatriz de Confusión:\n", confusion_matrix(y_test, y_pred))
✅ 5. Visualizar la importancia de las características
# Importancia de las variables
importances = model.feature_importances_
features = iris.feature_names
# Mostrar con Seaborn
sns.barplot(x=importances, y=features, palette="viridis")
plt.title("Importancia de características en Random Forest")
plt.xlabel("Importancia")
plt.ylabel("Característica")
plt.show()
✅ Resultado Esperado:
- Una alta precisión (accuracy > 90%) en este dataset.
- Gráfico con las variables más relevantes para el modelo.
- Matriz de confusión para visualizar errores (falsos positivos/negativos).