This project demonstrates the use of dimensionality reduction and clustering techniques on image datasets for unsupervised learning and visualization.
- t-SNE: t-Distributed Stochastic Neighbor Embedding for dimensionality reduction.
- Spectral Clustering: Unsupervised learning to group data into clusters.
- Graph Embedding: Techniques like Laplacian Eigenmaps, Kernel PCA, Isomap, and LLE.
- High-dimensional data visualized in 2D and 3D spaces.
- Clustering results and performance metrics.
- MNIST: Handwritten digits dataset.
- CIFAR-10: Color images across 10 categories.
- Data Preprocessing: Normalization and preparation for analysis.
- Dimensionality Reduction: Using t-SNE and other embedding techniques.
- Clustering: Spectral Clustering with adjustable parameters.
- Evaluation Metrics:
- Silhouette Score
- Adjusted Rand Index (ARI)
- Performance Analysis: Optimal cluster number selection using:
- Elbow Method
- Silhouette Scores
- Visualization: Interactive and static plots for embeddings and clusters.
-
Mnist_tSNE_SC.py:- Runs t-SNE and Spectral Clustering on the MNIST dataset.
- Saves results in
/results/Mnist.
-
Cifar_tSNE_SC.py:- Runs t-SNE and Spectral Clustering on the CIFAR-10 dataset.
- Saves results in
/results/Cifar-10.
-
Jupyter Notebooks:
- Interactive exploration and visualization of results.
- Results are saved in the
/resultsdirectory. - Separate folders for MNIST and CIFAR-10 datasets.
- Includes:
- Cluster visualizations
- Performance metrics (Silhouette Scores, ARI, etc.)
- Embedding plots in 2D and 3D.
- Python 3.x
- Libraries:
numpyscipymatplotlibscikit-learntensorflow(for CIFAR-10)
Install dependencies using:
pip install -r requirements.txtThis project is licensed under the MIT License.

