OSRS Grand Exchange Price Prediction
Start-to-end project where we attempt to harness the power of machine learning to predict Old-school Runescape Grand Exchange prices.
Getting started
The journey so far has been documented in a series of Youtube videos found here:
- Part 1 - Setup and initial trial
- Part 2 - Data Collection
- Part 3 - Feature Engineering and Selection
- Part 4 - Hyperparameter Tuning, Application and API
Prerequisites
- Python
- Tensorflow
- Jupyter Notebook
- Python dependencies:
- requests
- json
- csv
- time
- matplotlib
- numpy
- pandas
- flask
Usage
Creating you own models
- Change the items_to_predict array in the main() function to the items you wish to use.
- Then, run:
python models.py
- You should see the .h5 model file created in the models folder along with features.txt file in the models/features folder
Applying the created models
- Make sure you have the latest data stored in data/rsbuddy or change the path of DATA_FOLDER in line 101 of application.py
- Change the items_to_predict array in the main() function to match the models you created/have.
- Then, run:
python application.py
- You should see a .csv file created (or have data appended to) in the name of that item in data/predictions.
Running the flask app
- Change items in items_predicted array in index() to match the items that you've predicted on
- Run:
python flask-app.py
- Go to localhost:80 and see your results!
Running the jupyter notebooks
- Move the preferred notebook out of the Notebooks foler to the main directory
- Run the following command:
jupyter notebook
Scraping your own data
If you wish to scrape your own data the way I've been doing it, run the following script every 2 minutes (for osbuddy):
python osbuddy-ge-scraper.py
OR every 30 minutes (for rsbuddy):
python rsbuddy-ge-scraper.py
You can do this automatically by using crontab if you're on a Linux machine or windows scheduler if you're on a Windows machine.
Credits
Contributions
- Please email me at billnyetheai@gmail.com or message me on discord at ChronicCoder#1667
Community
- Our amazing discord server: https://discord.gg/ZummSXK