Clasificación de Dígitos utilizando 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

Esta práctica es un tutorial paso a paso sobre cómo utilizar técnicas de clasificación en el conjunto de datos Digits utilizando scikit-learn. En esta práctica, cargaremos el conjunto de datos, preprocesaremos los datos, dividiremos el conjunto de datos en conjuntos de entrenamiento y prueba, y luego utilizaremos dos técnicas de clasificación diferentes (K-Nearest Neighbors y Regresión Logística) para clasificar los dígitos. Finalmente, compararemos la precisión de ambas técnicas.

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 Notebook 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 su retroalimentación después de la sesión y resolveremos rápidamente el problema para usted.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL 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/linear_model("Linear Models") sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/neighbors("Nearest Neighbors") sklearn/ModelSelectionandEvaluationGroup -.-> sklearn/model_selection("Model Selection") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/linear_model -.-> lab-49106{{"Clasificación de Dígitos utilizando Scikit-Learn"}} sklearn/neighbors -.-> lab-49106{{"Clasificación de Dígitos utilizando Scikit-Learn"}} sklearn/model_selection -.-> lab-49106{{"Clasificación de Dígitos utilizando Scikit-Learn"}} ml/sklearn -.-> lab-49106{{"Clasificación de Dígitos utilizando Scikit-Learn"}} end

Cargar el conjunto de datos Digits

Comenzaremos cargando el conjunto de datos Digits utilizando la función load_digits de scikit-learn. Esta función devuelve dos matrices: X_digits que contiene los datos de entrada y y_digits que contiene las etiquetas de destino.

from sklearn import datasets

X_digits, y_digits = datasets.load_digits(return_X_y=True)

Preprocesar los datos

Luego preprocesaremos los datos escalando las características a un rango de [0, 1] utilizando el valor máximo de los datos. Esto se puede hacer dividiendo los datos de entrada por el valor máximo de los datos de entrada.

X_digits = X_digits / X_digits.max()

Dividir el conjunto de datos en conjuntos de entrenamiento y prueba

A continuación, dividiremos el conjunto de datos en conjuntos de entrenamiento y prueba utilizando la función train_test_split de scikit-learn. Utilizaremos el 90% de los datos para el entrenamiento y el 10% para la prueba.

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X_digits, y_digits, test_size=0.1, random_state=42)

Entrenar y probar el clasificador K-Nearest Neighbors

Ahora entrenaremos un clasificador K-Nearest Neighbors (KNN) utilizando la función KNeighborsClassifier de scikit-learn y lo probaremos en el conjunto de prueba. Luego imprimiremos la puntuación de precisión del clasificador.

from sklearn.neighbors import KNeighborsClassifier

knn = KNeighborsClassifier()
knn.fit(X_train, y_train)
knn_score = knn.score(X_test, y_test)

print("KNN score: %f" % knn_score)

Entrenar y probar el clasificador de Regresión Logística

Ahora entrenaremos un clasificador de Regresión Logística utilizando la función LogisticRegression de scikit-learn y lo probaremos en el conjunto de prueba. Luego imprimiremos la puntuación de precisión del clasificador.

from sklearn.linear_model import LogisticRegression

logistic = LogisticRegression(max_iter=1000)
logistic.fit(X_train, y_train)
logistic_score = logistic.score(X_test, y_test)

print("Logistic Regression score: %f" % logistic_score)

Comparar la precisión de ambos clasificadores

Finalmente, compararemos la precisión de ambos clasificadores imprimiendo las puntuaciones de precisión de ambos clasificadores.

print("KNN score: %f" % knn_score)
print("Logistic Regression score: %f" % logistic_score)

Resumen

En este laboratorio, aprendimos cómo utilizar técnicas de clasificación en el conjunto de datos Digits utilizando scikit-learn. Cargamos el conjunto de datos, preprocesamos los datos, dividimos el conjunto de datos en conjuntos de entrenamiento y prueba y luego entrenamos y probamos dos clasificadores diferentes (K-Nearest Neighbors y Regresión Logística) en el conjunto de prueba. Finalmente, comparamos la precisión de ambos clasificadores.