API de visualización de 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

Scikit-learn es una popular biblioteca de Python que proporciona una API simple y eficiente para tareas de aprendizaje automático. Una de las características clave de scikit-learn es su API de visualización integrada, que facilita la generación de visualizaciones para los modelos de aprendizaje automático. En este laboratorio, exploraremos cómo usar la API de visualización de scikit-learn para comparar curvas ROC de dos clasificadores diferentes.

Consejos sobre la VM

Una vez finalizada la inicialización de 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 operaciones no puede automatizarse debido a las limitaciones de Jupyter Notebook.

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/UtilitiesandDatasetsGroup(["Utilities and Datasets"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn(("Sklearn")) -.-> sklearn/CoreModelsandAlgorithmsGroup(["Core Models and Algorithms"]) sklearn(("Sklearn")) -.-> sklearn/ModelSelectionandEvaluationGroup(["Model Selection and Evaluation"]) sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/ensemble("Ensemble Methods") sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/svm("Support Vector Machines") sklearn/ModelSelectionandEvaluationGroup -.-> sklearn/model_selection("Model Selection") sklearn/ModelSelectionandEvaluationGroup -.-> sklearn/metrics("Metrics") sklearn/UtilitiesandDatasetsGroup -.-> sklearn/datasets("Datasets") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/ensemble -.-> lab-49274{{"API de visualización de Scikit-Learn"}} sklearn/svm -.-> lab-49274{{"API de visualización de Scikit-Learn"}} sklearn/model_selection -.-> lab-49274{{"API de visualización de Scikit-Learn"}} sklearn/metrics -.-> lab-49274{{"API de visualización de Scikit-Learn"}} sklearn/datasets -.-> lab-49274{{"API de visualización de Scikit-Learn"}} ml/sklearn -.-> lab-49274{{"API de visualización de Scikit-Learn"}} end

Cargar datos y entrenar un SVC

Comenzaremos cargando el conjunto de datos de vinos y convirtiéndolo en un problema de clasificación binaria. Luego, entrenaremos un clasificador de vectores de soporte en el conjunto de datos de entrenamiento.

import matplotlib.pyplot as plt
from sklearn.svm import SVC
from sklearn.metrics import RocCurveDisplay
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split

X, y = load_wine(return_X_y=True)
y = y == 2

X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
svc = SVC(random_state=42)
svc.fit(X_train, y_train)

Trazar la curva ROC

A continuación, trazaremos la curva ROC utilizando la función RocCurveDisplay.from_estimator. Esta función toma el clasificador entrenado, el conjunto de datos de prueba y las etiquetas verdaderas como entradas, y devuelve un objeto que se puede utilizar para trazar la curva ROC. Luego llamaremos al método show() para mostrar la gráfica.

svc_disp = RocCurveDisplay.from_estimator(svc, X_test, y_test)
svc_disp.show()

Entrenar un Bosque Aleatorio y Trazar la Curva ROC

En este paso, entrenaremos un clasificador de bosque aleatorio y graficaremos su curva ROC junto con la curva ROC del SVC. Para hacer esto, crearemos un nuevo objeto RandomForestClassifier, lo ajustaremos a los datos de entrenamiento y luego crearemos un nuevo objeto RocCurveDisplay utilizando este clasificador. También pasaremos el parámetro ax a esta función para graficar las curvas en el mismo eje. Finalmente, llamaremos al método plot() del objeto svc_disp para graficar la curva ROC del SVC.

from sklearn.ensemble import RandomForestClassifier

rfc = RandomForestClassifier(n_estimators=10, random_state=42)
rfc.fit(X_train, y_train)

ax = plt.gca()
rfc_disp = RocCurveDisplay.from_estimator(rfc, X_test, y_test, ax=ax, alpha=0.8)
svc_disp.plot(ax=ax, alpha=0.8)
plt.show()

Resumen

En este laboratorio, exploramos cómo usar la API de visualización de scikit-learn para trazar curvas ROC de dos clasificadores diferentes. Comenzamos cargando el conjunto de datos de vinos y entrenando un clasificador de vectores de soporte en los datos de entrenamiento. Luego tracamos la curva ROC de este clasificador utilizando la función RocCurveDisplay. Finalmente, entrenamos un clasificador de bosque aleatorio y tracamos su curva ROC junto con la curva ROC del SVC. La API de visualización de scikit-learn facilita la comparación de diferentes clasificadores y la visualización de su rendimiento.