import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from ipywidgets import interact
from sklearn.datasets import load_digits
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA as SKPCA
dataset = load_digits()
images, labels = dataset.data, dataset.target
print(images.shape)
(1797, 64)
%matplotlib inline
plt.figure(figsize=(4,4))
plt.imshow(images[15].reshape(8,8), cmap='gray');
scaler = StandardScaler()
images_norm = scaler.fit_transform(images)
print(images_norm.shape)
(1797, 64)
%matplotlib inline
plt.figure(figsize=(4,4))
plt.imshow(images_norm[15].reshape(8,8), cmap='gray');
num_component = 10
pca = SKPCA(n_components=num_component)
reduced_data = pca.fit_transform(images_norm)
print(reduced_data.shape)
inv_pca = pca.inverse_transform(reduced_data)
print(inv_pca.shape)
(1797, 10) (1797, 64)
%matplotlib inline
plt.figure(figsize=(4,4))
plt.imshow(inv_pca[15].reshape(8,8), cmap='gray');