Skip to content

From MLflow experiments to Docker deployments on SageMaker, we've managed BTC data like it's our own crypto wallet—securely and with high returns (in model accuracy, that is) 💼. Join us on this journey to tame the crypto chaos with ARIMA and AWS expertise! 🌟

Notifications You must be signed in to change notification settings

Lylrg/btc-usd-prediction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Predicting BTC/USD Prices with ARIMA Model using MLOps

Screenshot

Welcome to our project on predicting BTC/USD prices using ARIMA (AutoRegressive Integrated Moving Average) model!📈 This project demonstrates how we leverage machine learning for time series forecasting and deploy models using MLflow and Amazon SageMaker.🚀

Static Badge Static Badge Static Badge Static Badge Static Badge

Project Overview

In this project, we aimed to predict the future price of Bitcoin (BTC/USD) using historical data and real-time updates from the CryptoCompare API. The ARIMA model was selected for its performance in training and testing phases.

Setup AWS CLI configuration

We followed the setup instructions detailed in this repository, which provided comprehensive guidance on configuring AWS CLI for seamless integration with MLflow and Amazon SageMaker.

Step-by-Step Process

  1. Training the Model with MLflow

    Run train.py to initiate training and track experiments with MLflow. This generates the MLflow folder containing experiment logs and artifacts, including the trained model.

  2. Building and Pushing Docker Image

    Using the artifacts from MLflow, build a Docker image containing the trained model(go to the artifact directory):

    mlflow sagemaker build-and-push-container 
    

After, check AWS ECR repos list to get the image URI.

  1. Deploy image to Sagemaker Run arimadeploy.py to ddeploy image to Sagemaker

  2. Store fetched btc data to a s3 bucket Run fetch_bucket.py store a csv file from btc fetched data into a s3 bucket

  3. Retrain the model if it's necesary Run test_model.py to predict in base of the data stored in the s3 bucket. If the R2 score is less than 0.80 the model it's retrained and saved as a new version into s3.

Team

This project was developed by:

LinkedIn LinkedIn LinkedIn

About

From MLflow experiments to Docker deployments on SageMaker, we've managed BTC data like it's our own crypto wallet—securely and with high returns (in model accuracy, that is) 💼. Join us on this journey to tame the crypto chaos with ARIMA and AWS expertise! 🌟

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages