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

Implementación de Mean-Shift

27/37
Recursos

Aportes 10

Preguntas 2

Ordenar por:

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

o inicia sesión.

Quiero agregar una manera de ver graficamente estos algoritmos de clustering
Adjunto el codigo, explico
Utilize PCA para tener mi dataset en 2 dimensiones para que me sea facil graficarlo,
y con meanshift.cluster_centers_ me devuelven las coordenadas de un centroide, al final bota el grafico de los puntos y como se dividen
NOTA: como baje mi dataset a 2 dimensiones supongo que perdi mucha informacion, por eso esto es mas algo ludico para entender mejor lo que hacemos

pca = PCA(n_components=2)
pca.fit(X)
pca_data = pca.transform(X)
    
meanshift = MeanShift().fit(pca_data)
plt.scatter(pca_data[:, 0], pca_data[:, 1], c=meanshift.predict(pca_data))
plt.scatter(meanshift.cluster_centers_[:, 0], meanshift.cluster_centers_[:, 1], c='black', s=200)
plt.show()

como funciona mean-shift

Piensa que cada punto tiene un peso y todo el espacio se curva con ese peso, por lo que lugares con muchos puntos tienen se hunden mas haciendo un hueco, después lanzas un monton de bolitas en lugares aleatorios y en donde se acumulen ahi estarán los clusters.

gift que ilustra el proceso

para entender mas a fondo este video te explica como las bolitas funcionana y este articulo te explica el metodo de clustering

Si es una cantidad “moderada” de datos para implementar MeanShift, se refiere a que tamaño de la fuente? numero de Filas por número de Columnas, cantidad de registros, tamaño del archivo en Kb, Mb, Gb?

Otra pregunta es, si la restricción para usar es únicamente al tamaño de la fuente de datos ,o deben considerarse más elementos para usarlos?

Si ambos modelos tienen K-3 clusters. Entonces podemos comparar sus predicciones

(df['KMeans'] == df['MeanShift']).sum() / df.shape[0]

#output = 0.5058823529411764

Y vemos que solo coinciden con el 50% de los datos

Código:

import pandas as pd 

from sklearn.cluster import MeanShift 

if __name__ == "__main__":

   # Cargamos el dataset 
    dataset = pd.read_csv('./data/candy.csv') 
    #print(dataset.head(5))  

    # Vamos a eliminar la columna
    X = dataset.drop('competitorname', axis=1)

    meanshift = MeanShift().fit(X)
    # Aquí el algoritmo nos devolvio 3 clusters, porque le pareció que esa era la cantidad 
    # correcta teniendo en cuenta como se distrubuye la densidad de nuestros datos 
    print(max(meanshift.labels_))
    print("="*64)
    # Imprimamos la ubicación de los centros que puso sobre nuestros datos. Hay que recordar que estos algoritmos 
    # crean un centro y a partir de ahí se ajuztan a todos los datos que lo rodean  
    print(meanshift.cluster_centers_)
    
    # Los arreglos lo integramos a nuestros datasets 
    dataset['meanshift'] = meanshift.labels_  
    print("="*64)
    print(dataset)  
``

Para ver las etiquetas:
Se tiene que importar la librería de numpy.

np.unique(meanshift.labels_)

[0 1 2]

Otra forma de identificar cuantos clusters creó MeanShift es usando el constructor set()

print(set(meanshift.labels_))

Agregué el resultado de los grupos creados en una nueva columna en el data frame original:

    meanshift_group_vector = meanshift.labels_

    dataset['meanshift_groups'] = meanshift_group_vector

Hola a todos, me ayudarían mucho si me resolvieran esta duda que surgió de esta clase. Al usar Mean-Shift o K-Means puedo tener variables dummy y continuas?. En la clase al parecer la tenemos pero vi un articulo que decía que no se podía. Gracias