YAML Metadata Warning: empty or missing yaml metadata in repo card (https://huggingface.co/docs/hub/model-cards#model-card-metadata)

πŸ’± FXTimeSeries - Exchange Rate Forecasting

This project provides a complete pipeline for forecasting foreign exchange (FX) rates using machine learning. It includes data preprocessing, feature engineering, model training with hyperparameter tuning, and deployment via a Streamlit web application.

πŸ“¦ Features

  • βœ… Full ML pipeline: ETL, feature engineering, model training, evaluation
  • 🧠 Trained models: Random Forest, XGBoost, SVR
  • πŸ“ˆ Time series techniques: lag features, rolling stats, date-based features
  • πŸ§ͺ Model selection using GridSearchCV
  • πŸ“Š Evaluation metrics: RMSE, MAE, RΒ²
  • πŸš€ Streamlit app for predictions on new data
  • πŸ’Ύ Models available as split ZIP archive

πŸ“ Repository Structure

FXTimeSeries/ β”œβ”€β”€ app.py # Streamlit application β”œβ”€β”€ exchange_rate_pipeline.py # Complete training pipeline β”œβ”€β”€ models_split.zip # Main model zip file (part of archive) β”œβ”€β”€ models_split.z01-z07 # Split model zip parts β”œβ”€β”€ requirements.txt # Python dependencies β”œβ”€β”€ README.md # This file └── modelcard.json # Hugging Face model card


🧠 Models Trained

Model Description
Random Forest Regressor Ensemble model using decision trees
XGBoost Regressor Gradient boosting algorithm
Support Vector Regressor Kernel-based regression model

Each model was optimized using GridSearchCV over parameters like n_estimators, max_depth, C, kernel, and learning_rate.


πŸ§ͺ Evaluation Metrics

Evaluation was done on a test set using:

  • RMSE (Root Mean Squared Error)
  • MAE (Mean Absolute Error)
  • RΒ² Score

The best models from grid search were saved and exported.


πŸš€ Running the App

1. Install Dependencies

pip install -r requirements.txt
2. Start the Streamlit App
bash
Copy
Edit
streamlit run app.py
3. Upload CSV File
Upload a preprocessed CSV that contains the same features used during training.

πŸ“₯ Downloading the Models
The model files are provided as a multi-part split archive:


models_split.zip
models_split.z01
models_split.z02
...
models_split.z07
To extract:

On Linux/macOS:
bash
Copy
Edit
cat models_split.z* models_split.zip > combined_models.zip
unzip combined_models.zip
On Windows:
Use 7-Zip or WinRAR to extract starting from models_split.zip.

πŸ“œ License
This project is licensed under the MIT License.

πŸ™‹β€β™‚οΈ Author
Voltsy
GitHub: @heubert-69


## πŸ“˜ `modelcard.json`

```json
{
  "model_name": "FXTimeSeries",
  "license": "mit",
  "language": "en",
  "tags": ["time-series", "regression", "exchange-rate", "finance", "streamlit"],
  "datasets": ["custom"],
  "metrics": ["rmse", "mae", "r2"],
  "model-index": [
    {
      "name": "FXTimeSeries",
      "results": [
        {
          "task": {
            "name": "Time Series Forecasting",
            "type": "time-series-forecasting"
          },
          "metrics": [
            {
              "name": "RMSE",
              "type": "rmse",
              "value": "See README"
            },
            {
              "name": "MAE",
              "type": "mae",
              "value": "See README"
            },
            {
              "name": "RΒ²",
              "type": "r2",
              "value": "See README"
            }
          ]
        }
      ]
    }
  ],
  "widget": {
    "type": "table",
    "inputs": "CSV file with the same feature columns used in training"
  },
  "pipeline_tag": "time-series-forecasting",
  "library_name": "sklearn"
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support