K-Means performance
We can use elbow for optimal K method.
Introducción a machine learning
Introducción a machine learning
Qué es machine learning y su historia
Framework de ciencia de datos: herramientas para machine learning
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 lineal
Regresión logística
Á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
Natasha Seelam
Aportes 16
Preguntas 2
We can use elbow for optimal K method.
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
Estoy impresionado con el uso de K-means. Es un dato a tener en cuenta. Ademas, su desarrollo permite mejorar el aprendizaje de este.
Me parece una buena forma de comprender lo que hace cada algoritmo para que nuestro abordaje de los problemas, como científicos de datos, sea racional y explicable.
Tres ingredientes de un algoritmo:
Proceso de decisión: la forma en la que el modelo hace una predicción, generalmente mediante el uso de parámetros.
Función de coste: la forma en que la predicción del modelo se compara con el objetivo de salida o meta.
Regla de actualización: forma en la que el modelo actualiza y cambia sus parámetros para mejorar las predicciones.
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?