PCA-数据降维

利用PCA方法进行数据降维,通过sklearn中的PCA方法
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from sklearn.datasets.samples_generator import make_blobs #产生样本

X , Y = make_blobs(n_samples=10000,n_features=3,centers=[[4,4,3],[0,3,0],[1,2,1],[2,1,2]],cluster_std=
[0.1,0.1,0.2,0.2],random_state=8)
fig=plt.figure()
ax=Axes3D(fig,rect=[0,0,1,1],elev=30,azim=20)
plt.scatter(X[:,0],X[:,1],X[:,2],marker=‘o’)
plt.show()
PCA-数据降维
from sklearn.decomposition import PCA
pca=PCA(n_components=3)
pca.fit(X)
print(pca.explained_variance_ratio_)
print(pca.explained_variance_)

pca=PCA(n_components=2)
pca.fit(X)
X_new=pca.transform(X)
plt.scatter(X_new[:,0],X_new[:,1],marker=‘o’)
plt.show()
PCA-数据降维
pca=PCA(n_components=1)
pca.fit(X)
X_new1=pca.transform(X)
y=[i for i in range(10000)]
plt.scatter(y,X_new1[:,0],marker=‘o’)
plt.show()
PCA-数据降维
(参考数据分析与机器学习实战,北京大学出版社)