What is unsupervised learning?
Unsupervised learning analyzes unlabeled data to find hidden patterns, group similar data points, or reduce data complexity. Unlike supervised learning, these algorithms don’t require target labels and instead learn inherent data structures.Available techniques
Clustering
Group similar data points using K-means, hierarchical clustering, and KD-Tree spatial indexing
Dimensionality reduction
Reduce feature space complexity with PCA and SVD while preserving variance
Common use cases
- Customer segmentation: Group users by behavior patterns
- Anomaly detection: Identify outliers and unusual patterns
- Feature extraction: Create compressed representations for visualization or preprocessing
- Data exploration: Understand structure before supervised learning
- Compression: Reduce storage requirements while retaining information
Choosing the right algorithm
Clustering is ideal when you need to:- Group similar items together
- Find natural categories in data
- Segment customers or documents
- Identify spatial neighborhoods
- Visualize high-dimensional data in 2D or 3D
- Remove redundant features
- Speed up downstream algorithms
- Denoise data by filtering low-variance components
All MLPP unsupervised learning classes use Eigen for matrix operations, providing efficient numerical computation.