Skip to content
/ muses Public

MUSES: Music genre claSsification with EnSemble learning

Notifications You must be signed in to change notification settings

zrion/muses

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MusEs: MUsic genre claSsification with EnSemble learning

Hai N. Nguyen, PhD student
Khoury College of Computer Sciences, Northeastern University
In the scope of CS6140 Machine Learning final project

We focus on music genre classification, which is important for music information retrieval and is an interesting problem.

  • Python version: Python 3.4+ (This is to take advantages of parallel processing with GridSearchCV, which has some problems with multiprocessing that is hard to solve in lower Python version.)
  • Libraries used:
    • For data manipulation and visualization: Numpy, scipy, pandas, matplotlib, imbalanced-learn
    • For learning and prediction: Scikit-learn, xgboost
  • Dataset: Free Music Archive (FMA) https://github.com/mdeff/fma

Models that I used:

  • Baseline models: Logistic regression, Decision Tree, SVM kernel RBF/Linear, Neural Network
  • Ensemble models: XGBoost (Extreme Gradient Boosting) and ExtraTrees (Extremely Randomized Trees) Hyper-parameters have been tuned with 5-fold cross validation.

Further techniques that I used:

  • Principal Component Analysis (PCA) for dimensionality reduction.
  • Synthetic Minority Over-sampling (SMOTE) for balancing the dataset.

Possible directions for future work:

  • Feature engineering for selecting best subset of features
  • Relabeling data to alleviate the effect of imbalanced dataset
  • Cost-Sensitive Learning is another approach for imbalanced dataset (Problem: Cannot wrap around for all models! (http://storm.cis.fordham.edu/~gweiss/papers/dmin07-weiss.pdf)
  • Classification with automatic feature extraction using Convolutional Neural Network with strong classification models: XGBoost, Deep Neural Network

Notes

  • Make sure that you have all the required library installed. The easiest way is by using pip install
  • Make sure that you are comfortable with tuning hyperparameters using GridSearchCV.
  • Please check the path to recording files.

About

MUSES: Music genre claSsification with EnSemble learning

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages