Exploración de métodos de ensamble con Scikit-Learn

Machine LearningMachine LearningBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, exploraremos los métodos de ensamble utilizando scikit-learn. Los métodos de ensamble son técnicas de aprendizaje automático que combinan múltiples modelos para obtener un mejor rendimiento que un solo modelo. Nos centraremos específicamente en dos métodos de ensamble populares: Bagging y Bosques Aleatorios.

Consejos sobre la VM

Una vez que se haya iniciado la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/CoreModelsandAlgorithmsGroup(["Core Models and Algorithms"]) sklearn(("Sklearn")) -.-> sklearn/ModelSelectionandEvaluationGroup(["Model Selection and Evaluation"]) sklearn(("Sklearn")) -.-> sklearn/UtilitiesandDatasetsGroup(["Utilities and Datasets"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/tree("Decision Trees") sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/ensemble("Ensemble Methods") sklearn/ModelSelectionandEvaluationGroup -.-> sklearn/model_selection("Model Selection") sklearn/UtilitiesandDatasetsGroup -.-> sklearn/datasets("Datasets") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/tree -.-> lab-71108{{"Exploración de métodos de ensamble con Scikit-Learn"}} sklearn/ensemble -.-> lab-71108{{"Exploración de métodos de ensamble con Scikit-Learn"}} sklearn/model_selection -.-> lab-71108{{"Exploración de métodos de ensamble con Scikit-Learn"}} sklearn/datasets -.-> lab-71108{{"Exploración de métodos de ensamble con Scikit-Learn"}} ml/sklearn -.-> lab-71108{{"Exploración de métodos de ensamble con Scikit-Learn"}} end

Importar dependencias

Comencemos importando las dependencias necesarias.

import numpy as np
from sklearn.ensemble import BaggingClassifier, RandomForestClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split, cross_val_score

Cargar los datos

A continuación, cargaremos el conjunto de datos iris de scikit-learn utilizando la función load_iris.

data = load_iris()
X, y = data.data, data.target

Dividir los datos

Dividiremos los datos en conjuntos de entrenamiento y prueba utilizando la función train_test_split de scikit-learn.

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

Ajustar un clasificador de ensamble (Bagging)

Ahora, ajustaremos un clasificador de ensamble (Bagging) a los datos de entrenamiento. El clasificador de ensamble (Bagging) es un método de ensamble que utiliza muestreo con remuestreo (bootstrap) para crear múltiples modelos base (a menudo árboles de decisión) y agrega sus predicciones mediante votación mayoritaria.

bagging = BaggingClassifier(DecisionTreeClassifier(), n_estimators=10)
bagging.fit(X_train, y_train)

Evaluar el clasificador de ensamble (Bagging)

Evaluemos el clasificador de ensamble (Bagging) calculando la puntuación de precisión en los datos de prueba utilizando el método score.

accuracy = bagging.score(X_test, y_test)
print(f"Precisión del clasificador de ensamble (Bagging): {accuracy}")

Ajustar un clasificador de bosque aleatorio

A continuación, ajustaremos un clasificador de bosque aleatorio a los datos de entrenamiento. El clasificador de bosque aleatorio también es un método de ensamble que utiliza muestreo con remuestreo (bootstrap) para crear múltiples árboles de decisión, pero también agrega aleatoriedad adicional al considerar solo un subconjunto de características en cada división.

random_forest = RandomForestClassifier(n_estimators=10)
random_forest.fit(X_train, y_train)

Evaluar el clasificador de bosque aleatorio

Evaluemos el clasificador de bosque aleatorio calculando la puntuación de precisión en los datos de prueba.

accuracy = random_forest.score(X_test, y_test)
print(f"Precisión del clasificador de bosque aleatorio: {accuracy}")

Resumen

En este laboratorio, exploramos métodos de ensamble utilizando scikit-learn. Ajustamos un clasificador de ensamble (Bagging) y un clasificador de bosque aleatorio en el conjunto de datos iris y evaluamos su rendimiento. Los métodos de ensamble como Bagging y Bosques Aleatorios pueden ser herramientas poderosas para mejorar el rendimiento predictivo de los modelos de aprendizaje automático.