Skip to content

This is made by for the Patter Recognition and Machine Learning course. The object of the project is to predict the bitcoin price. Though I was aware of to handle date & time related problems in ML, I simplified it and solved the question my own way.

Notifications You must be signed in to change notification settings

Aasrish/Bitcoin-Price-Prediction

Repository files navigation

Bitcoin-Price-Prediction

Abstract - This report contains the details about my work on the bitcoin price prediction problem. We have a csv dataset which has features like, “Date”, “Open”,”High”,”Low”, “Close”, “Volume”, “Market Cap”. I have used various classification algorithms and compared their results in this report.

Introduction:

In this new digital era, where every enthusiast invests his money in stocks and among which Bitcoin is the most widespread and one of the most valuable digital currencies. So In this scenario it is very important to understand the way bitcoin fluctuates and changes over time. With this we can safeguard our digital investment.

Dataset:

  • Date column- contains dates from April, 2013 to August, 2017.
  • Few features like, “Open”, “High”, “Low”, “Volume”, “Market Cap”.
  • “Close”, the closing value for the day.

Methodology:

Preprocessing:

  • Added New column “close_pred”. Which is to be used for classification. Here I took a number in the range of separation of 80 to be of one class. This converts the given continuous data to categorical data. With this we are left with 36 different classes.
  • I’ve shifted “Close” by 1. This brings the relationship of bitcoin values for two consecutive days. And hence a close value to be predicted depends on close values of its previous day.
  • Converted “Volume” & “Market Cap” from “Object” type to “float” type.
  • Converted “Open”, “High”, “Low”, “Volume”, “Market Value” into categorical data using bins. (N_bins = 600).

Classifiers Used:

  • Decision Tree Classifier
  • XGBoost
  • LightGBM
  • Random Forest Classifier

Implementation:

  • DTC: Decision Tree Classifier is the most widely used Classification Model due to its ability to break complex data of high complexity into smaller branches thus reducing complexity. Due to this ease in the interpretation, we have chosen Decision Tree Classifier as our next model.

classification report is as follows:

image

Y_pred & Y_test graphs:

image

  • XGB XGBoost (Extreme Gradient Boosting), is a gradient boosted decision tree, it provides parallel tree boosting. It is a supervised machine learning algorithm used for relatively large datasets.

classification report is as follows:

image

Y_pred & Y_test graphs:

image

  • LightGBM LightGBM is a gradient boosting framework based on decision trees to increase the efficiency of the model and reduce memory usage.

classification report is as follows:

image

Y_pred & Y_test graphs:

image

  • Random Forest Random Forest Classifier Model creates a set of multiple decision trees from randomly selected subsets of the training set. It then takes the average of all the votes of different trees to finally select the class. The advantage in this method is that the error of one tree will be overshadowed by the other trees.

classification report is as follows:

image

Y_pred & Y_test graphs:

image

Classification Accuracy

  • DTC - 62.740
  • XGB - 61.884
  • LightGBM - 62.740
  • Random Forest - 61.456

Report

Report

Team:

Aasrish Vinay Perumalla

About

This is made by for the Patter Recognition and Machine Learning course. The object of the project is to predict the bitcoin price. Though I was aware of to handle date & time related problems in ML, I simplified it and solved the question my own way.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published