No tienes acceso a esta clase

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

Resolviendo con DBSCAN

23/27
Recursos

Aportes 2

Preguntas 4

Ordenar por:

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

Yo hice esto para encontrar mas rapido los coluster con mas grupos y mas silhouette_score

# El codigo de profe un poco modificado
from itertools import product

params = product(np.linspace(1.2, 2.6, 14), np.arange(2, 12))

params_mat = pd.DataFrame({
   'epsilon': [],
   'min_samples': [],
   'silhouette_score': [],
   'no_clusters': []
})

for epsilon, samples in params:
    y_pred = DBSCAN(eps=epsilon, min_samples=samples).fit_predict(X)
    params_mat.loc[len(params_mat)] = [epsilon, samples, silhouette_score(X, y_pred), len(np.unique(y_pred))]

# Encontar los mejores parametros

(
    params_mat
    [(params_mat.no_clusters == 3) | (params_mat.no_clusters == 4)]
    .sort_values(by='silhouette_score', ascending=False)
    .head(10)
)
Yo hice el DBSCAN con in diferente método y me salió un índice de silueta más alto de 5.8. utilice este code ```js from itertools import product dbscan_params = list(product(eps_values,min_samples)) sil_scores = [] best_score = -1 best_eps = None best_min_samples = None for i in dbscan_params: y = DBSCAN(eps=i[0],min_samples=i[1]).fit_predict(pca_data_stamdard) score = silhouette_score(pca_data_stamdard,y) if score > best_score: best_score = score best_eps = i[0] best_min_samples = i[1] print('El mejor silhouette_score : ',best_score.round(2)) print('El mejor eps : ',best_eps) print('El mejor min_sample : ',best_min_samples) ```from itertools import productdbscan\_params = list(product(eps\_values,min\_samples))sil\_scores = \[]best\_score = -1best\_eps = Nonebest\_min\_samples = None for i in dbscan\_params:    y = DBSCAN(eps=i\[0],min\_samples=i\[1]).fit\_predict(pca\_data\_stamdard)    score = silhouette\_score(pca\_data\_stamdard,y)     if score > best\_score:         best\_score = score        best\_eps = i\[0]        best\_min\_samples = i\[1] print('El mejor silhouette\_score : ',best\_score.round(2))print('El mejor eps : ',best\_eps)print('El mejor min\_sample : ',best\_min\_samples)