我有一组“二维”数据,我必须使用 PCA 分解来研究这些数据。作为第一步,我尝试使用 matplotlib.mlab 库:
import numpy as np
from matplotlib.mlab import PCA
data = np.loadtxt("Data.txt")
result = PCA(data)
#....
然后,我将“Data.txt”的散点图与 mlab 找到的主成分(存储在 result.Wt 中)进行了比较。结果如下: mlab 尝试
如您所见,结果不是最佳的。因此,我尝试使用 sklearn.decomposition 库做同样的事情:
import numpy as np
from sklearn.decomposition import PCA
data = np.loadtxt("Data.txt")
pca = PCA(n_components=2,whiten=True)
pca.fit(data)
这次的结果要好得多:sklearn 尝试
我真的没想到这两个库之间的结果会有这么大的差异。那么我的问题是:我的结果差异如此之大的可能原因是什么?