Aprender los conceptos clave

1

Todo lo que aprenderás sobre MA con Scikit-Learn

2

¿Cómo aprenden las máquinas?

3

Problemas que podemos resolver con Scikit-learn

4

Las matemáticas que vamos a necesitar

Iniciar un proyecto con sklearn

5

Configuración de nuestro entorno Python

6

Instalación de librerías en Python

7

Datasets que usaremos en el curso

Optimización de features

8

¿Cómo afectan nuestros features a los modelos de Machine Learning?

9

Introducción al PCA

10

Preparación de datos para PCA e IPCA

11

Implementación del algoritmo PCA e IPCA

12

Kernels y KPCA

13

¿Qué es la regularización y cómo aplicarla?

14

Implementación de Lasso y Ridge

15

Explicación resultado de la implementación

16

ElasticNet: Una técnica intermedia

Regresiones robustas

17

El problema de los valores atípicos

18

Regresiones Robustas en Scikit-learn

19

Preparación de datos para la regresión robusta

20

Implementación regresión robusta

Métodos de ensamble aplicados a clasificación

21

¿Qué son los métodos de ensamble?

22

Preparación de datos para implementar métodos de ensamble

23

Implementación de Bagging

24

Implementación de Boosting

Clustering

25

Estrategias de Clustering

26

Implementación de Batch K-Means

27

Implementación de Mean-Shift

Optimización paramétrica

28

Validación de nuestro modelo usando Cross Validation

29

Implementación de K-Folds Cross Validation

30

Optimización paramétrica

31

Implementación de Randomized

32

Bonus: Auto Machine Learning

Salida a producción

33

Revisión de nuestra arquitectura de código

34

Importar y exportar modelos con Sklearn

35

Creación de una API con Flask para el modelo

36

Cierre del curso

37

Material adicional para consultar

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Introducción al PCA

9/37
Recursos

Aportes 20

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Comparto este vídeo, en el que se complementa más a fondo los fundamentos matemáticos y estadísticos del PCA:
https://www.youtube.com/watch?v=AniiwysJ-2Y&t=1117s

Introducción al algoritmo PCA (Principal Component Analysis)


¿Por qué usaríamos este algoritmo?

  • Porque en machine learning es normal encontrarnos con problemas donde tengamos una enorme cantidad de features en donde hay relaciones complejas entre ellos y con la variable que queremos predecir.

Pistas donde se puede utilizar un algoritmo PCA:

  • Nuestro dataset tiene un número alto de features y no todos sean significativos.
  • Hay una alta correlación entre los features.
  • Cuando hay overfiting.
  • Cuando implica un alto coste computacional.

¿En que consiste el algoritmo PCA?

Básicamente en reducir la complejidad del problema:

1.- Seleccionando solamente las variables relevantes.
2.- Combinándolas en nuevas variables que mantengan la información más importante (varianza de los features).


¿Cuales son pasos para llevar a cabo el algoritmo PCA?

1.- Calculamos la matriz de covarianza para expresar las relaciones entre nuestro features.
2.- Hallamos los vectores propios y valores propios de esta matriz, para medir la fuerza y variabilidad de estas relaciones.
3.- Ordenamos y escogemos los vectores propios con mayor variabilidad, esto es, aportan más información.


¿Qué hacer si tenemos una PC de bajos recursos?

  • Si tenemos un dataset demasiado exigente, podemos usar una variación como IPCA.
  • Si nuestros datos no tienen una estructura separable linealmente, y encontramos un KERNEL que pueda mapearlos podemos usar KPCA.

🔹 Usar PCA cuando:

  • Se tenga un dataset con muchos features.
  • Las relaciones entre las variables no sean linealmente separables o se tenga una alta correlación entre ellas.
  • El modelo presenta características de overfitting. (El PCA puede ser una posible solución).
  • Se tiene un buen modelo con buenos resultados pero su costo computacional es alto.

👉 El PCA principalmente selecciona variables relevantes y las combina en una nueva feature, que mantiene la información más importante y útil para el modelo. Ejemplo:

📌 Nota:
En el Curso de Álgebra Lineal Aplicada para Machine Learning se explican y se aplican muy bien estos conceptos.

Después de terminar el curso vuelvo a esta clase en respuesta a un proyecto real de trabajo en el cual tengo demasiados features en mi data frame y el modelo que hice no predice correctamente los objetivos.

Definitivamente era esto lo que me faltaba, que curso tan genial! 📝😃

Esto es lo que no se hablo en el curso de Algebra Lineal

Si su computador no tiene mucho poder de procesamiento, pueden usar Google Colab y Deepnote. Son jupiter notebooks pero desde el navegador lo ejecutamos

Nunca antes en mi vida me había visto en la necesidad de poner un video a velocidad 0.85x para seguir el razonamiento de un profesor😅 ¡Este curso es increíble!

