Modelo de Regresión Logística

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 te proporcionará una guía paso a paso sobre cómo crear un modelo de Regresión Logística utilizando la librería scikit-learn de Python.

Consejos sobre la VM

Una vez que se haya iniciado la VM, haz 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 tengas que esperar unos segundos a que Jupyter Notebook termine de cargar. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tienes problemas durante el aprendizaje, no dudes en preguntar a Labby. Proporciona retroalimentación después de la sesión y resolveremos rápidamente el problema para ti.


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/linear_model("Linear Models") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/linear_model -.-> lab-49205{{"Modelo de Regresión Logística"}} ml/sklearn -.-> lab-49205{{"Modelo de Regresión Logística"}} end

Importar las bibliotecas necesarias

El primer paso es importar las bibliotecas necesarias que se utilizarán en esta práctica. Vamos a utilizar numpy, matplotlib, scipy y sklearn.

import matplotlib.pyplot as plt
import numpy as np
from scipy.special import expit
from sklearn.linear_model import LinearRegression, LogisticRegression

Generar un conjunto de datos de ejemplo

El siguiente paso es generar un conjunto de datos de ejemplo, que es una línea recta con un poco de ruido gaussiano. Vamos a utilizar numpy para generar este conjunto de datos.

## Generate a toy dataset, it's just a straight line with some Gaussian noise:
xmin, xmax = -5, 5
n_samples = 100
np.random.seed(0)
X = np.random.normal(size=n_samples)
y = (X > 0).astype(float)
X[X > 0] *= 4
X += 0.3 * np.random.normal(size=n_samples)

X = X[:, np.newaxis]

Ajustar el clasificador

Después de generar el conjunto de datos, ajustaremos el clasificador utilizando LogisticRegression de scikit-learn.

## Fit the classifier
clf = LogisticRegression(C=1e5)
clf.fit(X, y)

Graficar el resultado

El último paso es graficar el resultado. Utilizaremos matplotlib para crear un diagrama de dispersión de los datos de ejemplo y graficar el modelo de regresión logística y el modelo de regresión lineal.

## and plot the result
plt.figure(1, figsize=(4, 3))
plt.clf()
plt.scatter(X.ravel(), y, label="example data", color="black", zorder=20)
X_test = np.linspace(-5, 10, 300)

loss = expit(X_test * clf.coef_ + clf.intercept_).ravel()
plt.plot(X_test, loss, label="Logistic Regression Model", color="red", linewidth=3)

ols = LinearRegression()
ols.fit(X, y)
plt.plot(
    X_test,
    ols.coef_ * X_test + ols.intercept_,
    label="Linear Regression Model",
    linewidth=1,
)
plt.axhline(0.5, color=".5")

plt.ylabel("y")
plt.xlabel("X")
plt.xticks(range(-5, 10))
plt.yticks([0, 0.5, 1])
plt.ylim(-0.25, 1.25)
plt.xlim(-4, 10)
plt.legend(
    loc="lower right",
    fontsize="small",
)
plt.tight_layout()
plt.show()

Resumen

Esta práctica proporcionó una guía paso a paso sobre cómo crear un modelo de regresión logística utilizando la biblioteca scikit-learn de Python. Comenzamos importando las bibliotecas necesarias, generando un conjunto de datos de ejemplo, ajustando el clasificador y, finalmente, graficando el resultado.