我想通过使用 Pipeline 来组合StandardScaler()和并检查的,因为我想检查哪个数量的集群是最好的。代码如下:KMeans()kmeansinertia_
ks = range(3, 5)
inertias = []
inertias_temp = 9999.0
for k in ks:
scaler = StandardScaler()
kmeans = KMeans(n_clusters=k, random_state=rng)
pipeline = make_pipeline(scaler, kmeans)
pipeline.fit(X_pca)
labels = pipeline.predict(X_pca)
np.round(kmeans.cluster_centers_, decimals=3)
inertias.append(kmeans.inertia_)
if (kmeans.inertia_ < inertias_temp):
n_clusters_min = k
kmeans_min = kmeans
inertias_temp = kmeans.inertia_
Run Code Online (Sandbox Code Playgroud)
但是,我认为也许 的值kmeans.inertia_不正确,因为它应该在 之后得到pipeline.predict()。但之后我就没有办法得到这个值了pipeline.predict()。谁可以帮我这个事?
scikit-learn ×1