¡Muchas gracias por tanto, Platzi!

Ahora entiendo por qué las columnas (features) procesadas por PCA tienen valores diferentes al de las columnas originales. Una duda que traía arrastrando.

En la clase de estadística descriptiva de Francisco Camacho se hace un PCA desde cero explicando como se hace la matriz de covarinza y luego se sacan los eigen valores y vectores.
"Linealmente separables" es un término utilizado en el contexto del aprendizaje automático y la clasificación para describir conjuntos de datos que pueden ser divididos perfectamente por una línea recta (en el caso de datos bidimensionales) o un hiperplano (en dimensiones superiores). En otras palabras, si los puntos de datos en un conjunto de datos pueden ser claramente separados por una única línea recta o hiperplano en el espacio de características, entonces se dice que los datos son linealmente separables. Por ejemplo, en un conjunto de datos de dos dimensiones con dos clases diferentes, si todas las muestras de una clase están en un lado de una línea y todas las muestras de la otra clase están en el otro lado, entonces los datos se consideran linealmente separables. Es importante tener en cuenta que no todos los conjuntos de datos son linealmente separables. En casos donde los datos no pueden ser separados por una línea recta o un hiperplano, se necesitan técnicas más avanzadas, como las máquinas de vectores de soporte (SVM) con kernels no lineales, para clasificar correctamente los datos.
IPCA y KPCA son técnicas de reducción de dimensionalidad utilizadas en el campo del aprendizaje automático y el análisis de datos. Aquí te explico cada uno: 1. **IPCA (Incremental Principal Component Analysis)**: * El IPCA es una variante de la Principal Component Analysis (PCA) diseñada para manejar grandes conjuntos de datos que no caben en memoria. * PCA es una técnica que se utiliza para reducir la dimensionalidad de un conjunto de datos al encontrar las direcciones (llamadas componentes principales) que maximizan la varianza de los datos. * IPCA realiza el cálculo de los componentes principales de forma incremental, lo que significa que procesa el conjunto de datos en pequeños lotes, en lugar de cargar todo el conjunto de datos en la memoria a la vez. * Esta técnica es útil cuando se trabaja con grandes conjuntos de datos que no pueden ajustarse en la memoria RAM de una computadora. 2. **KPCA (Kernel Principal Component Analysis)**: * KPCA es una extensión no lineal de PCA que utiliza trucos del kernel para manejar datos no lineales. * Mientras que PCA funciona bien para datos lineales, KPCA puede capturar estructuras no lineales al mapear los datos a un espacio de características de mayor dimensión utilizando funciones kernel (como el kernel Gaussiano o el kernel polinomial). * Una vez que los datos se han mapeado a un espacio de mayor dimensión, KPCA encuentra los componentes principales en este nuevo espacio. * KPCA es útil cuando se trabaja con conjuntos de datos que no pueden ser linealmente separables en su forma original. En resumen, IPCA es una variante de PCA diseñada para manejar grandes conjuntos de datos de forma incremental, mientras que KPCA es una extensión no lineal de PCA que utiliza funciones kernel para manejar datos no lineales. Ambas técnicas son útiles para reducir la dimensionalidad de los datos y extraer características importantes para el análisis y la modelización.

PCA
Su objetivo principal es transformar un conjunto de datos de alta dimensionalidad en un espacio de menor dimensionalidad, mientras se retiene la mayor cantidad posible de información relevante. PCA es una herramienta poderosa para simplificar la complejidad de los datos y mejorar la eficiencia y precisión de los modelos.

Como Funciona PCA:

El PCA busca encontrar las direcciones (vectores) en las que los datos tienen la mayor varianza. Estas direcciones se llaman “componentes principales”. El primer componente principal es la dirección en la que los datos tienen la mayor variación, el segundo componente principal es la dirección ortogonal al primero y en la que los datos tienen la siguiente mayor variación, y así sucesivamente.

les recomiendo este video para entender al matematica detras de PCA

Este video me sirvió bastante para entender el PCA:
Análisis de componentes principales (PCA)

Reducción de la dimensionalidad de variables en ML

PCA: Un problema que tiene features X y Y dado por una función no lineal f(X,Y) se simplifica proyectando X y Y en una función que contenga la información de ambos.
Ejemplo: recta donde se proyecta la coordenada X y coordenada Y, manteniéndose la varianza.

Este video esta en ingles pero explica el PCA de una manera más profunda y a detalle.
https://www.youtube.com/watch?v=fkf4IBRSeEc&list=PLMrJAkhIeNNRpsRhXTMt8uJdIGz9-X_1-&index=22&ab_channel=SteveBrunton

PCA
Es una técnica estadística no supervisada que se utiliza para examinar las interrelaciones entre un conjunto de variables. También se conoce como análisis factorial general donde la regresión determina una línea de mejor ajuste.