PCA主成分分析降维方法的原理及其实现,并且通过python编程实现可视化,利用matplotlib进行降维前后对比

PCA 降维的本质是,尽量保证数据在空间中的相对位置不变,通过旋转坐标系,换一个在某些维度能表达更多数据信息的坐标系去刻画数据。PCA降维方法极有成效地降低了实验数据的维度数,对解决信息冗余的问题有着积极作用,并且尝试建立精度最佳的集成学习模型并寻得最优的分类器组合。

以下是代码及其输出结果


```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA

# 原始数据
X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]]);

# pca降维
pca = PCA(n_components = 2)
X1 = pca.fit_transform(X)
Y = pca.inverse_transform(X1)
print('原始数据:')
print(X)
print('降维后的数据:')
print(X1)
print('还原的数据:')
print(Y)


# 绘制散点图,可视化数据
fig = plt.figure()
ax1 = fig.add_subplot(121)
plt.xlabel('X')
plt.ylabel('Y')
ax1.scatter(X[:,0],X[:,1],c='r',marker='o')
# 绘制还原后的数据
ax2 = fig.add_subplot(122)
plt.xlabel('X')
ax2.scatter(Y[:,0],Y[:,1],c='b',marker='x')
plt.show()
print(pca.explained_variance_ratio_)

![以下是输出结果](https://img-blog.csdnimg.cn/20210502121855870.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzU2MTcx,size_16,color_FFFFFF,t_70#pic_center)

你可能感兴趣的:(PYTHON,机器学习,人工智能,python,可视化,机器学习)