Aprendizaje Supervisado 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 el aprendizaje supervisado, queremos aprender la relación entre dos conjuntos de datos: los datos observados X y una variable externa y que queremos predecir.
Hay dos tipos principales de problemas de aprendizaje supervisado: la clasificación y la regresión. En la clasificación, el objetivo es predecir la clase o categoría de una observación, mientras que en la regresión, el objetivo es predecir una variable objetivo continua.

En este laboratorio, exploraremos los conceptos de aprendizaje supervisado y veremos cómo implementarlos utilizando scikit-learn, una popular biblioteca de aprendizaje automático en Python. Cubriremos temas como la clasificación por vecinos más cercanos, la regresión lineal y las máquinas de vectores de soporte (SVM).

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"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/neighbors("Nearest Neighbors") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/neighbors -.-> lab-71097{{"Aprendizaje Supervisado con Scikit-Learn"}} ml/sklearn -.-> lab-71097{{"Aprendizaje Supervisado con Scikit-Learn"}} end

Clasificación por Vecinos Más Cercanos

En este paso, exploraremos el concepto de clasificación por vecinos más cercanos y cómo se puede implementar utilizando scikit-learn. Utilizaremos el conjunto de datos iris, que consta de mediciones de diferentes flores de iris.

Cargar el Conjunto de Datos Iris
import numpy as np
from sklearn import datasets

iris_X, iris_y = datasets.load_iris(return_X_y=True)
Dividir los Datos en Conjuntos de Entrenamiento y Prueba
np.random.seed(0)
indices = np.random.permutation(len(iris_X))
iris_X_train = iris_X[indices[:-10]]
iris_y_train = iris_y[indices[:-10]]
iris_X_test = iris_X[indices[-10:]]
iris_y_test = iris_y[indices[-10:]]
Crear y Ajustar un Clasificador por Vecinos Más Cercanos
from sklearn.neighbors import KNeighborsClassifier

knn = KNeighborsClassifier()
knn.fit(iris_X_train, iris_y_train)
Hacer Predicciones
predictions = knn.predict(iris_X_test)

Regresión Lineal

En este paso, exploraremos el concepto de regresión lineal y cómo se puede implementar utilizando scikit-learn. Utilizaremos el conjunto de datos de diabetes, que consta de variables fisiológicas de pacientes y su evolución de la enfermedad después de un año.

Cargar el Conjunto de Datos de Diabetes
diabetes_X, diabetes_y = datasets.load_diabetes(return_X_y=True)
diabetes_X_train = diabetes_X[:-20]
diabetes_X_test = diabetes_X[-20:]
diabetes_y_train = diabetes_y[:-20]
diabetes_y_test = diabetes_y[-20:]
Crear y Ajustar un Modelo de Regresión Lineal
from sklearn import linear_model

regr = linear_model.LinearRegression()
regr.fit(diabetes_X_train, diabetes_y_train)
Hacer Predicciones y Calcular Métricas de Rendimiento
predictions = regr.predict(diabetes_X_test)
mse = np.mean((predictions - diabetes_y_test)**2)
variance_score = regr.score(diabetes_X_test, diabetes_y_test)

Máquinas de Vectores de Soporte (SVM)

En este paso, exploraremos el concepto de máquinas de vectores de soporte (SVM) y cómo se pueden utilizar para tareas de clasificación. Las SVM buscan encontrar un hiperplano que separe al máximo los puntos de datos de diferentes clases.

Crear y Ajustar una SVM Lineal
from sklearn import svm

svc = svm.SVC(kernel='linear')
svc.fit(iris_X_train, iris_y_train)
Crear y Ajustar SVM con Diferentes Kernels
svc_poly = svm.SVC(kernel='poly', degree=3)
svc_rbf = svm.SVC(kernel='rbf')

svc_poly.fit(iris_X_train, iris_y_train)
svc_rbf.fit(iris_X_train, iris_y_train)

Resumen

En este laboratorio, aprendimos sobre diferentes técnicas de aprendizaje supervisado y cómo implementarlas utilizando scikit-learn. Cubrimos la clasificación por vecinos más cercanos, la regresión lineal y las máquinas de vectores de soporte (SVM). Estas técnicas nos permiten predecir variables de salida a partir de observaciones de alta dimensión y clasificar datos en diferentes categorías. Al aplicar estas técnicas a conjuntos de datos del mundo real, podemos obtener información y hacer predicciones en diversos dominios como la salud, las finanzas y las ciencias sociales.