Análisis de Componentes Principales (PCA) para Reducir la Dimensionalidad de Datos usando Python

Поделиться
HTML-код
  • Опубликовано: 4 ноя 2024

Комментарии • 112

  • @CodigoMaquina
    @CodigoMaquina  2 года назад +3

    👉 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

  • @alexisdejesusmoroscampuzan45
    @alexisdejesusmoroscampuzan45 Год назад +19

    Maestro, que explicación tan espectacular. Eres como un Carl Sagan del Machine Learning.

    • @CodigoMaquina
      @CodigoMaquina  Год назад +1

      Eres muy amable Alexis, agradezco muchos tus comentarios 😊

    • @careduvir
      @careduvir 9 месяцев назад +3

      Totalmente de acuerdo, la explicación de las sombras me hizo poder ver una luz en medio de mi oscuridad jajaja.

    • @careduvir
      @careduvir 9 месяцев назад +1

      @@CodigoMaquina excelente trabajo

  • @jeanpierv.1728
    @jeanpierv.1728 Месяц назад +1

    Me suscribiría y vería los cursos , pero debes ordenarlos , la lista está toda combinada

  • @calito44
    @calito44 5 месяцев назад +1

    Mister, yo tome hasta un curso de algebra lineal para entender el bendito asunto de las PCA, y si puedo hacer todo el elemento de la descomposicion y lo frikines eigenvector pero no es hasta ahora con este video que todo me hace sentido. Un nuebo subscriptor.

  • @nicolasbascurmunoz1449
    @nicolasbascurmunoz1449 2 месяца назад +1

    Eres increíble amigo, la facilidad y fluidez que tienes para explicar todo esto. Muchas gracias por toda esta valiosa información. Saludos desde Chile!

    • @CodigoMaquina
      @CodigoMaquina  Месяц назад

      Gracias por tus comentarios. Saludos hasta Chile!!

  • @ceciliabress9671
    @ceciliabress9671 5 месяцев назад +1

    La mejor explicación que he encontrado!! Felicitaciones

  • @alonsocortes2341
    @alonsocortes2341 7 месяцев назад +1

    Apenas descubrí tu canal y vaya que cosas que vi en la maestria son mucho más fáciles de entender, excelente trabajo!

  • @JavierSalazar-i4f
    @JavierSalazar-i4f 3 месяца назад +2

    Excelente introducción, te agradezco la explicación intuitiva de los conceptos de PCA

    • @CodigoMaquina
      @CodigoMaquina  3 месяца назад

      Muchas gracias por interactuar con el contenido del canal!!!

  • @edwardbrandt4868
    @edwardbrandt4868 17 дней назад

    Muy buena explicación. Me ayudo a comprender PCA y como se relaciona con la dimensionalidad de datos. Me gustaria saber en la practica, cuando se trabaja con redes neuronales o algoritmos de ML, a partir de que cantidad de variables se recomienda aplicar PCA.

  • @TheDannydrum
    @TheDannydrum Год назад +5

    Todo esto es hermoso cuando lo terminas entendiendo con un video que lo explica de una manea tan perfecta.

  • @JesúsLópezLópez-u6q
    @JesúsLópezLópez-u6q 5 месяцев назад +1

    Explicación esplendida, exquisita, perfecta.

  • @marianocastelli5172
    @marianocastelli5172 Месяц назад

    Muchas gracias por la excelente clase, me sirvió muchisimo. Saludos!

  • @OscarZunigaM
    @OscarZunigaM 6 месяцев назад +1

    Excelente explicación. Muy claro todo. Un nuevo suscriptor

  • @etm2967
    @etm2967 Год назад +2

    Un G.O.A.T explicando la salva el semestre al más bruto"

    • @CodigoMaquina
      @CodigoMaquina  Год назад

      @etm2967 gracias por confiar en el contenido del canal

  • @Aletiometro
    @Aletiometro Год назад +2

    Gracias por explicar el funcionamiento de este algoritmo de scikitlearn que me lo recomiendan para reduccion de dimensionalidad de manera clara

    • @CodigoMaquina
      @CodigoMaquina  Год назад

      Muchas gracias por apoyarnos y creer en este proyecto. @CodigoMaquina ha sido uno de los proyectos más bonitos que hemos emprendido en nuestras vidas, y el ver que otras personas también creen en él, nos llena de motivación. ¡¡¡Muchas gracias!!!

  • @sebastianescalar4073
    @sebastianescalar4073 Год назад +2

    tremendísima explicación, llevo un tiempo trabajando con esto y me costaba mucho porque no lo entendía bien, pero con esto me hizo todo el sentido del mundo. Felicidades por sus videos!!!!

  • @victorernestovelandiasuare3780
    @victorernestovelandiasuare3780 2 месяца назад +1

    Muchas gracias, muy clara y completa la explicación

  • @edgargonzalezambriz5264
    @edgargonzalezambriz5264 3 месяца назад +2

    Muchas gracias profesor

  • @ivanflorez2150
    @ivanflorez2150 2 года назад +4

    Tu canal vale oro, muchas gracias por compartir tu conocimiento

  • @familiaduranromero2931
    @familiaduranromero2931 2 года назад +3

    Excelente video Prof. Octavio, se entendió con mucha facilidad. Muchas gracias por su aporte. Elio Duran desde Vzla.

    • @CodigoMaquina
      @CodigoMaquina  2 года назад

      Elio, muchas gracias por tus comentarios. Nos alegra saber que los videos te son de utilidad. Saludos!!

  • @carolinamora8848
    @carolinamora8848 6 месяцев назад +1

    Excelente video, una pregunta, cuándo se debe usar la matriz de correlación y cuándo usar la matriz de covarianza? de qué depende?

  • @bot902
    @bot902 11 месяцев назад +2

    GENIAL, yo veo todos tus videos

    • @CodigoMaquina
      @CodigoMaquina  10 месяцев назад

      @bot902 muchas gracias por ver los videos y por interactuar con el contenido del canal. Eso nos ayuda a llegar a más personas :)

  • @josebernahola1387
    @josebernahola1387 Год назад +2

    Excelente explicación profesor Octavio, me sirvió mucho!

  • @franklinriabanimercadoflor3093
    @franklinriabanimercadoflor3093 Месяц назад +2

    Espectacular

  • @cml6012you
    @cml6012you Год назад +2

    EXCELENTE, super didáctico, muchas gracias

    • @CodigoMaquina
      @CodigoMaquina  Год назад

      Me da mucho gusto que el video sea de tu agrado Manuel. Saludos!!

  • @eduardoarevalo7034
    @eduardoarevalo7034 5 месяцев назад

    Octavio, excelente explicación como siempre, muchas gracias. Cómo sé por ejemplo cuanto tebemos muchas mas variables, cuáles son ese conjunto de variables que están representadas con mayor impacto en cada componente? Estoy en un proceso de selección de características y se me ha hecho un poquito difícil seleccionar las adecuadas para el modelo.

  • @cheli3030
    @cheli3030 Год назад +1

    Hola, está muy clara la explicación. Estoy haciendo mi tesis y trabajando con una base de datos de 33 variables, el objetivo es clasificar las observaciones en "Maligno" o "Benigno", ya apliqué PCA, pero no sé cómo continuar, tendría que aplicar k-means a estas nuevas variables? y cómo podría interpretarlo? Gracias anticipadas

    • @CodigoMaquina
      @CodigoMaquina  10 месяцев назад +1

      @cheli3030 gracias por tu comentario y por tu pregunta. Después de reducir las dimensiones, habría que utilizar un clasificador (ejemplo, regresión logística). Después de una búsqueda en la web, encontré el siguiente ejemplo que espero te sea de utilidad: www.kaggle.com/code/akhileshrai/pca-for-visualisation-classification

    • @cheli3030
      @cheli3030 10 месяцев назад +1

      @@CodigoMaquina Mil gracias

  • @raulsegioespejoticona9222
    @raulsegioespejoticona9222 2 года назад +1

    geniel explicacion de PCA

    • @CodigoMaquina
      @CodigoMaquina  2 года назад

      Muchas gracias por tus comentarios y por seguir el contenido del canal :)

  • @camilajs7582
    @camilajs7582 2 года назад +2

    Son geniales tus clases! Podrías abarcar el tema LDA con el análisis de todos sus atributos?

    • @CodigoMaquina
      @CodigoMaquina  2 года назад

      Muchas gracias por tus comentarios. LDA es un tema super interesante y avanzado, el cual efectivamente me encantaría incluir en el canal. Poco a poco llenaré el canal de todos esos temas. Gracias por seguir el contenido del canal :)

  • @joseleonardosanchezvasquez1514
    @joseleonardosanchezvasquez1514 2 года назад +4

    Muy buena explicación pero te falto mostrar el nuevo conjunto de datos y comparar los dos dataframe, aunque las graficas lo muestran siempre es bueno visualizar los cambios en el dataframe, es decir el primero tenia dos columnas y el segundo dataframe solo una columna debido a la reducción de dimensionalidad. Muchas gracias lo haces muy bien.
    Tienes algún ejemplo de PCA con aprendizaje supervisado??

    • @CodigoMaquina
      @CodigoMaquina  2 года назад +1

      Muchas gracias por interactuar en el canal y por la retroalimentación. Al momento, es nuestro único video sobre PCA, aunque es muy probable que en un futuro incluyamos más videos sobre PCA y ahí aplicaremos las sugerencias. Gracias :)

    • @joseleonardosanchezvasquez1514
      @joseleonardosanchezvasquez1514 2 года назад +1

      @@CodigoMaquina Gracias

    • @jeisonlopez2044
      @jeisonlopez2044 Год назад

      @@CodigoMaquina Gracias

  • @daron98
    @daron98 Год назад +1

    Maravilloso video.

  • @gonzaloyoutube9463
    @gonzaloyoutube9463 Год назад +1

    Fenomenal vídeo, muchas gracias. Me cabe la duda de cómo modificar el código si por ejemplo tengo 6 variables numéricas en el DataSet

    • @CodigoMaquina
      @CodigoMaquina  Год назад +1

      Muchas gracias por tus comentarios y por la pregunta. La implementación que hice de PCA paso a paso para ejemplificar y explicar la técnica sí requiere ajustes para trabajar con más variables. Sin embargo, la implementación de PCA provista por sklearn realmente no requiere ningún ajuste pues ya trabaja con datos multidimensionales. De hecho, mi recomendación es usar directamente la implementación de sklearn.

  • @evaristegalois9832
    @evaristegalois9832 2 года назад +1

    Un buen video como siempre. Saludos desde Ecuador

  • @ingsamariojrg
    @ingsamariojrg 9 месяцев назад

    Buenas, excelente contenido..por favor colaboreme resolviendo una duda, si tengo unas variables categóricas las cuales he codificado inicialmente con el OneHotEncoder, las columnas resultantes de hacer este etiquetado o codificación, no se deben incluir en el Análisis de Componentes Principales cierto? Nisiquiera las debo estandarizar, es así?. Muchas gracias quedo atento

  • @rockophill3934
    @rockophill3934 2 года назад +1

    Gracias Maestro Octavio!!

    • @CodigoMaquina
      @CodigoMaquina  2 года назад

      Gracias a ti por comentar. Saludos Rocko!!

  • @johnbermudez1488
    @johnbermudez1488 Год назад +1

    Buenas tardes, muy buen video, felicitaciones. ¿puedes hacer un video sobre el método PARAFAC usando python? gracias

    • @CodigoMaquina
      @CodigoMaquina  Год назад

      @johnbermudez1488 PARAFAC es un tema muy interesante. Uno de estos días damos la sorpresa y hacemos el video. Sin embargo, dentro de este tema, llegará primero un video sobre t-SNE. Gracias por seguir el contenido del canal :)

  • @luisnava1289
    @luisnava1289 10 месяцев назад

    Buen vídeo bastante bien explicado aunque debo decir que no entendí muy bien lo que tiene que ver con álgebra lineal sin embargo aclaro que esto es debido a que en mi escuela aun no me han enseñado eso,por eso te hago la pregunta de ¿Que cosas de álgebra lineal debería aprender? saludos y gracias por enseñarnos :)

  • @LuisSantanaDelacruz
    @LuisSantanaDelacruz Год назад +1

    Muchas gracias por tu excelente video. Sólo me queda la duda de qué hacer con la gráfica obtenida, ¿cómo la puedo interpretar? ¿Qué me dice cada componente principal?

    • @CodigoMaquina
      @CodigoMaquina  Год назад +1

      Estimado Luis muchas gracias por tus comentarios y preguntas. Este mecanismo nos ayuda a determinar la proporción de la varianza del conjunto de datos que se encuentra a lo largo del eje de cada componente principal. En realidad, PCA tiene varias aplicaciones muy importantes. Por ejemplo, el simple hecho de que podamos graficar múltiples variables en 2D o 3D nos puede ayudar a detectar patrones o clusters atacando así la maldición de dimensionalidad. Gracias por ver el contenido del canal :)

  • @jesusmanuelnietocarracedo9701
    @jesusmanuelnietocarracedo9701 Год назад +1

    Genial explicación, ahora tengo una pregunta, entiendo que si en lugar de 2 variables tenemos 3, donde la tercera fuera la dependiente, y estas 2 variables las independientes, podríamos crear un modelo de regresión, con esta nueva variable que hemos creado de la combinación-reducción de la anterior? Disculpa la pregunta pero estoy empezando a entender estos algoritmos.

    • @CodigoMaquina
      @CodigoMaquina  Год назад +1

      Estimado @jesusmanuelnietocarracedo9701 gracias por la pregunta. Si entendí bien, deseas aplicar una técnica de reducción de dimensionalidad como PCA sobre las variables independientes y después construir un modelos de regresión lineal. Hacer eso es factible, sin embargo, perderías la interpretabilidad que obtienes al utilizar un modelo de regresión lineal. En este caso, te recomendaría utilizar alguna técnica de regularización como LASSO para que conserves la interpretabilidad y construyas un modelo más simple.

  • @israelmg1749
    @israelmg1749 Год назад +1

    Saludos, tío Código Máquina

    • @CodigoMaquina
      @CodigoMaquina  10 месяцев назад

      @israelmg1749 todo lo mejor para ti y tu familia :)

  • @luisgil267
    @luisgil267 Год назад +1

    Gran video, una pregunta. Una vez que tengo una lista de datos proyectados y eligo aquellos con mayor varianza, ¿Ese nuevo vector es el que se debe usar para el analisis que quiera relalizar pero ahora con una variable menos?

    • @CodigoMaquina
      @CodigoMaquina  Год назад +1

      Hola Luis gracias por tus comentarios y por la pregunta, la cual se responde con un gran SÍ. Una vez que tienes tus datos "reducidos" puedes ejecutar algún tipo de análisis, por ejemplo, clustering.

  • @danielguardia5780
    @danielguardia5780 Год назад +1

    Muy buen video, hay posibilidad de que puedas ejecutar un PCA de 3 variables?

    • @CodigoMaquina
      @CodigoMaquina  Год назад +1

      Gracias por tus comentarios Daniel. Sí, efectivamente se puede aplicar PCA con 3 o muchas más variables. Creo que este tema amerita al menos un video más donde se presente una aplicación real y más compleja. Ojalá pronto podamos prepararlo :)

  • @arturo3138
    @arturo3138 6 месяцев назад +1

    Excelente, pero te falto lo mas importante, cómo interpretar los nuevos datos proyectados.

  • @10955356
    @10955356 9 месяцев назад

    Excelente video

  • @isacclazaro5259
    @isacclazaro5259 5 месяцев назад

    Se podrá usar parafac en lugar de PCA?

  • @adrian4150
    @adrian4150 28 дней назад +1

    videaso

  • @tapagocha11
    @tapagocha11 8 месяцев назад

    Buen video!! Excelente!!

  • @JuanPablo-ce3du
    @JuanPablo-ce3du 2 года назад +1

    Gracias Maestro !

  • @patricklandia1
    @patricklandia1 Год назад +1

    Que crack!, ya me suscribi

    • @CodigoMaquina
      @CodigoMaquina  10 месяцев назад

      @patricklandia1 muchas gracias!!!

  • @jortigasperu
    @jortigasperu Год назад +1

    hola Profesor, una consulta.. se podrá reducir dimensiones a datos cualitativos? Saludos

    • @CodigoMaquina
      @CodigoMaquina  Год назад +1

      José muchas gracias por esta pregunta tan relevante e interesante. Si deseas reducir la dimensionalidad de datos categóricos, échale un ojo a la técnica de "Multiple Correspondence Analysis". Aquí va una referencia:
      Abdi H, Valentin D. Multiple Correspondence Analysis. Encyclopedia of Measurement and Statistics. 2007. 10.4135/9781412952644

    • @jortigasperu
      @jortigasperu Год назад +1

      @@CodigoMaquina gracias!!

  • @gabopython
    @gabopython 2 года назад +1

    rayos, esta increible

    • @CodigoMaquina
      @CodigoMaquina  2 года назад

      Muchas gracias por tus comentarios Gabriel :)

  • @mauriciooffermann5446
    @mauriciooffermann5446 Год назад +1

    Ya, pero no me quedó claro, en qué momento es conveniente hacer la reducción de dimensionalidad 😊😊😊😊😊😊en qué momento no? Qué indicador es el que se deben mirar para saber si uno debe hacerlo o no?

    • @CodigoMaquina
      @CodigoMaquina  Год назад

      Mauricio gracias por seguir el contenido del canal y por la pregunta, las cual es muy interesante y muy difícil de responder, pero aquí va un intento. El reducir la dimensionalidad de los datos depende enteramente del dominio. En algunas ocasiones deseas simplemente saber si existe algún componente que explique en mayor medida la varianza del conjunto de datos. En otras ocasiones se busca mitigar la maldición de la dimensionalidad (ruclips.net/video/nhgCwWGNDiM/видео.html). En otras ocasiones ayuda a visualizar datos multidimensionales. Debo mencionar que hay más aplicaciones de la reducción de la dimensionalidad vía PCA, sin embargo, espero que las listadas ayuden un poco.

    • @JuanSosa-gd8uy
      @JuanSosa-gd8uy 6 месяцев назад

      Después de hacer un análisis PCA puedes calcular cuáles de tus variables originales aportan a explicar la varianza esto sirve si queremos hacer un análisis. Además de que computacionalmente reducir las dimensiones por lo que algunos modelos pueden verse beneficiados de reducir la dimensionalidad.

  • @carolinacuello7780
    @carolinacuello7780 Год назад +1

    Profesor... Una consulta en mi análisis hice la normalizacion y no la estandarizacion... Tengo que hacer si o si la estandarizacion para hacer el PCA o puedo usar los datos normalizados?

    • @CodigoMaquina
      @CodigoMaquina  Год назад

      Carolina gracias por la pregunta tan interesante. De acuerdo a unos de los libros más referenciados (The Elements of Statistical Learning ), lo común para PCA es estandarizar (y no normalizar). PCA maximiza la varianza, la cual está asociada a la desviación estándar. Con la estandarización, por ejemplo de dos variables, los datos se centran y las dos variables quedan con una desviación estándar de 1, lo que permite el correcto funcionamiento de PCA.

  • @GerardoGarcía-g5j
    @GerardoGarcía-g5j 6 месяцев назад +1

    Thanks!

    • @CodigoMaquina
      @CodigoMaquina  6 месяцев назад

      @user-mj4hz5bd4q Muchísimas gracias por apoyar y creer en este proyecto.

  • @zoryacevedo6198
    @zoryacevedo6198 7 месяцев назад

    Excelente!!!

  • @aditu1762
    @aditu1762 Год назад +1

    hola! una pregunta: datos que mete a pca.fit_transform es un diccionario? o el dataframe? o el dataframe estandarizado? saludos

    • @CodigoMaquina
      @CodigoMaquina  Год назад

      Gracias por la pregunta. Se ingresa el DataFrame estandarizado. De hecho, tenemos disponible el código del video en caso de que deseas interactuar con él: github.com/CodigoMaquina/code/blob/main/machine_learning_python/PCA.ipynb

  • @aditu1762
    @aditu1762 2 года назад +1

    los vectores eigen siempre van a ser ortogonales entre si?

    • @CodigoMaquina
      @CodigoMaquina  Год назад

      Muchas gracias por seguir el contenido del canal y por tu pregunta. Al respecto, dado que la matriz de covarianza es simétrica y está compuesta de valores reales, sus vectores Eigen siempre son ortogonales.

  • @alejandroibarrachavez2770
    @alejandroibarrachavez2770 8 месяцев назад

    me gustó mucho, pero no termine de entender como interpretar el gráfico, he visto que de repente usan gráficos muy distintos dependiendo el ejemplo

  • @DataScience-oj4hc
    @DataScience-oj4hc 3 месяца назад +1

    10:27

    • @CodigoMaquina
      @CodigoMaquina  3 месяца назад

      Gracias por interactuar con el contenido del canal :)

  • @kat9893
    @kat9893 2 года назад +1

    Tiene algún curso así de bueno en udemy?

    • @CodigoMaquina
      @CodigoMaquina  2 года назад +2

      Muchas gracias por esta pregunta. Te comento que no tenemos cursos en udemy. Todo nuestro contenido está disponible gratuitamente en youtube y tratamos de que sea de la mayor calidad posible :)

  • @abnereliberganzahernandez6337
    @abnereliberganzahernandez6337 Год назад

    perdon por mi intromisison pero para explicar estos conceptos es necesariohacerlo analiticamente y no por analogias ya que no sirve de nada
    yo no lo he terminado de entender pero la matriz de covarianza esta mal explicada. o incompleta. ya que la amtreiz de covarianza se calcula como la sumatoria de cada punto xi-u yi-u es decir
    luego dividido entre el numero total de puntos es decir es un promedio. este promedio nos indica una relacion lineal entre los datos centrados x e y es decir contiene informacion de la variacion promedio de los puntos x e y con respecto a sus medias, es decir a sus datos centrados.
    ademas de los signos indicarnos las direcciones de tales cambio es decir si cambia y para donde cambia x o si estan en la misma direccion de cambio o en direcciones opuestas.
    y lo de los eigenvectores y eigen valores es simplemente la solucion de la ecuacon matricial (A - λI) v = 0 a aprtir de la resocuion de esta ecuacion se encuentras 2 vectores y ya esto representa bajar la dimesionalidad no es necesario invocar sombritas y lamparitas odio las explicaciones con metaforas no soy un nino

    • @accesibilidadconluismi
      @accesibilidadconluismi Год назад

      El profesor @CodigoMaquina no se si te va a responder, pero la figura Trol existe en todos los canales (hay gente que se aburre). Cuando estás en desacuerdo con alguna explicación de algún tutorial del tema que sea, que va para todo el mundo, no solamente para ti, está muy bien que expliques tu razonamiento e incluso puedas mejorarlo con tu razonamiento. Pero eso no te da derecho (aunque es lo malo que tienen la redes sociales que todos pueden faltar sin sentido) a decir que la manera de explicarlo con metáforas y lamparitas está mal y que ODIAS. Pues es muy sencillo no lo veas ya que no tienes la obligación si no te gusta. Pero te digo que yo debo se nino (que no tengo ni idea de lo que es) ya que desde simple utilizando la metáforas he comprendido y enseñado en clase para que mis alumnos comprendieran creo que mejor las cosas. Un saludo y me gustaría ver un vídeo tuyo explicando lo mismo con tu razonamiento.