No tienes acceso a esta clase

¬°Contin√ļa aprendiendo! √önete y comienza a potenciar tu carrera

Aprende Inglés, Programación, AI, Ciberseguridad y mucho más.

Antes: $249

Currency
$209
Suscríbete

Termina en:

4 Días
11 Hrs
8 Min
48 Seg

Resolviendo con K-means

21/27
Recursos

Aportes 5

Preguntas 1

Ordenar por:

¬ŅQuieres ver m√°s aportes, preguntas y respuestas de la comunidad?

Asi queda lindo

data = [
    (sum_of_squared_distances, 'Elbow Method WCSS'),
    (silhouette_scores, 'Elbow Method Silhouette Coefficient')
]

fig, axes = plt.subplots(1, 2, figsize=(18, 8))

for i, (values, title) in enumerate(data):
    sns.lineplot(ax=axes[i], x=K, y=values, linestyle='dashed', marker='o', markersize=10, color='b')
    axes[i].set_xlabel('K')
    axes[i].set_ylabel('Inertia' if i == 0 else 'Silhouette Coefficient')
    axes[i].set_title(title, size=15)

El coeficiente de silueta mide cu√°n similar es cada punto a su propio cluster en comparaci√≥n con otros clusters cercanos. Un valor de coeficiente de silueta m√°s alto indica una mejor separaci√≥n entre los clusters. Sin embargo, es posible que obtengas un valor alto de coeficiente de silueta incluso si el n√ļmero de clusters no es el √≥ptimo. Esto puede suceder si los datos tienen estructuras complejas o superpuestas que hacen que los puntos se agrupen de manera razonable incluso con un n√ļmero incorrecto de clusters.

Con PCA

- Sin PCA

Me gusta mas como queda así: ```js fig, axes = plt.subplots(2, 1, figsize=(8, 8)) # Gráfico 1: Suma de cuadrados de las distancias axes[0].plot(K, sum_quare_of_distances, 'bx-') axes[0].set_xlabel('K') axes[0].set_ylabel('Suma de cuadrados de las distancias') axes[0].set_title('Suma de cuadrados de las distancias en función de K') # Gráfico 2: Puntuación de silueta axes[1].plot(K, silhouette_scores, 'rx-') axes[1].set_xlabel('K') axes[1].set_ylabel('Puntuación de silueta') axes[1].set_title('Puntuación de silueta en función de K') plt.tight_layout() plt.show() ```fig, axes = plt.subplots(2, 1, figsize=(8, 8)) \# Gráfico 1: Suma de cuadrados de las distanciasaxes\[0].plot(K, sum\_quare\_of\_distances, 'bx-')axes\[0].set\_xlabel('K')axes\[0].set\_ylabel('Suma de cuadrados de las distancias')axes\[0].set\_title('Suma de cuadrados de las distancias en función de K') \# Gráfico 2: Puntuación de siluetaaxes\[1].plot(K, silhouette\_scores, 'rx-')axes\[1].set\_xlabel('K')axes\[1].set\_ylabel('Puntuación de silueta')axes\[1].set\_title('Puntuación de silueta en función de K') plt.tight\_layout()plt.show()

Para los que les sale el siguiente error:

FutureWarning: The default value of `n_init` will change from 10 to 'auto' in 1.4. Set the value of `n_init` explicitly to suppress the warning
  super()._check_params_vs_input(X, default_n_init=10)

Deben agregar un parametro llamado n_init:

for _ in K:
    km = KMeans(n_clusters = _, n_init=10)