Hola, ¿Cómo funciona el código que dice np.sum((x - m_x) * (y - m_y))? Es decir, x es un conjunto de datos (ejemplo: 5 objetos) y cada un...

Bruno Cornelio

Bruno Cornelio

Pregunta
studenthace 4 años

Hola, ¿Cómo funciona el código que dice np.sum((x - m_x) * (y - m_y))? Es decir, x es un conjunto de datos (ejemplo: 5 objetos) y cada uno tiene un orden, lo mismo para y. Entonces python agarra el promedio de esta lista y lo resta por cada uno de sus datos, esto me daría otro conjunto de 5 objetos en esa operación, lo mismo para y - m_y. Según tenía entendido, si multiplicamos estos dos conjuntos me tendría que dar 25 objetos (?). Es un poco confuso ya que también sería lógico decir que haga la sumatoria de estos 25 objetos. Entonces para que la lógica funcione, python acá respeta el orden del conjunto x y del conjunto y y solo hace la multiplicación entre los que están en el mismo numero de orden, cierto? Cómo haría con un conjunto desigual, x tiene 5 e y tiene 6 objetos (caso que no tiene nada que ver), mi teoría es que solo hace la multiplicación de todos los objetos del grupo x y solamente los 5 primeros del conjunto.

1 respuestas
para escribir tu comentario
    Daniela Betancur

    Daniela Betancur

    studenthace 4 años

    hola bruno, fijate que en main tenemos un pedacito de la funcion main

    def main(): #dataset x=np.array([1,2,3,4,5]) y=np.array([2,3,5,6,5]) #es una lista que comezara a iterar mas adelante # aca llamamos a esta funcionmiremos que contiene #obtenemos b1 y b2 b= estimate_b0_b1(x,y) #veamos esta funcion def estimate_b0_b1(x,y): n= np.size(x) #nos ayuda a contar el tamaño de x #calculo de los promedios de x y y m_x, m_y = np.mean(x), np.mean(y) #se calcula el promedio de los valores x Y y #calculo sumatoria de xy y sumatoria de xx sumatoria_xy= np.sum((x-m_x)*(y-m_y))

    ahora mira, lo importante aca es que como se indica en el video sum se refiere a sumatoria no a una suma aritmética "+" eso hace que para cada valor x en la posición cero de mi lista. fijate que le damos un argumento esta operacion:

    (x - m_x) * (y - m_y)

    indica, x=np.array([1,2,3,4,5]) se reste con el promedio m_x y luego se multiplique con la operacion similar (y-m_y) donde se esta iterando y=np.array([2,3,5,6,5])... y luego vamos hacer todo con la posicion 0.. en numeros seria algo como:

    recuerda: m_x=3 m_y=4.2 primera iteracion pocision 0, x=1 y=2 (1-3)(2-4.2) (-2)(-2.2)= 4,4

    ahora la segunda iteración posición , x=2 y=3 (1-2)*(3-4.2)= 1.2 ...

    asi continuamos y tendremos 5 resultados que seran= 4,4 1,2 0 1.8 1.6

    ahora sum hará la sumatoria y arrojara el valor de 9

    solo nos dara un valor, en 5 iteraciones que realizo... hizo todos estos calculos por que se lo pedimos en

    si quieres te fijas haciendo un print en estimate_bo_b1

    def estimate_b0_b1(x,y): n= np.size(x) #nos ayuda a contar el tamño de x #calculo de los promedios de x y y m_x, m_y = np.mean(x), np.mean(y) #calculo sumatoria de xy y sumatoria de xx sumatoria_xy= np.sum((x-m_x)*(y-m_y)) sumatoria_xx= np.sum(x*(x-m_x)) print(sumatoria_xy)

    has la opraciones a mano como lo pidio el profe y todo te quedara muy claro

Curso Práctico de Regresión Lineal con Python

Curso Práctico de Regresión Lineal con Python

La regresión lineal es un algoritmo de aprendizaje supervisado que se utiliza en Machine Learning y estadística. Aprende la lógica detrás de este algoritmo. Usando Python, el lenguaje de programación de alto nivel y de propósito general, podrás programar de manera sencilla un algoritmo de regresión lineal para analizar datos continuos y encontrar patrones. ¡Aprende con Platzi en este curso aplicado!

Curso Práctico de Regresión Lineal con Python
Curso Práctico de Regresión Lineal con Python

Curso Práctico de Regresión Lineal con Python

La regresión lineal es un algoritmo de aprendizaje supervisado que se utiliza en Machine Learning y estadística. Aprende la lógica detrás de este algoritmo. Usando Python, el lenguaje de programación de alto nivel y de propósito general, podrás programar de manera sencilla un algoritmo de regresión lineal para analizar datos continuos y encontrar patrones. ¡Aprende con Platzi en este curso aplicado!