Introducción
En este proyecto, aprenderás a implementar el método de Mínimos Cuadrados Ordinarios (OLS, por sus siglas en inglés) en Python. El OLS es una técnica fundamental de optimización matemática utilizada en el aprendizaje automático, particularmente en problemas de regresión lineal.
🎯 Tareas
En este proyecto, aprenderás:
- Cómo implementar la función OLS para calcular la pendiente (w1) y el intercepto (w0) de una ecuación lineal basada en datos de muestra.
- Cómo probar la función OLS con datos de muestra y verificar la corrección de los resultados.
🏆 Logros
Después de completar este proyecto, serás capaz de:
- Derivar las fórmulas OLS para calcular la pendiente y el intercepto de una ecuación lineal.
- Implementar la función OLS en Python sin utilizar ninguna librería externa.
- Probar y validar la función OLS con datos de muestra.
- Comprender la importancia del método OLS en el aprendizaje automático y en problemas de regresión lineal.
Implementar la función de mínimos cuadrados
En este paso, implementarás la función de Mínimos Cuadrados Ordinarios (OLS, por sus siglas en inglés) en Python. Sigue los pasos siguientes para completar este paso:
Abre el archivo
least_squares.pyen tu editor de texto.Implementa la función
least_squares_functionde acuerdo con las especificaciones proporcionadas:- La función debe tomar dos parámetros de entrada:
x(una lista de valores de muestra de x) yy(una lista de valores de muestra de y). - La función debe calcular la pendiente (
w1) y el intercepto (w0) de la ecuación lineal utilizando las fórmulas OLS proporcionadas en la descripción del desafío. - La función debe redondear los valores calculados de
w0yw1a dos lugares decimales antes de devolverlos. - La función debe devolver los valores de
w0yw1en ese orden.
- La función debe tomar dos parámetros de entrada:
A continuación se muestra la implementación completada de least_squares_function:
def least_squares_function(x, y):
"""
Parámetros:
x -- lista de valores de muestra de x
y -- lista de valores de muestra de y
Devuelve:
w0 -- parámetro de la ecuación lineal, redondeado a dos lugares decimales
w1 -- parámetro de la ecuación lineal, redondeado a dos lugares decimales
"""
n = len(x)
## Calcula las sumas necesarias para la pendiente (w1) y el intercepto (w0)
sum_x = sum(x)
sum_y = sum(y)
sum_xy = sum(x_i * y_i for x_i, y_i in zip(x, y))
sum_x_squared = sum(x_i**2 for x_i in x)
## Calcula la pendiente (w1) y el intercepto (w0) utilizando las fórmulas OLS
w1 = (n * sum_xy - sum_x * sum_y) / (n * sum_x_squared - sum_x**2)
w0 = (sum_y - w1 * sum_x) / n
## Redondea a dos lugares decimales
w0 = round(w0, 2)
w1 = round(w1, 2)
return w0, w1
- Guarda el archivo
least_squares.py.
Probar la función de mínimos cuadrados
En este paso, probarás la función least_squares_function que implementaste en el paso anterior.
- Puedes ver el siguiente código al final del archivo para probar la función
least_squares_function:
## Uso de ejemplo
if __name__ == "__main__":
x_example = [1, 2, 3, 4]
y_example = [4, 5, 6, 7]
result = least_squares_function(x_example, y_example)
print("w0:", result[0])
print("w1:", result[1])
- Ejecuta el script
least_squares.pyen tu terminal:
python3 least_squares.py
Deberías ver la siguiente salida:
w0: 3.0
w1: 1.0
Esta salida confirma que la función least_squares_function está funcionando como se esperaba.
¡Felicitaciones! Has implementado con éxito la función de Mínimos Cuadrados Ordinarios en Python. En los siguientes pasos, puedes explorar cómo utilizar esta función en un problema real de aprendizaje automático.
Resumen
¡Felicitaciones! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.



