The Billboard Hot 100 Chart1 remains one of the definitive ways to measure the success of a popular song. We investigated using machine learning techniques to predict which songs will become Billboard Hot 100 Hits.
1)Dataset for songs were collected from Bilboard.com and Millions Songs Dataset. Songs were from year 1990-2018
2)Extracted Songs were labeled either 0 or 1 .Here 0 means billboard not hit,and 1 means billboard hit .
3)Audio Features for each song were extracted from the Spotify web API and the final dataset was provided to our team.
4)Task was to take input from user about audio features and to predict whether the Song will be in the billboard list or not
5)After cleaning the data, a dataset of approx. 10000 songs was created.
Dropped the duplicates present in the dataset and then plotted graphs:-
1) The countplot of the output Column 2) Distribution of Genre 3)Distribution of song features 4)Distribution of frequency over three decades 5)Correlation between columns 6)Feature v/s Decade 1990-2000 7)Feature v/s Decade 2000-2010 8)Feature v/s Decade 2000-2010 9)Feature Comparisons The graphs in the code show the separability in the data when compared across two unique Spotify features; this suggests that data may separate across an n-dimensional feature space. Given this, the problem can alternatively be posed as an unsupervised learning problem where clustering methods can classify the data.
1)Dropped the unnecessary columns
2)Balanced the output classes
3)Scaled the data with min max scaler
4)Splitted the datasets into train and test data(80/20)
5)Passed our preprocessed data into our logistic regression modela and Linear Discrimanant Analysis(LDA) and trained the data
6)We also performed hyperparameter tuning
ACCURACY:67
ROC:0.66
PRECISION: (70 FOR 0 AND, 65 FOR 1)
RECALL: (58 FOR 0 AND , 76 FOR 1)
ACCURACY:68
ROC:0.67
PRECISION: (69 FOR 0 AND, 66 FOR 1)
RECALL: (60 FOR 0 AND , 75 FOR 1)
Logistic Regression :
LDA:
FLASK: Flask is a web application framework written in Python. It has multiple modules that make it easier for a web developer to write applications without having to worry about the details like protocol management, thread management, etc.
HEROKU: Heroku is a container-based cloud Platform as a Service (PaaS). Developers use Heroku to deploy, manage, and scale modern apps. Our platform is elegant, flexible, and easy to use, offering developers the simplest path to getting their apps to market.
HTML,CSS
1)First we need to create a folder which will contain all the files required for deployment
2)We need to have static folder, which will contain images
3)templates= will have html and css codes
4)app.py which will have a code that will predict the outcomes by taking datas and render with html files
5)model.pkl file should be there (saved model)
6)requirements.txt will contain the neceessary libraries which we used to build a model
7)Procfile is used to run application on heroku cloud platform
To run locally - python app.py To run this project run in browser - https://billboardhot100-predictionapp.herokuapp.com/Suhani
Tanya





















