Qué son y cómo crear Meta-Clasificadores o Meta-Regresores: Bagging en Machine Learning con Python

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ต.ค. 2024

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

  • @CodigoMaquina
    @CodigoMaquina  2 ปีที่แล้ว +1

    👉 Xiperia ofrece consultoría empresarial que transforma datos en conocimiento accionable para alcanzar los objetivos de tu negocio. Conoce más en www.xiperia.com

  • @andresbetancur3469
    @andresbetancur3469 ปีที่แล้ว +1

    Tu contenido es muy nutritivo y que bueno que mantienes la interacción tan pronta con tus seguidores... Muchas gracias, estoy aprendiendo mucho con tus videos.

    • @CodigoMaquina
      @CodigoMaquina  9 หลายเดือนก่อน

      @andresbetancur3469 muchas gracias por tus comentarios. Lamento no responder rápido. Los últimos meses del año pasado fueron muy intensos, pero igualmente gratificantes. Te agradezco que sigas el contenido del canal y deseo mucha felicidad para ti y tu familia en el 2024!

  • @jrobledo25
    @jrobledo25 2 ปีที่แล้ว +1

    ¡Excelente explicación Octavio! Más contenido así, por favor.

    • @CodigoMaquina
      @CodigoMaquina  2 ปีที่แล้ว

      Muchas gracias :) Poco a poco cubriré más temas de machine learning. Gracias por seguir al canal.

  • @andresbetancur3469
    @andresbetancur3469 ปีที่แล้ว +1

    Qué tan correcto es además el hecho de tomar la métrica con todos los datos, dado que al pasarle todos los datos a la métrica de rendimiento estamos también pasandole datos que fueron vistos por el modelo durante el entrenamiento, este 30% enn ocasiones podría llevarnos a una sobreestimación del modelo?

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

      Hola @andresbetancur3469 ciertamente evaluar los modelos con los datos de entrenamiento es incorrecto. De hecho, por ahí del minuto 20:28 indico que me tomé esa libertad por cuestiones de focalizar el video. En el siguiente video platico más sobre la evaluación apropiada de los modelos: th-cam.com/video/Qnth2VXopLg/w-d-xo.html
      Muchos de los videos que hago en el canal están diseñados para verse 1) sin prerrequisitos, 2) en casi cualquier orden y 3) lo más focalizados posible. Esto ciertamente conlleva un costo y este mayoritariamente se refleja en la sobre-simplificación de los temas con todo lo que esto implica. Aun sigo buscando ese balance entre simplicidad y completitud que sea ideal para quienes van entrando a estos temas. Gracias por la retroalimentación :)

  • @andresbetancur3469
    @andresbetancur3469 ปีที่แล้ว +1

    KNN regressor sí es un modelo lineal? en tu video anterior sobre KNN regressor hiciste enfasis en que R2 se usara solo en modelos lineales

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

      Hola @andresbetancur3469 muchas gracias por tu observación, la cual es enteramente válida. Como se discute en (Spiess & Neumeyer, 2010), ciertamente la evaluación de modelos de regresión no lineales usando R2 no es enteramente adecuada. De hecho, Spiess y Neumeyer sugieren utilizar el Criterio de Información de Akaike, el cual mencionan como una medida ampliamente aceptada para medir la validez de varios modelos no lineales. Al menos debí mencionarlo en el video. Sin embargo, aquí queda tu comentario como fe de erratas e información complementaria. Gracias por seguir el contenido del canal y por interactuar :)
      Referencia
      Spiess, A. N., & Neumeyer, N. (2010). An evaluation of R2 as an inadequate measure for nonlinear models in pharmacological and biochemical research: a Monte Carlo approach. BMC pharmacology, 10(1), 1-11.

  • @mateosanchez334
    @mateosanchez334 2 ปีที่แล้ว +1

    Hola Octavio! Primero que todo te quería agradecer por tu canal, es una gran ayuda para entender o aclarar conceptos con tu gran manera de enseñar.
    Tengo una pregunta: Puedo pasarle a mi meta clasificador diferentes "base_estimator"?
    Algo como:
    n = 1
    clasificador = {
    'LinearSCV': LinearSVC(),
    'Kneighbors' : KNeighborsClassifier()
    }
    for name, clasificador in clasificador.items():
    bag = BaggingClassifier(base_estimator=clasificador, n_estimators=n).fit(X_train, y_train)

    • @CodigoMaquina
      @CodigoMaquina  2 ปีที่แล้ว

      Muchas gracias por tus comentarios. Con respecto a tu pregunta, en el caso del BaggingClassifier no se puede, pero con otros métodos de ensemble como votos y apilamiento sí se puede. En un futuro pienso hacer videos sobre esos dos métodos, sin embargo, una vez entendiendo el BaggingClassifier es fácil entender cómo funcionan esos métodos. Te recomiendo echarle un ojo a los siguientes vínculos:
      scikit-learn.org/stable/modules/generated/sklearn.ensemble.StackingClassifier.html#sklearn.ensemble.StackingClassifier
      scikit-learn.org/stable/modules/generated/sklearn.ensemble.VotingClassifier.html#sklearn.ensemble.VotingClassifier

  • @elizabethguevara9534
    @elizabethguevara9534 ปีที่แล้ว +1

    Como se hace cuándo te dan dos valores de x y no tenes una variable y. Por ejemplo un cliente tiene 2 coordendas x1 y x2 donde x1 es lo primero q ve y x2 lo segundo q ve en la pagina web. Me podria orientar

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

      Elizabeth gracias por ver el contenido del canal y por tu pregunta. Sin conocer el contexto del proyecto, aquí van algunos comentarios que tal vez puedan ayudar. Un primer paso que se podría realizar sería definir una potencial hipótesis a explorar, es decir, en función de tus objetivos, plantea una pregunta (asociada a tus datos) que te gustaría responder. Por ejemplo, algunas preguntas podrían ser ¿existe en una relación entre x1 y x2? ¿existen agrupamientos entre los clientes en función de x1 y x2? Si tienes otros datos, por ejemplo, si el cliente realizó o no una compra, podrías preguntarte ¿si es posible diferenciar a los compradores de los no compradores en función de x1 y x2? Estas preguntas se definen a partir de tus objetivos de negocio, lo cual te ayudará a determinar el tipo de técnica a utilizar, por ejemplo: clasificación o clusterización.

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

      @@CodigoMaquina muchas gracias use clustering pero no me cierra los resultados, ya que x1 es lo primero q ve el cliente en la pantalla(coordenada de x) y lo segundo que ve x3(tambien coordenada en x)