为什么使用Sklearn将错误的聚类投影到PCA上



我将聚类中心投影到两个主要组件上,但给出的图不在我的两组数据点的正确中心位置。我的代码如下。有人看到我哪里错了吗?PCA很好,但集群的一个数据点太差了。我要提到的是,我的质心数据点有一半是负的。我曾尝试过对主成分分析变换进行反演,但我真的不确定错误是从哪里来的。非常感谢您的帮助!

import numpy as np
import sklearn
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt

data = normalize(key) 
key_N=normal(key,key)
pca=PCA(n_components=21)
pca.fit(data[:,0:-1])
keytrain_T = pca.transform(data[:,0:-1])
kmeans = KMeans(n_clusters=2, init='k-means++', n_init=100, max_iter=300, 
            tol=0.0001, precompute_distances='auto', verbose=0, random_state=None, copy_x=True, n_jobs=1)
kmeans.fit(data[:,0:-1])
centroid = cluster_centers_
print("The centroids:",centroid)
# Project the cluster points to the two first principal components
clusters = pca.fit_transform(centroid)
print("The clusters:",clusters)

fit_transform是质心,而不是transform

相关内容

  • 没有找到相关文章

最新更新