Это непараллельный код:
Код: Выделить всё
from sklearn.metrics import silhouette_score, silhouette_samples
from sklearn.cluster import KMeans
# Apply K-Means
kmeans = MiniBatchKMeans(n_clusters = 50, batch_size = 1000, random_state = 42)
kmeans.fit(data)
labels = kmeans.labels_
# Calculate silhouette score
score = silhouette_score(data, labels)
Код: Выделить всё
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_samples, silhouette_score
from joblib import Parallel, delayed
import numpy as np
# Apply K-Means
kmeans = MiniBatchKMeans(n_clusters = 50, batch_size = 1000, random_state = 42)
kmeans.fit(data)
labels = kmeans.labels_
# Compute the average silhouette score for the current clustering
silhouette_values = Parallel(n_jobs = 36)(
delayed(silhouette_samples)(data, labels)
)
average_silhouette_score = np.mean(silhouette_values)
score = average_silhouette_score
Код: Выделить всё
---> 18 silhouette_values = Parallel(n_jobs=4)(
19 delayed(silhouette_samples)(selected_columns, labels)
20 )
ValueError: not enough values to unpack (expected 3, got 0)
Подробнее здесь: https://stackoverflow.com/questions/791 ... alculation
Мобильная версия