No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Algoritmos de aprendizaje no supervisado

10/16
Recursos

Aportes 9

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

K-Means performance

We can use elbow for optimal K method.

Hola a todos. Les comparto un herramienta que desarrolle que te permite visualizar el algoritmo de K-means. Adjunto una captura y el link del proyecto.

https://pegadro.github.io/kmeans-visualizer/

Los centroides in k-means representan posiciones en el espacio que se supone que representan cada una de las features de entrada.

Muy interesante, de esta forma puedo determinar una ruta optima para la entrega de muchos paquetes

Copienlo en Collab y pruebenlo k-means

from sklearn.cluster import KMeans
import numpy as np
from sklearn import datasets
import pandas as pd

import matplotlib.pyplot as plt
from sklearn import metrics

DATOS = datasets.load_wine()

DataTarget = DATOS.target

col_list = DATOS.feature_names
DataToTrain = pd.DataFrame(DATOS.data, columns = col_list)
print(col_list)

K_optimo = 0;
Mejor = 0

for K in range(2,8):

# Variamos K
model = KMeans(n_clusters= K, max_iter=1000) 

#Se entrena modelo
model.fit(DataToTrain)  

y_labels = model.labels_ 

#Creamos prediccion
y_kmeans = model.predict(DataToTrain) 

# Revisamos la precicion del modelo
accuracy = metrics.adjusted_rand_score(DataTarget, y_kmeans) 
print(K,' ',accuracy)

if accuracy > Mejor:    
    K_optimo = K
    Mejor = accuracy

print(鈥欌)
print(f鈥橫ax accuracy: {round(Mejor,3)}% \nUsando K: {K_optimo} ')

K = K_optimo

model = KMeans(n_clusters= K, max_iter=1000)
model.fit(DataToTrain)

y_labels = model.labels_

#Creamos prediccion
y_means = model.predict(DataToTrain)

#GRAFIQUE 2 FEATURES PARA VER SI HAY RELACION

plt.scatter(DataToTrain[鈥榓lcohol鈥橾, DataToTrain[鈥榟ue鈥橾, c=y_means, s=30)
plt.xlabel(鈥楢lcohol鈥, fontsize = 10)
plt.ylabel(鈥楬ue鈥, fontsize = 10)

Un hilo interesante a leer sobre el uso del Elbow Plot ~

This video makes a good exposition about k means

Un saludo desde El Salvador, os dejo un ejemplo de K-means

from sklearn.cluster import KMeans
import numpy as np
from sklearn import datasets
import pandas as pd

import matplotlib.pyplot as plt
from sklearn import metrics

DATOS = datasets.load_wine()

DataTarget = DATOS.target

col_list = DATOS.feature_names
DataToTrain = pd.DataFrame(DATOS.data, columns = col_list)
print(col_list)

K_optimo = 0;
Mejor = 0

for K in range(2,8):

# Variamos K
model = KMeans(n_clusters= K, max_iter=1000) 

#Se entrena modelo
model.fit(DataToTrain)  

y_labels = model.labels_ 

#Creamos prediccion
y_kmeans = model.predict(DataToTrain) 

# Revisamos la precicion del modelo
accuracy = metrics.adjusted_rand_score(DataTarget, y_kmeans) 
print(K,' ',accuracy)

if accuracy > Mejor:    
    K_optimo = K
    Mejor = accuracy

print(鈥欌)
print(f鈥橫ax accuracy: {round(Mejor,3)}% \nUsando K: {K_optimo} ')

#SEGUNDA PARTE PREDICCION
#==========================

K = K_optimo

model = KMeans(n_clusters= K, max_iter=1000)
model.fit(DataToTrain)

y_labels = model.labels_

#Creamos prediccion
y_means = model.predict(DataToTrain)

GRAFIQUE 2 FEATURES

#====================

plt.scatter(DataToTrain[鈥榓lcohol鈥橾, DataToTrain[鈥榟ue鈥橾, c=y_means, s=30)
plt.xlabel(鈥楢lcohol鈥, fontsize = 10)
plt.ylabel(鈥楬ue鈥, fontsize = 10)