Music Genre Classification
Ten genres, 5,000 tracks each, and a pipeline that spent more time on the features than on the classifier.
University machine-learning coursework. Data preparation, training and exploratory analysis.
The plots came first, as I wanted to see what actually separated the genres before choosing anything, and then the scikit-learn pipeline went in: missing value handling, an artist to genre encoder, one hot encoding, scaling, SelectKBest and PCA, with a stack of random forest, gradient boosting and XGBoost under a logistic regression at the end.
Predictions from the 2024 run are in results.csv, and combined_data.csv is the merged set.
State
Coursework from September 2024, kept with its figures. Running it again means supplying your own test split, as the one it expects isn't in the repo.