Si obtienes el error:
AttributeError: 'NoneType' object has no attribute 'split'
Soluciona con:
!pip install threadpoolctl==3.1.0
Fundamentos de clustering
¿Qué es el clustering en machine learning?
Tu primer clustering con scikit-learn
¿Cuándo usar clustering?
¿Cómo evaluar modelos de clustering?
K-means
¿Qué es el algoritmo de K-means y cómo funciona?
¿Cuándo usar K-means?
Implementando K-means
Encontrando K
Evaluando resultados de K-means
Hierarchical clustering
¿Qué es hierarchical clustering y cómo funciona?
¿Cuándo usar hierarchical clustering?
Implementando hierarchical clustering
Evaluando resultados de hierarchical clustering
DBSCAN
¿Qué es DBSCAN y cómo funciona?
¿Cuándo usar DBSCAN?
Implementando DBSCAN
Encontrar híper-parámetros
Evaluando resultados de DBSCAN
Proyecto: resolviendo un problema con clustering
Preparar datos para clusterizar
Aplicando PCA para clustering
Resolviendo con K-means
Resolviendo con hierarchical clustering
Resolviendo con DBSCAN
Resolviendo con DBSCAN (sin PCA)
Evaluación resultados de distintos modelos de clustering
Conclusiones
Proyecto final y cierre
Comparte tu proyecto de segmentación con clustering y certifícate
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 3
Preguntas 1
Si obtienes el error:
AttributeError: 'NoneType' object has no attribute 'split'
Soluciona con:
!pip install threadpoolctl==3.1.0
Detallen bien su escogencia del número de clusters cuando evalúen el rendimiento del modelo con el silhouette score. Aquí por ejemplo generé los datos con cuatro centroides como en la clase, e hice el entrenamiento del modelo con tres clusters y obtuve lo siguiente:
También realicé el entrenamiento con cuatro clusters y obtuve lo siguiente:
Observen que el silhouette score fue mejor (más cercano a 1) con tres clusters, pero de entrada sabemos que en realidad en los datos hay cuatro clusters diferentes, así que sí, no se confíen solo en la primera métrica que saquen, hay que detallar más los resultados 😃
Alternativa al codigo de visualizacion usado.
fig1 = go.Figure()
fig1.add_traces(data=
go.Scatter(x=df_blobs["x1"], y=df_blobs["x2"],
marker=dict(
size=10,
color=df_blobs['cluster'],
colorscale=px.colors.diverging.RdBu[::-1]
), mode='markers', name='Data')
)
fig1.add_traces(data=
go.Scatter(x=df_centers["x1"], y=df_centers["x2"], mode='markers', name='Centers', marker=dict(color='#ff6602', size=20, symbol="x-dot"))
)
fig1.add_traces(data=
go.Scatter(x=df_k_means_center["x1"], y=df_k_means_center["x2"], mode='markers', name='k_means_centers', marker=dict(color='yellow', size=20, symbol="circle-x"))
)
fig1.update_layout(showlegend=True)
fig1.show()
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.