lfw分类 python_Python机器学习:PCA与梯度上升:009人脸识别与特征脸(lfw_people数据集)...
將w的每一行想成一個(gè)樣本,則第一行是最重要的樣本。。第二行次重要。。(Wk特征engen face)
CODE
我們使用lfw_people數(shù)據(jù)集
#人臉識(shí)別與特征臉
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import fetch_lfw_people
這個(gè)數(shù)據(jù)集很大有200多m直接用fetch命令下載卻失敗了,手動(dòng)下載數(shù)據(jù)
鏈接:https://pan.baidu.com/s/11ebeCTH7E24XAgYVL7y_-A
提取碼:3gut
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機(jī)App,操作更方便哦
放在這個(gè)目錄下面,解壓(job本來沒有,重新啟動(dòng)一下jupyter運(yùn)行一下就ok了)
也是一個(gè)字典結(jié)構(gòu)
faces.keys()
dict_keys(['data', 'images', 'target', 'target_names', 'DESCR'])
看看data的大小
print(faces.data.shape)
(13233, 2914)
print(faces.images.shape)
62*47 = 2914
(13233, 62, 47)
打亂索引
random_indexs = np.random.permutation(len(faces.data))
X = faces.data[random_indexs]
example_faces = X[:36,:]
print(example_faces.shape)
(36,2914)
繪制36幅圖片
#cmap 改變繪制風(fēng)格,cmaps['Sequential'] = [
# 'Greys', 'Purples', 'Blues', 'Greens', 'Oranges', 'Reds',
# 'YlOrBr', 'YlOrRd', 'OrRd', 'PuRd', 'RdPu', 'BuPu',
# 'GnBu', 'PuBu', 'YlGnBu', 'PuBuGn', 'BuGn', 'YlGn']
def plot_faces(faces):
fig,axes = plt.subplots(6,6,figsize = (10,10),
subplot_kw = {'xticks':[],'yticks':[]},
gridspec_kw =dict(hspace = 0.1,wspace = 0.1))
for i ,ax in enumerate(axes.flat):
ax.imshow(faces[i].reshape(62,47),
cmap='bone')
plot_faces(example_faces)
特征臉
使用隨機(jī)方式求PCA,數(shù)據(jù)量較大
#特征臉
from sklearn.decomposition import PCA
pca = PCA(svd_solver='randomized')#使用隨機(jī)的方式求pca,數(shù)據(jù)較大
%time pca.fit(X)
Wall time: 32.3 s
特征臉矩陣大小
print(pca.components_.shape)
(2914, 2914)
還可以繪制36-73
繪制特征臉
plot_faces(pca.components_[:36,:])#繪制特征臉,第一張就很簡單只有輪廓,越往后細(xì)節(jié)越多
標(biāo)簽:2914,people,Python,36,shape,lfw,faces,pca,data
來源: https://blog.csdn.net/weixin_46815330/article/details/110912694
總結(jié)
以上是生活随笔為你收集整理的lfw分类 python_Python机器学习:PCA与梯度上升:009人脸识别与特征脸(lfw_people数据集)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 流媒体 关键词解释
- 下一篇: 浅析“高斯白噪声”,“泊松噪声”,“椒盐