This is the final project for Brown DSI DATA1030.
Overview This repository contains the code and documentation for the London Bike Sharing Demand Prediction project. The goal is to predict the demand for bike sharing in London based on several factors including weather conditions, time of the year, and more. This project uses machine learning models to understand the patterns in bike sharing usage and predict future demand.
System Requirements Python Version: Python 3.8+ Packages / Libraries: pandas, numpy, scikit-learn, matplotlib, seaborn, shap
Data Source:
Cycling Data: Transport for London. (n.d.). Cycling data. Retrieved from https://cycling.data.tfl.gov.uk/
Weather Data: Freemeteo. (n.d.). Weather data. Retrieved from https://freemeteo.com
Bank Holidays in the UK: Government Digital Service. (n.d.). UK bank holidays. Retrieved from https://www.gov.uk/bank-holidays
Kaggle Notebooks and Dataset: Mavrodiev, H. (n.d.). Bike sharing prediction: RF & XGBoost [Data set]. Kaggle. Retrieved from https://www.kaggle.com/code/hmavrodiev/bike-sharing-prediction-rf-xgboost
Mavrodiev, H. (n.d.). London bike sharing dataset [Data set]. Kaggle. Retrieved from https://www.kaggle.com/datasets/hmavrodiev/london-bike-sharing-dataset
Package Version
anyio 4.0.0 appnope 0.1.3 argon2-cffi 23.1.0 argon2-cffi-bindings 21.2.0 arrow 1.2.3 asttokens 2.4.0 async-lru 2.0.4 attrs 23.1.0 Babel 2.12.1 backcall 0.2.0 backports.functools-lru-cache 1.6.5 beautifulsoup4 4.12.2 bleach 6.0.0 Brotli 1.1.0 cached-property 1.5.2 certifi 2023.7.22 cffi 1.15.1 charset-normalizer 3.2.0 cloudpickle 2.2.1 colorama 0.4.6 comm 0.1.4 contourpy 1.1.0 cycler 0.11.0 debugpy 1.7.0 decorator 5.1.1 defusedxml 0.7.1 entrypoints 0.4 et-xmlfile 1.1.0 exceptiongroup 1.1.3 executing 1.2.0 fastjsonschema 2.18.0 fonttools 4.42.1 fqdn 1.5.1 fsspec 2023.10.0 idna 3.4 importlib-metadata 6.8.0 importlib-resources 6.0.1 ipykernel 6.25.2 ipython 8.15.0 ipywidgets 8.1.0 isoduration 20.11.0 jedi 0.19.0 Jinja2 3.1.2 joblib 1.3.2 json5 0.9.14 jsonpointer 2.0 jsonschema 4.19.0 jsonschema-specifications 2023.7.1 jupyter 1.0.0 jupyter_client 8.3.1 jupyter-console 6.6.3 jupyter_core 5.3.1 jupyter-events 0.7.0 jupyter-lsp 2.2.0 jupyter_server 2.7.3 jupyter_server_terminals 0.4.4 jupyterlab 4.0.5 jupyterlab-pygments 0.2.2 jupyterlab_server 2.24.0 jupyterlab-widgets 3.0.8 kiwisolver 1.4.5 llvmlite 0.40.1 MarkupSafe 2.1.3 matplotlib 3.7.2 matplotlib-inline 0.1.6 mistune 3.0.1 munkres 1.1.4 mysql-connector-python 8.2.0 nbclient 0.8.0 nbconvert 7.8.0 nbformat 5.9.2 nest-asyncio 1.5.6 notebook 7.0.3 notebook_shim 0.2.3 numba 0.57.1 numpy 1.24.4 openpyxl 3.1.2 overrides 7.4.0 packaging 23.1 pandas 2.0.3 pandocfilters 1.5.0 parso 0.8.3 patsy 0.5.3 pexpect 4.8.0 pickleshare 0.7.5 Pillow 10.0.0 pip 23.2.1 pkgutil_resolve_name 1.3.10 platformdirs 3.10.0 pooch 1.7.0 prometheus-client 0.17.1 prompt-toolkit 3.0.39 protobuf 4.21.12 psutil 5.9.5 ptyprocess 0.7.0 pure-eval 0.2.2 pycparser 2.21 Pygments 2.16.1 pyobjc-core 9.2 pyobjc-framework-Cocoa 9.2 pyparsing 3.0.9 PySocks 1.7.1 python-dateutil 2.8.2 python-json-logger 2.0.7 pytz 2023.3.post1 PyYAML 6.0.1 pyzmq 25.1.1 referencing 0.30.2 requests 2.31.0 rfc3339-validator 0.1.4 rfc3986-validator 0.1.1 rpds-py 0.10.2 scikit-learn 1.3.0 scipy 1.11.2 seaborn 0.12.2 Send2Trash 1.8.2 setuptools 68.1.2 shap 0.42.1 six 1.16.0 slicer 0.0.7 sniffio 1.3.0 soupsieve 2.5 stack-data 0.6.2 statsmodels 0.14.0 terminado 0.17.1 threadpoolctl 3.2.0 tinycss2 1.2.1 tomli 2.0.1 tornado 6.3.3 tqdm 4.66.1 traitlets 5.9.0 typing_extensions 4.7.1 typing-utils 0.1.0 tzdata 2023.3 uri-template 1.3.0 urllib3 2.0.4 wcwidth 0.2.6 webcolors 1.13 webencodings 0.5.1 websocket-client 1.6.2 wheel 0.41.2 widgetsnbextension 4.0.8 xgboost 1.7.6 zipp 3.16.2