Principal Component Analysis (PCA)
Understand PCA for reducing dimensionality while preserving information.
45 min•By Priygop Team•Last updated: Feb 2026
What is PCA?
Principal Component Analysis (PCA) is a dimensionality reduction technique that transforms high-dimensional data into a lower-dimensional representation while preserving the most important information.
Key Concepts
- Eigenvalues: Measure of variance explained
- Eigenvectors: Principal components
- Explained Variance: Percentage of variance retained
Implementation
Example
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
import numpy as np
import matplotlib.pyplot as plt
# Generate sample data
np.random.seed(42)
X = np.random.randn(100, 10)
# Standardize the data
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# Apply PCA
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_scaled)
# Explained variance ratio
explained_variance_ratio = pca.explained_variance_ratio_
print(f"Explained variance ratio: {explained_variance_ratio}")
print(f"Total explained variance: {sum(explained_variance_ratio):.4f}")
# Visualize the results
plt.figure(figsize=(12, 4))
# Original data (first 2 dimensions)
plt.subplot(1, 2, 1)
plt.scatter(X_scaled[:, 0], X_scaled[:, 1])
plt.title('Original Data (First 2 Dimensions)')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
# PCA transformed data
plt.subplot(1, 2, 2)
plt.scatter(X_pca[:, 0], X_pca[:, 1])
plt.title('PCA Transformed Data')
plt.xlabel('Principal Component 1')
plt.ylabel('Principal Component 2')
plt.tight_layout()
plt.show()