Varianza de Mínimos Cuadrados Ordinarios y Regresión Ridge

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, usaremos la librería scikit-learn de Python para explorar la diferencia entre el Mínimos Cuadrados Ordinarios (OLS, por sus siglas en inglés) y la Regresión Ridge. Examinaremos cómo estos dos métodos de regresión lineal se enfrentan al ruido en los datos y cómo difieren en sus predicciones.

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 algunos 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 ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills ml/sklearn -.-> lab-49230{{"Varianza de Mínimos Cuadrados Ordinarios y Regresión Ridge"}} end

Importar bibliotecas

En este paso, importaremos las bibliotecas de Python necesarias.

import numpy as np
import matplotlib.pyplot as plt
from sklearn import linear_model

Crear datos

En este paso, crearemos los datos que usaremos para nuestro análisis.

X_train = np.c_[0.5, 1].T
y_train = [0.5, 1]
X_test = np.c_[0, 2].T

Definir clasificadores

En este paso, definiremos los clasificadores de Mínimos Cuadrados Ordinarios (OLS) y Regresión Ridge.

classifiers = dict(
    ols=linear_model.LinearRegression(), ridge=linear_model.Ridge(alpha=0.1)
)

Visualizar los resultados

En este paso, visualizaremos los resultados de nuestro análisis.

for name, clf in classifiers.items():
    fig, ax = plt.subplots(figsize=(4, 3))

    for _ in range(6):
        this_X = 0.1 * np.random.normal(size=(2, 1)) + X_train
        clf.fit(this_X, y_train)

        ax.plot(X_test, clf.predict(X_test), color="gray")
        ax.scatter(this_X, y_train, s=3, c="gray", marker="o", zorder=10)

    clf.fit(X_train, y_train)
    ax.plot(X_test, clf.predict(X_test), linewidth=2, color="blue")
    ax.scatter(X_train, y_train, s=30, c="red", marker="+", zorder=10)

    ax.set_title(name)
    ax.set_xlim(0, 2)
    ax.set_ylim((0, 1.6))
    ax.set_xlabel("X")
    ax.set_ylabel("y")

    fig.tight_layout()

plt.show()

Resumen

En este laboratorio, aprendimos cómo usar la biblioteca de scikit - learn de Python para explorar la diferencia entre Mínimos Cuadrados Ordinarios (OLS) y Regresión Ridge. Vimos cómo estos dos métodos de regresión lineal se enfrentan al ruido en los datos y cómo difieren en sus predicciones. También visualizamos los resultados de nuestro análisis.