3

 import numpy as np

import matplotlib.pyplot as plt

from sklearn.datasets import load_iris

from sklearn.preprocessing import StandardScaler

from sklearn.decomposition import PCA

iris = load_iris()

X_scaled = StandardScaler().fit_transform(iris.data)

pca = PCA(n_components=2)

X_pca = pca.fit_transform(X_scaled)

plt.figure(figsize=(10, 8))

for target, target_name in zip(range(3), iris.target_names):

    plt.scatter(X_pca[iris.target == target, 0], X_pca[iris.target == target, 1], label=target_name, alpha=0.8)

plt.xlabel(f'PC1 ({pca.explained_variance_ratio_[0]:.2%})')

plt.ylabel(f'PC2 ({pca.explained_variance_ratio_[1]:.2%})')

plt.title('PCA of Iris Dataset')

plt.legend()

plt.grid(True, alpha=0.3)

plt.show()

plt.plot(np.cumsum(pca.explained_variance_ratio_), 'bo-')

plt.xlabel('Number of Components')

plt.ylabel('Cumulative Explained Variance')

plt.title('Explained Variance vs. Number of Components')

plt.grid(True, alpha=0.3)

plt.show()

Comments

Popular posts from this blog

9

7

10