Regresión Lineal Múltiple con NumPy | Gradient Descent | Boston House Dataset

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ต.ค. 2024
  • En este video vemos como implementar el modelo de Regresión Lineal Múltiple utilizando solo NumPy. A diferencia del modelo de regresión simple, este tiene multiples variables de entradas/features/x. En este caso usamos el modelo que creamos para tratar de predecir el precio de las casas del Boston House Dataset. La idea es en base a ciertos atributos de la casa (ej. tasa de criminalidad de la zona) estimar el precio de una casa.
    Utilizamos el Error Cuadrático Medio (ECM) como función de coste, y luego calculamos las derivadas de esta función con respecto a los parámetros para optimizar el modelo mediante el Gradient Descent. Estas derivadas nos dicen como tendremos que actualizar nuestros parámetros para disminuir la función de coste los más rápido posible. Cuanto menor sea nuestra función de coste, las predicciones de nuestro modelo van a ser más precisas.
    Si bien se pueden encontrar los valores de `w_1`, `w_2`, `w_n` y `b` sin utilizar el gradient descent, es útil hacerlo de esta forma para entender más como se entrena una red neuronal. Después de todo, una Red Neuronal es un conjunto de combinaciones lineales (seguido de no linealidades, ejemplo ReLU); por lo que asemeja a las ideas vistas en este video.
    Typo en 22:29 - el broadcasting es para que el vector `s` se expanda a la dimensión de X. Más detalles en: pastecode.io/s...
    -- Código --
    Agregué lo que me faltó de separar el train set en dos. Utilice el 75% para entrenar y el 25% restante para validar que tan bien generaliza el modelo. Para esto utilizamos la función train_test_split de scikit-learn.
    github.com/ank...
    PD: Gracias @Gustavo Juantorena por el tip del zoom :)

ความคิดเห็น • 12

  • @yoverale
    @yoverale 7 หลายเดือนก่อน +1

    Explicas mejor que mis profesores, gracias por compartir todos estos tutoriales🙏🏻

  • @leila_barseg
    @leila_barseg ปีที่แล้ว

    ¡Gracias por el video!

  • @mato14
    @mato14 22 วันที่ผ่านมา

    Una pregunta, la formula de regresion lineal multiple es esa misma siempre? Y otra pregunta mas, resulta que en un tp tengo que realizar una cuenta utilizando el metodo de descenso de gradiente, entiendo que vos lo usas pero con derivadas parciales, hay alguna otra forma?

    • @andresnet1827
      @andresnet1827  21 วันที่ผ่านมา

      Hola! Sí, la fórmula general de la regresión lineal múltiple siempre es la misma. Hay otras formas de minimizar la función de coste, pero si te pidieron con Descenso de Gradiente, podrías aplicar lo que se ve en el video.

    • @mato14
      @mato14 21 วันที่ผ่านมา

      @@andresnet1827 okey, gracias!

  • @maumm5188
    @maumm5188 4 หลายเดือนก่อน +1

    Sabes dónde puedo conseguir datasets?

    • @andresnet1827
      @andresnet1827  4 หลายเดือนก่อน +1

      De este link github.com/scikit-learn/scikit-learn/blob/main/sklearn/datasets/data/boston_house_prices.csv (y después leyendo pd.read_csv).

    • @maumm5188
      @maumm5188 4 หลายเดือนก่อน

      @@andresnet1827 Algún dataset que me recomiende?

    • @andresnet1827
      @andresnet1827  4 หลายเดือนก่อน +1

      ​@@maumm5188 Hola! Te pasé el link directo del boston_house_prices porque creo que el dataset no está más disponible en scikit-learn de forma directa. Para practicar (relacionado al tema del video) hay muchos, pero yo empezaría con este. Podrías buscar más en Kaggle. Saludos!

    • @maumm5188
      @maumm5188 4 หลายเดือนก่อน

      @@andresnet1827 Gracias

  • @leila_barseg
    @leila_barseg ปีที่แล้ว

    ¿Como puedo imprimir los resultados de w1, w2,w3....wn ?

    • @andresnet1827
      @andresnet1827  ปีที่แล้ว +3

      Hola! Siguiendo el código del video link: github.com/ankandrew/TH-cam-ML/blob/main/02_regresi%C3%B3n_lineal_m%C3%BAltiple_numpy/modelo.py, podés hacer al final: print(reg_lineal_mult.w ) o de una forma mas linda: print(", ".join([f"w_{i}={w}" for i, w in enumerate(reg_lineal_mult.w, 1)]))