Python ML Analysis & Visualization

Job ID: 40241571

Budget: $10 – $30 CAD

I have a cleaned-but-raw dataset plus a small MNIST subset waiting for a full exploratory and modelling pass in Python. My goal is to understand its underlying structure through several classic unsupervised techniques—density estimation, Gaussian Mixture Models trained with the Expectation–Maximisation algorithm, PCA for dimensionality reduction, and at least one clustering approach of your choice (K-means, spectral, or another solid alternative).

Here is what I need from you:

• Write original, well-commented Python code (Jupyter notebook or modular .py files) that loads the data, implements each method from scratch or with scikit-learn where appropriate, and keeps functions neatly separated.
• Generate clear visual outputs: likelihood curves for EM, PCA component plots, cluster label overlays, and any other plots that make results intuitive at a glance.
• Compare model fit and clustering quality quantitatively and narrate what the numbers mean—log-likelihood, AIC/BIC, silhouette scores, reconstruction error, etc.
• For the MNIST subset, visualise learned mixture components and principal components so a non-expert can “see” what the model has captured.
• Finish with a concise findings summary that ties the visuals and metrics together.

Acceptance criteria
– Code runs end-to-end on my machine with a single command or notebook execution.
– All figures render without manual tweaks and are saved to disk.
– Explanations are written in plain English, no unexplained jargon.
– Delivery is within the next few days (ASAP), including one quick iteration if minor tweaks are needed.

I will provide the datasets the moment we start; you handle the rest using Python and common libraries such as NumPy, Pandas, scikit-learn, matplotlib, and seaborn.