7-7 试手MNIST数据集
MNIST
使用kNN
knn没有数据归一化,其数据本身就在一定区间其像素表示亮度
PCA进行降维
pca不仅仅降维,还同时在降噪
7-8 使用PCA对数据进行降噪
回忆我们之前的例子
手写识别的例子
example_digits = noisy_digits[y==0,:][:10]
for num in range(1,10):
example_digits = np.vstack([example_digits, noisy_digits[y==num,:][:10]])
def plot_digits(data):
fig, axes = plt.subplots(10, 10, 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(data[i].reshape(8, 8),
cmap='binary', interpolation='nearest',
clim=(0, 16))
plt.show()
plot_digits(example_digits)
7-9 人脸识别与特征脸
每一行是一个样本,Wk中表达了X中的信息
特征脸
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')
plt.show()
plot_faces(example_faces)
pca降维
更多关于lfw_people数据集
有的人脸图像太少,所以可以找到每个人的图像数等于60的数据样本,这儿就8个人的,可以采用knn实现自己的人脸识别系统