scree plot python
#PCA decomposition plus scree plot in python
import matplotlib.pyplot as plt
import numpy as np
from sklearn.decomposition import PCA
NUM_COMPONENTS = 32
pca = PCA(NUM_COMPONENTS)
pca.fit(YOUR_DATA)
YOUR_DATA_pca = pca.transform(YOUR_DATA)
U, S, V = np.linalg.svd(YOUR_DATA_pca)
eigvals = S**2 / np.sum(S**2)
fig = plt.figure()
sing_vals = np.arange(NUM_COMPONENTS) + 1
plt.plot(sing_vals, eigvals, 'ro-')
plt.title('Scree Plot')
plt.xlabel('Principal Component')
plt.ylabel('Eigenvalue')
plt.grid()
plt.show()