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

Implementacti贸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

Kernels y KPCA

12/37
Recursos

Aportes 21

Preguntas 7

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Ahora que ya sabemos para el algoritmo de PCA, 驴que otras alternativas tenemos?


Bueno, una alternativa son los Kernels. Un Kernel es una funci贸n matem谩tica que toma mediciones que se comportan de manera no lineal y las proyecta en un espacio dimensional m谩s grande en donde sen linealmente separables.

Y, 驴esto para que puede servir?

Sirve para casos en donde no son linealmente separables. El la primera imagen no es posible separarlos con una linea y en la imagen 2 si lo podemos hacer mediante Kernels. Lo que hace la funci贸n de Kernels es proyectar los puntos en otra dimensi贸n y as铆 volver los datos linealmente separables.

驴Que tipo de funciones para Kernels nos podemos encontrar?

Ejemplos de funciones de Kernels en datasets aplicados a un clasificador:

Excelente! todos los conceptos y hasta el c贸digo muy ordenado.

Me ha sorprendido el curso, de los mejores de ML de Platzi. Qu茅 gusto!

Les dejo el c贸digo comentado por si no les corre:

# Importamos las bibliotecas generales
import pandas as pd
import sklearn
import matplotlib.pyplot as plt
# Importamos los m贸dulos espec铆ficos
from sklearn.decomposition import KernelPCA
 
 
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
if __name__ == "__main__":
 # Cargamos los datos del dataframe de pandas
 dt_heart = pd.read_csv('data/heart.csv')
 # Imprimimos un encabezado con los primeros 5 registros
 print(dt_heart.head(5))
 # Guardamos nuestro dataset sin la columna de target
 dt_features = dt_heart.drop(['target'], axis=1)
 # Este ser谩 nuestro dataset, pero sin la columna
 dt_target = dt_heart['target']
 # Normalizamos los datos
 dt_features = StandardScaler().fit_transform(dt_features)
  # Partimos el conjunto de entrenamiento y para a帽adir replicabilidad usamos el random state
 X_train, X_test, y_train, y_test = train_test_split(dt_features, dt_target, test_size=0.3, random_state=42)
 
 #Aplicamos la funci贸n de kernel de tipo polinomial
 kpca = KernelPCA(n_components=4, kernel='poly' )
 #Vamos a ajustar los datos
 kpca.fit(X_train)
 
 #Aplicamos el algoritmo a nuestros datos de prueba y de entrenamiento
 dt_train = kpca.transform(X_train)
 dt_test = kpca.transform(X_test)
 
 #Aplicamos la regresi贸n log铆stica un vez que reducimos su dimensionalidad
 logistic = LogisticRegression(solver='lbfgs')
 
 #Entrenamos los datos
 logistic.fit(dt_train, y_train)
 
 #Imprimimos los resultados
 print("SCORE KPCA: ", logistic.score(dt_test, y_test))
 

Comparaci贸n entre los tres tipos de kernel con este ejercicio en particular

Rendimiento de cada una de las t茅cnicas a partir de la cantidad de componentes con las que fueron entrenados vs el accuracy del modelo de regresi贸n log铆stica

Incre铆ble forma de ense帽ar!

Excelente explicaci贸n para entender el concepto de kernels y como el aumento de dimensiones puede ayudar a resolver problemas de clasificaci贸n.

El numero de componentes del PCA es opcional

NoteBook de la clase git hub

Hasta el momento ha sido el mejor curso de Machine Learning que hay en la ruta, todo muy bien explicado y con aplicabilidad en c贸digo

Esta interesante hasta ahora el curso. Espero que al final del curso se llegue a una conclusi贸n de las predicciones, cosas que le faltan a otros cursos de ML de Platzi.

Este curso va muy bien

Muy bien explicado!!

Muuuuy muy interesante! creo q esto podria resolver mi pregunta al principio del curso.

Como nota en las funciones de Scikit-Learn que aplican transformaciones en los datos tiene un metodo llamafo fit_transform que hace lo mismo que primero usar el metodo fit y luego transform

El kernel en si tiene varias definiciones si hablamos por ejemplo de PCA, de Feed Forward Networks o de Convolutional Neural Networks.En FFN, el kernel no es nada mas que los pesos de nuestros inputs, sin embargo en CNN el kernel es una matriz que multiplica a cada slice o 鈥渟ubmatriz鈥 de nuestro input.

LBFGS es un algoritmo de optimizacion que hasta Andrew Ng dijo que a veces le costaba entender, asi que si a un experto de ML le costo, imaginense lo complicado que debe ser xd.

Para los curiosos, en 茅sta p谩gina hay informaci贸n sobre la Funci贸n de Base Radial (RBF) pero aplicada como una red nuronal.