Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Llevando nuestro algoritmo a Python

7/10
Recursos

Aportes 32

Preguntas 9

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Para el que tenga dudas, en este caso

np.sum(x*(x-m_x))

es igual a

np.sum((x-m_x)**2)

😃

Como buena práctica, una variable no empieza con mayúscula (Sumatoria).

Las formulas



No conocía la herramienta de Google Colaboratory. Interesante.

🟢IMPORTANT!
¿Se te hizo poco natural que en la sumatoria de XX multiplicara a X para elevar al cuadrado?

.
A mí también, así que puedes hacerlo de esta manera:

.
Mientras el código maneje un lenguaje más natural, será más fácil de interpretar

La formula, la pueden encontrar como el método de mínimos cuadrados ordinarios, en google imagenes.

Para este caso en particular es mucho mas sencillo calcular los estimadores de forma matricial en donde ^B = (X^T X)^(-1)X^TY, con B^T =(b_0, b_1) , X es la matriz diseño y Y es el vector de observaciones de la variable objetivo

La función simplificada:
a en lugar de b1 y b en lugar de b0

def linear_regression(X, Y, x):
    """
    X, Y ---> numpy.ndarray
    x ---> int, float
    Return the prediction given a value of a linear regression with the form: a*x + b.
    """
    m_X = np.mean(X)
    m_Y = np.mean(Y)
    a = np.sum((X -  m_X) * (Y - m_Y)) / np.sum((X - m_X)**2)
    b = m_Y - a * m_X
    return a * x + b

por que sumatoria_xx es una multiplicación de X, en clases pasadas aparecia como un cuadrado?

¿Cuáles son los pros y contras de Jupyter y Google Colab?

Este profesor explica un poco mal, se pone nervioso y tartamudea y tiene detalles que me hacen perder la concentración, lo digo a modo de critica constructiva, tal vez deba tomar el curso de platzi de hablar en publico y esa rama para ganar confianza a la hora de explicar y expresarse.

Esperaba que este curso fuera con python jupyter (notebook), ya que los cursos anteriores que dicen python es con jupyter, del contrario deberia llamarse solo curso de regresion lineal.

Excelente clase vamos por mas

Aporte:

def estimate_b0_b1(x ,y):
n = np.size(x)
#obtenemos los promedio de X y de Y
m_x, m_y = np.mean(x), np.mean(y)

#Calcular sumatoria de XY y sumatoria de XX
sumatoria_xy = np.sum((x-m_x)*(y-m_y))
sumatoria_xx = np.sum(pow((x-m_x), 2))
_#Para que sea más congruente con la ecuación a lapiz se elevo el denominador de la misma al cuadrado._
#coeficientes de regresion

b_1 = sumatoria_xy / sumatoria_xx
b_0 = m_y - b_1*m_x

return (b_0, b_1)
hasta qué punto numpy puede ser útil ya con datasets grandes?? o sea cuál es su límite??

Se alguno le interesa saber de donde se obtene la formula de los minimos cuadrados les dejo este enlace
https://www.youtube.com/watch?v=twvetj6-Ydc

Si quieren escribir fórmulas matemáticas en Google Colab, simplemente ponen un bloque de texto y usan Latex, que es como un lenguaje para escribir fórmulas matemáticas en texto plano (como Markdown)

Esta sería la formula para b_1, si la copian y pegan aparecerá la fórmula:

$$\frac{\sum{(x-\bar{x})(y-\bar{y})}}{\sum{(x-\bar{x})^2}}$$

**Esta es la formula de Regresión Lineal **

Usamos las librerías:
Numpy: Para poder utilizar las sumas de Riemann y promedios
Matplotlib: Para Poder graficar la línea de regresión

import numpy as np
import matplotlib.pyplot as plt


def estimate_b0_b1(x, y):
    n = np.size(x)
    #obtenemos los promedio de x y de y
    m_x, m_y = np.mean(x), np.mean(y)

    #calcular la sumatoria de xy y de xx
    sumatoria_xy = np.sum((x-m_x)*(y-m_y))
    sumatoria_xx = np.sum(x(x-m_x))

    #coeficientes de regresion
    b_1 = sumatoria_xy / sumatoria_xx
    b_0 = m_y - b_1*m_x
    return(b_0, b_1)

Formulas de Regresión Lineal

No se si soy solo yo o que, pero entiendo mejor las matemáticas en código que al natural 😂😂😂

Genial google colab. Se puede insertar un cuadro de texto en lugar de uno de código y se pueden escribir las ecuaciones en formato latex.

## Recta de regresión
$y = b_{0} + b_{1}x$

## Mínimos cuadrados
$b_{1}$ = $\frac{(x - \bar x) (y - \bar y)}{\sum (x - \bar x)^2}$

obteniendo este hermoso resultado

Haciendo en 2 lineas lo que habia hecho en 6, es realmente util conocer las funciones de las librerias que se manejan :3

¿De cual formula habla? Porque la anterior formula que vimos fue la de y= b1 + b2X, sino mal recuerdo

Faltò agregarle el cuadrado al denominador

Genial

excelente,

Jamás creí que me emocionaría tanto por ver una gráfica 😅