Algoritmos de clasificación multicategoría y multi-salida

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 la funcionalidad y el uso de algoritmos de clasificación multicategoría y multi-salida en scikit-learn. La clasificación multicategoría es una tarea de clasificación en la que las muestras se asignan a más de dos clases. La clasificación multi-salida, por otro lado, predice múltiples propiedades para cada muestra. Cubriremos los siguientes temas:

  1. Clasificación multicategoría
  2. Clasificación multilabel
  3. Clasificación multicategoría-multi-salida
  4. Regresión multi-salida

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 comentarios después de la sesión y resolveremos el problema para usted de inmediato.


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/AdvancedDataAnalysisandDimensionalityReductionGroup(["Advanced Data Analysis and Dimensionality Reduction"]) sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/linear_model("Linear Models") sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/ensemble("Ensemble Methods") sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/svm("Support Vector Machines") sklearn/AdvancedDataAnalysisandDimensionalityReductionGroup -.-> sklearn/multiclass("Multiclass Classification") sklearn/AdvancedDataAnalysisandDimensionalityReductionGroup -.-> sklearn/multioutput("Multioutput Regression and Classification") sklearn/UtilitiesandDatasetsGroup -.-> sklearn/datasets("Datasets") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/linear_model -.-> lab-71109{{"Algoritmos de clasificación multicategoría y multi-salida"}} sklearn/ensemble -.-> lab-71109{{"Algoritmos de clasificación multicategoría y multi-salida"}} sklearn/svm -.-> lab-71109{{"Algoritmos de clasificación multicategoría y multi-salida"}} sklearn/multiclass -.-> lab-71109{{"Algoritmos de clasificación multicategoría y multi-salida"}} sklearn/multioutput -.-> lab-71109{{"Algoritmos de clasificación multicategoría y multi-salida"}} sklearn/datasets -.-> lab-71109{{"Algoritmos de clasificación multicategoría y multi-salida"}} ml/sklearn -.-> lab-71109{{"Algoritmos de clasificación multicategoría y multi-salida"}} end

Clasificación multicategoría

Descripción del problema

La clasificación multicategoría es una tarea de clasificación con más de dos clases. Cada muestra se asigna a una sola clase.

Formato de destino

Una representación válida de objetivos multicategoría es un vector de una dimensión o de columna que contiene más de dos valores discretos.

Ejemplo

Vamos a usar el conjunto de datos Iris para demostrar la clasificación multicategoría:

from sklearn import datasets
from sklearn.linear_model import LogisticRegression
from sklearn.multiclass import OneVsRestClassifier

## Cargar el conjunto de datos Iris
X, y = datasets.load_iris(return_X_y=True)

## Ajustar un modelo de regresión logística usando OneVsRestClassifier
model = OneVsRestClassifier(LogisticRegression())
model.fit(X, y)

## Hacer predicciones
predictions = model.predict(X)
print(predictions)

Clasificación multilabel

Descripción del problema

La clasificación multilabel es una tarea de clasificación en la que cada muestra puede ser asignada múltiples etiquetas. El número de etiquetas que puede tener cada muestra es mayor que dos.

Formato de destino

Una representación válida de objetivos multilabel es una matriz binaria, donde cada fila representa una muestra y cada columna representa una clase. Un valor de 1 indica la presencia de la etiqueta en la muestra, mientras que 0 o -1 indica su ausencia.

Ejemplo

Vamos a crear un problema de clasificación multilabel usando la función make_classification:

from sklearn.datasets import make_classification
from sklearn.multioutput import MultiOutputClassifier
from sklearn.ensemble import RandomForestClassifier

## Generar un problema de clasificación multilabel
X, y = make_classification(n_samples=100, n_features=10, n_informative=5, random_state=0)
y = y.reshape(-1, 1)

## Ajustar un clasificador de bosque aleatorio multi-salida
model = MultiOutputClassifier(RandomForestClassifier())
model.fit(X, y)

## Hacer predicciones
predictions = model.predict(X)
print(predictions)

Clasificación multicategoría-multi-salida

Descripción del problema

La clasificación multicategoría-multi-salida, también conocida como clasificación multitarea, predice múltiples propiedades no binarias para cada muestra. Cada propiedad puede tener más de dos clases.

Formato de destino

Una representación válida de objetivos multicategoría-multi-salida es una matriz densa, donde cada fila representa una muestra y cada columna representa una propiedad o clase diferente.

Ejemplo

Vamos a crear un problema de clasificación multicategoría-multi-salida usando la función make_classification:

from sklearn.datasets import make_classification
from sklearn.multioutput import MultiOutputClassifier
from sklearn.svm import SVC

## Generar un problema de clasificación multicategoría-multi-salida
X, y = make_classification(n_samples=100, n_features=10, n_informative=5, n_classes=3, random_state=0)

## Ajustar un clasificador de vectores de soporte multi-salida
model = MultiOutputClassifier(SVC())
model.fit(X, y)

## Hacer predicciones
predictions = model.predict(X)
print(predictions)

Regresión multi-salida

Descripción del problema

La regresión multi-salida predice múltiples propiedades numéricas para cada muestra. Cada propiedad es una variable numérica y el número de propiedades puede ser mayor o igual a dos.

Formato de destino

Una representación válida de objetivos de regresión multi-salida es una matriz densa, donde cada fila representa una muestra y cada columna representa una propiedad diferente.

Ejemplo

Vamos a crear un problema de regresión multi-salida usando la función make_regression:

from sklearn.datasets import make_regression
from sklearn.multioutput import MultiOutputRegressor
from sklearn.linear_model import LinearRegression

## Generar un problema de regresión multi-salida
X, y = make_regression(n_samples=100, n_features=10, n_targets=3, random_state=0)

## Ajustar un modelo de regresión lineal multi-salida
model = MultiOutputRegressor(LinearRegression())
model.fit(X, y)

## Hacer predicciones
predictions = model.predict(X)
print(predictions)

Resumen

En este laboratorio, exploramos algoritmos de clasificación multicategoría y multi-salida en scikit-learn. Cubrimos la clasificación multicategoría, la clasificación multilabel, la clasificación multicategoría-multi-salida y la regresión multi-salida. Estos algoritmos nos permiten resolver tareas complejas de clasificación y regresión con múltiples objetivos o clases.