上一篇文章介绍了PCA降维后的特征矩阵可视化,可以直观得看出降维后提取的综合特征,但我们想继续探究降维后的信息,能否通过逆转还原呢。
1、导入并探索数据
from sklearn.datasets import fetch_lfw_people faces = fetch_lfw_people(min_faces_per_person=60)
2、降维建模
from sklearn.decomposition import PCA x = faces.data[:200, :] # 节约时间,只取200张照片 pca = PCA(100) x_dr = pca.fit_transform(x) print(x_dr.shape) # (1348, 150)
3、逆转升维
x_inv = pca.inverse_transform(x_dr) print(x_inv.shape)
4、特征提取前后对比可视化
import matplotlib.pyplot as plt fig, ax = plt.subplots(2, 5, figsize=(10, 2) ,subplot_kw={'xticks':[], 'yticks':[]} ) for i in range(5): ax[0,i].imshow(faces.images[i, :, :], cmap='binary_r') ax[1,i].imshow(x_inv[i].reshape(62, 47), cmap='binary_r') plt.show()
由图可见,降维后再逆转还原的图片,清晰度不如原图,说明降维后的特征信息还是会损失一些内容的。
本文为 陈华 原创,欢迎转载,但请注明出处:http://ichenhua.cn/read/277
- 上一篇:
- 数据结构之队列
- 下一篇:
- 数据结构之双向队列及tail函数