sklearn PCA

一、基本原理
Given m data points in n-dimensions, find p <= n
principal components that can be best used to generate the
transformed data
Data processing:
sklearn PCA_第1张图片
sklearn PCA_第2张图片
sklearn PCA_第3张图片
sklearn PCA_第4张图片

还原数据:
Snew=Sorg * P.transpose() * P +u

此处,Sorg为原始数据,u为原始数据均值。

一般对Snew还可以进行白化变换,降低不同特征之间的关联性,白化变换就是对每个特征进行方差归一化。

二、sklearn 中使用pca

pca=PCA(n_components=6)
newData=pca.fit_transform(train_faces)
print newData.shape
X=pca.inverse_transform(newData)
print pca.explained_variance_ratio_
#下面的写法与上面相同,下面进行了白化变换,数据还原之后进行了方差的归一化
pca=PCA(n_components=6,whiten=True)
pca.fit(train_faces)
newData1=pca.transform(train_faces)
X=pca.inverse_transform(newData)
print newData[:,0].var()
print newData1[:,0].var()
print pca.explained_variance_ratio_
[ 0.5674633   0.09350752  0.06565907  0.02972823  0.02249635  0.02044263]
485529.808598
1.0
[ 0.5674633   0.09350752  0.06565907  0.02972823  0.02249635  0.02044263]

你可能感兴趣的:(machine,learning)