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.🚀
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.
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.
-
Training the Model with MLflow
Run
train.py
to initiate training and track experiments with MLflow. This generates theMLflow
folder containing experiment logs and artifacts, including the trained model. -
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.
-
Deploy image to Sagemaker Run
arimadeploy.py
to ddeploy image to Sagemaker -
Store fetched btc data to a s3 bucket Run
fetch_bucket.py
store a csv file from btc fetched data into a s3 bucket -
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.
This project was developed by: