Skip to content

Predict Album popularity based on Acoustic Data using ML🧠

Notifications You must be signed in to change notification settings

alaydeliwala/Album-Popularity-Predictor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Album-Popularity-Predictor

A project for CSC 422 Automated Learning & Data Analysis at NC State.

Introduction

We hoped to be able to predict an albums popularity on the year end Billboard top charts based on various acoustic features. Our models assumed an album was popular if the rank was ≤ 25 or not popular if the rank was > 25.

In order to assess whether or not an album is popular, we utilized different machine learning models:

  • Naive-Bayes
  • Decision Tree (utilizing Information Gain and Entropy)
  • Support Vector Machine
  • Deep Neural Networks

Dataset

Created using data from:

The first dataset was used for the acoustic features and the the Top Albums List was scraped for the album name

Traning & Testing

We performed a 70/30 training testing spilt and standardized the data

Model Results

Model Accuracy
Naive Bayes Model (Gaussian) 74.9%
Decision Tree Model (Gini) 86.5%
SVM Model 85.3 %
2-NN + 10-Fold CV 85.58%
Deep Neural Network 86.00%

Setup

Auto Installation using pip!

  1. Make sure you have installed virtualenv, or if not then run pip3 install virtualenv
  2. Create the python three virtual environment virtualenv venv
  3. Start the environment source venv/bin/activate
  4. Automatically install all relevant dependencies using the following command pip install -r requirements.txt

Download Testing and Training Data

Allow dataset_download.sh permission to execute by running

$ chmod +x dataset_download.sh

Download the data byt running

$ ./dataset_download.sh

The training and testing data should be available in data/

Usage

In the root folder of the program run this command to start the virtual environment

$ source venv/bin/activate

After the virtual environment has started run this command to start the program

$ python models/decision_tree.py
$ python models/knn_model.py
$ python models/naive_bayes_model.py
$ python models/neural_net.py
$ python models/svm_model.py

Additional Resources

Data Science for Hit Song Prediction

Song Popularity Predictor

About

Predict Album popularity based on Acoustic Data using ML🧠

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •