K-Means performance
We can use elbow for optimal K method.
Introducción a machine learning
Introducción a machine learning
Framework de ciencia de datos: herramientas para machine learning
Qué es machine learning y su historia
Tipos de modelos de machine learning
Reto: procesando un dataset
Algoritmos simples de machine learning
La “receta” para aplicar algoritmos de machine learning
Regresión logística
Regresión lineal
Árboles de decisión
Algoritmos de aprendizaje no supervisado
Reto: explora diferentes ejemplos de modelos y qué pueden hacer
Deep learning
Cómo funcionan las redes neuronales
Cómo mejorar las predicciones de redes neuronales
Cómo es el entrenamiento de las redes neuronales
Conclusiones
Cómo profundizar en machine learning y deep learning
Qué más aprender de inteligencia artificial
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 13
Preguntas 2
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/
Otro apote a la clase:
https://www.youtube.com/watch?v=2kfY0R34Dy0&ab_channel=AprendeInnovando
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’Max 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[‘alcohol’], DataToTrain[‘hue’], c=y_means, s=30)
plt.xlabel(‘Alcohol’, fontsize = 10)
plt.ylabel(‘Hue’, 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’Max 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)
#====================
plt.scatter(DataToTrain[‘alcohol’], DataToTrain[‘hue’], c=y_means, s=30)
plt.xlabel(‘Alcohol’, fontsize = 10)
plt.ylabel(‘Hue’, fontsize = 10)
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 “K”. 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)
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.