No tienes acceso a esta clase

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

Algoritmos de aprendizaje no supervisado

10/16
Recursos

Refuerza y practica tu ingl茅s con los cursos de English Academy 馃殌
Screenshot 2023-10-19 at 11.56.36鈥疉M.png

Aportes 13

Preguntas 2

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/

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

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

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 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)

RESUMEN

Describe el enfoque de aprendizaje no supervisado llamado K-means, que busca encontrar una estructura en los datos mediante la asignaci贸n de puntos de datos a grupos espec铆ficos, conocidos como clusters. Para hacer esto, K-means utiliza centroides que representan cada cluster y se colocan inicialmente de manera aleatoria. El objetivo es actualizar la posici贸n de los centroides encontrando la media de los puntos de datos que pertenecen a cada cluster, lo que permite actualizar la asignaci贸n de puntos de datos y los clusters. El par谩metro m谩s importante en K-means es el n煤mero de clusters, conocido como 鈥淜鈥. Adem谩s, el texto menciona la funci贸n de coste que se busca optimizar durante la ejecuci贸n de K-means y la regla de actualizaci贸n que se utiliza para actualizar los centroides. Por 煤ltimo, se describe un ejemplo visual que muestra c贸mo cambia la asignaci贸n de puntos de datos a clusters a lo largo de varias iteraciones.

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

This video makes a good exposition about k means

He usado en diferentes ejercicios este data set y solamente conoc铆a que eran diferentes especies de un mismo genero de plantas, ac谩 esta la historia del origen de este dataset y para que fue pensando inicialmente. Es una buena practica entender de donde provienen nuestros datos. https://towardsdatascience.com/the-iris-dataset-a-little-bit-of-history-and-biology-fb4812f5a7b5

Los algoritmos de aprendizaje no supervisado son un tipo de algoritmo de aprendizaje autom谩tico que se utiliza cuando no se dispone de etiquetas o valores en los datos de entrada. A diferencia de los algoritmos de aprendizaje supervisado que se utilizan para problemas de clasificaci贸n y regresi贸n, los algoritmos de aprendizaje no supervisado se centran en encontrar patrones, estructuras ocultas o agrupaciones en los datos sin ninguna orientaci贸n previa.

Los algoritmos de clustering son utilizados para determinar si un art铆culo es sensaionalista o no (fake news)