diff --git a/README.md b/README.md index 13f6942..95875d9 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,19 @@ ### Project Summary We are conducting a data mining project focused on analyzing driver performance in Formula One racing, with the goal to correlate driver performance with track and weather conditions, and to predict future race results using these correlations. We will apply various data mining techniques learned throughout the course to extract meaningful insights from the dataset. +## Getting Started +To run the project, you will need to set up a conda environment using the `conda_env.yml` file. To do this, run the following command in the terminal: +``` +conda env create -f conda_env.yml +``` + +Then, activate the environment with: +``` +conda activate csci349 +``` + +Finally, open the Jupyter notebook of your choice and run the cells. + ### Important Dates - **Data Selection Due:** November 13, 2024 - **DataPrep_EDA.ipynb Due:** November 22, 2024 diff --git a/conda_env.yml b/conda_env.yml new file mode 100644 index 0000000..94711fc --- /dev/null +++ b/conda_env.yml @@ -0,0 +1,282 @@ +name: csci349 +channels: + - conda-forge + - defaults + - https://repo.anaconda.com/pkgs/main + - https://repo.anaconda.com/pkgs/r +dependencies: + - _py-xgboost-mutex=2.0=cpu_0 + - absl-py=2.1.0=py310hca03da5_0 + - anyio=4.6.2=py310hca03da5_0 + - appnope=0.1.2=py310hca03da5_1001 + - argon2-cffi=21.3.0=pyhd3eb1b0_0 + - argon2-cffi-bindings=21.2.0=py310h1a28f6b_0 + - asttokens=2.0.5=pyhd3eb1b0_0 + - astunparse=1.6.3=py_0 + - async-lru=2.0.4=py310hca03da5_0 + - attrs=24.2.0=py310hca03da5_0 + - babel=2.11.0=py310hca03da5_0 + - beautifulsoup4=4.12.3=py310hca03da5_0 + - blas=1.0=openblas + - bleach=4.1.0=pyhd3eb1b0_0 + - boost-cpp=1.82.0=h48ca7d4_2 + - bottleneck=1.4.2=py310hbda83bc_0 + - brotli=1.0.9=h80987f9_8 + - brotli-bin=1.0.9=h80987f9_8 + - brotli-python=1.0.9=py310h313beb8_8 + - bzip2=1.0.8=h80987f9_6 + - c-ares=1.19.1=h80987f9_0 + - ca-certificates=2024.9.24=hca03da5_0 + - cairo=1.16.0=h302bd0f_5 + - cattrs=24.1.2=pyhd8ed1ab_0 + - certifi=2024.8.30=pyhd8ed1ab_0 + - cffi=1.17.1=py310h3eb5a62_0 + - charset-normalizer=3.3.2=pyhd3eb1b0_0 + - comm=0.2.1=py310hca03da5_0 + - contourpy=1.2.0=py310h48ca7d4_0 + - cycler=0.11.0=pyhd3eb1b0_0 + - cyrus-sasl=2.1.28=h9131b1a_1 + - debugpy=1.6.7=py310h313beb8_0 + - decorator=5.1.1=pyhd3eb1b0_0 + - defusedxml=0.7.1=pyhd3eb1b0_0 + - et_xmlfile=1.1.0=py310hca03da5_0 + - exceptiongroup=1.2.0=py310hca03da5_0 + - executing=0.8.3=pyhd3eb1b0_0 + - expat=2.6.3=h313beb8_0 + - fastf1=3.4.4=pyhd8ed1ab_0 + - flatbuffers=24.3.25=h313beb8_0 + - font-ttf-dejavu-sans-mono=2.37=hd3eb1b0_0 + - font-ttf-inconsolata=2.001=hcb22688_0 + - font-ttf-source-code-pro=2.030=hd3eb1b0_0 + - font-ttf-ubuntu=0.83=h8b1ccd4_0 + - fontconfig=2.14.1=h6402c1e_3 + - fonts-anaconda=1=h8fa9717_0 + - fonts-conda-ecosystem=1=hd3eb1b0_0 + - fonttools=4.51.0=py310h80987f9_0 + - freetype=2.12.1=h1192e45_0 + - fribidi=1.0.10=h1a28f6b_0 + - gast=0.5.3=pyhd3eb1b0_0 + - gdk-pixbuf=2.42.10=h80987f9_1 + - gettext=0.21.0=hbdbcc25_2 + - giflib=5.2.2=h80987f9_0 + - glib=2.78.4=h313beb8_0 + - glib-tools=2.78.4=h313beb8_0 + - google-pasta=0.2.0=pyhd3eb1b0_0 + - graphite2=1.3.14=hc377ac9_1 + - graphviz=2.50.0=hf331ead_1 + - grpcio=1.62.2=py310h313beb8_0 + - gst-plugins-base=1.14.1=h313beb8_1 + - gstreamer=1.14.1=h80987f9_1 + - gts=0.7.6=hde733a8_3 + - h11=0.14.0=py310hca03da5_0 + - h5py=3.12.1=py310h8456320_0 + - harfbuzz=4.3.0=he9eebac_2 + - hdf5=1.12.1=h05c076b_3 + - httpcore=1.0.2=py310hca03da5_0 + - httpx=0.27.0=py310hca03da5_0 + - icu=73.1=h313beb8_0 + - idna=3.7=py310hca03da5_0 + - ipykernel=6.29.5=py310hca03da5_0 + - ipython=8.27.0=py310hca03da5_0 + - ipywidgets=8.1.2=py310hca03da5_0 + - itsdangerous=2.2.0=pyhd8ed1ab_0 + - jedi=0.19.1=py310hca03da5_0 + - jinja2=3.1.4=py310hca03da5_1 + - joblib=1.4.2=py310hca03da5_0 + - jpeg=9e=h80987f9_3 + - json5=0.9.25=py310hca03da5_0 + - jsonschema=4.23.0=py310hca03da5_0 + - jsonschema-specifications=2023.7.1=py310hca03da5_0 + - jupyter=1.0.0=py310hca03da5_9 + - jupyter-lsp=2.2.0=py310hca03da5_0 + - jupyter_client=8.6.0=py310hca03da5_0 + - jupyter_console=6.6.3=py310hca03da5_0 + - jupyter_core=5.7.2=py310hca03da5_0 + - jupyter_events=0.10.0=py310hca03da5_0 + - jupyter_server=2.14.1=py310hca03da5_0 + - jupyter_server_terminals=0.4.4=py310hca03da5_1 + - jupyterlab=4.2.5=py310hca03da5_0 + - jupyterlab_pygments=0.1.2=py_0 + - jupyterlab_server=2.27.3=py310hca03da5_0 + - jupyterlab_widgets=3.0.10=py310hca03da5_0 + - keras=3.6.0=pyhd8ed1ab_0 + - kiwisolver=1.4.4=py310h313beb8_0 + - krb5=1.20.1=hf3e1bf2_1 + - lcms2=2.12=hba8e193_0 + - lerc=3.0=hc377ac9_0 + - libabseil=20240116.2=cxx17_h313beb8_0 + - libboost=1.82.0=h0bc93f9_2 + - libbrotlicommon=1.0.9=h80987f9_8 + - libbrotlidec=1.0.9=h80987f9_8 + - libbrotlienc=1.0.9=h80987f9_8 + - libclang=14.0.6=default_h1b80db6_1 + - libclang13=14.0.6=default_h24352ff_1 + - libcurl=8.9.1=h3e2b118_0 + - libcxx=19.1.3=ha82da77_0 + - libdeflate=1.17=h80987f9_1 + - libedit=3.1.20230828=h80987f9_0 + - libev=4.33=h1a28f6b_1 + - libffi=3.4.4=hca03da5_1 + - libgd=2.3.3=h14f8a72_1 + - libgfortran=5.0.0=11_3_0_hca03da5_28 + - libgfortran5=11.3.0=h009349e_28 + - libglib=2.78.4=h0a96307_0 + - libgrpc=1.62.2=h62f6fdd_0 + - libiconv=1.16=h80987f9_3 + - libllvm14=14.0.6=h19fdd8a_4 + - libnghttp2=1.57.0=h62f6fdd_0 + - libopenblas=0.3.21=h269037a_0 + - libpng=1.6.39=h80987f9_0 + - libpq=12.20=h02f6b3c_0 + - libprotobuf=4.25.3=h514c7bf_0 + - librsvg=2.54.4=h01aef1a_4 + - libsodium=1.0.18=h1a28f6b_0 + - libsqlite=3.46.0=hfb93653_0 + - libssh2=1.11.0=h3e2b118_0 + - libtiff=4.5.1=h313beb8_0 + - libtool=2.4.6=h313beb8_1009 + - libwebp=1.3.2=ha3663a8_0 + - libwebp-base=1.3.2=h80987f9_1 + - libxgboost=2.1.1=h313beb8_0 + - libxml2=2.13.1=h0b34f26_2 + - libzlib=1.2.13=hfb2fe0b_6 + - llvm-openmp=14.0.6=hc6e5704_0 + - lz4-c=1.9.4=h313beb8_1 + - markdown=3.4.1=py310hca03da5_0 + - markdown-it-py=2.2.0=py310hca03da5_1 + - markupsafe=2.1.3=py310h80987f9_0 + - matplotlib=3.8.4=py310hca03da5_0 + - matplotlib-base=3.8.4=py310h46d7db6_0 + - matplotlib-inline=0.1.6=py310hca03da5_0 + - mdurl=0.1.0=py310hca03da5_0 + - mistune=2.0.4=py310hca03da5_0 + - ml_dtypes=0.4.0=py310h46d7db6_0 + - mlxtend=0.23.1=py310hca03da5_0 + - mysql=5.7.24=ha71a6ea_2 + - namex=0.0.7=py310hca03da5_0 + - nbclient=0.8.0=py310hca03da5_0 + - nbconvert=7.16.4=py310hca03da5_0 + - nbformat=5.10.4=py310hca03da5_0 + - ncurses=6.4=h313beb8_0 + - nest-asyncio=1.6.0=py310hca03da5_0 + - notebook=7.2.2=py310hca03da5_1 + - notebook-shim=0.2.3=py310hca03da5_0 + - nspr=4.35=h313beb8_0 + - nss=3.89.1=h313beb8_0 + - numexpr=2.10.1=py310h5d9532f_0 + - numpy=1.23.5=py310hb93e574_0 + - numpy-base=1.23.5=py310haf87e8b_0 + - openjpeg=2.5.2=h54b8e55_0 + - openpyxl=3.1.5=py310h80987f9_0 + - openssl=3.4.0=h39f12f2_0 + - opt_einsum=3.3.0=pyhd3eb1b0_1 + - optree=0.12.1=py310h48ca7d4_0 + - overrides=7.4.0=py310hca03da5_0 + - packaging=24.1=py310hca03da5_0 + - pandas=2.2.2=py310h313beb8_0 + - pandoc=2.12=hca03da5_3 + - pandocfilters=1.5.0=pyhd3eb1b0_0 + - pango=1.50.7=h7271ec9_0 + - parso=0.8.3=pyhd3eb1b0_0 + - patsy=0.5.6=py310hca03da5_0 + - pcre2=10.42=hb066dcc_1 + - pexpect=4.8.0=pyhd3eb1b0_3 + - pillow=10.4.0=py310h80987f9_0 + - pip=24.2=py310hca03da5_0 + - pixman=0.40.0=h1a28f6b_0 + - platformdirs=3.10.0=py310hca03da5_0 + - ply=3.11=py310hca03da5_0 + - poppler=22.12.0=h52f4003_3 + - poppler-data=0.4.11=hca03da5_1 + - prometheus_client=0.14.1=py310hca03da5_0 + - prompt-toolkit=3.0.43=py310hca03da5_0 + - prompt_toolkit=3.0.43=hd3eb1b0_0 + - protobuf=4.25.3=py310h8472c4a_0 + - psutil=5.9.0=py310h1a28f6b_0 + - ptyprocess=0.7.0=pyhd3eb1b0_2 + - pure_eval=0.2.2=pyhd3eb1b0_0 + - py-xgboost=2.1.1=py310hca03da5_0 + - pybind11-abi=4=hd3eb1b0_1 + - pycparser=2.21=pyhd3eb1b0_0 + - pydot=1.4.2=py310hca03da5_0 + - pygments=2.15.1=py310hca03da5_1 + - pyparsing=2.4.7=pyhd3eb1b0_0 + - pyqt=5.15.10=py310h313beb8_0 + - pyqt5-sip=12.13.0=py310h80987f9_0 + - pysocks=1.7.1=py310hca03da5_0 + - python=3.10.13=h2469fbe_1_cpython + - python-dateutil=2.9.0post0=py310hca03da5_2 + - python-fastjsonschema=2.16.2=py310hca03da5_0 + - python-flatbuffers=24.3.25=py310hca03da5_0 + - python-json-logger=2.0.7=py310hca03da5_0 + - python-levenshtein=0.12.2=py310h1a28f6b_0 + - python-tzdata=2023.3=pyhd3eb1b0_0 + - python_abi=3.10=5_cp310 + - pytz=2024.1=py310hca03da5_0 + - pyyaml=6.0.2=py310h80987f9_0 + - pyzmq=25.1.2=py310h313beb8_0 + - qt-main=5.15.2=h0917680_10 + - qtconsole=5.6.0=py310hca03da5_0 + - qtpy=2.4.1=py310hca03da5_0 + - rapidfuzz=3.10.1=py310hdde5576_0 + - re2=2022.04.01=hc377ac9_0 + - readline=8.2=h1a28f6b_0 + - referencing=0.30.2=py310hca03da5_0 + - requests=2.32.3=py310hca03da5_1 + - requests-cache=1.2.1=pyhd8ed1ab_0 + - rfc3339-validator=0.1.4=py310hca03da5_0 + - rfc3986-validator=0.1.1=py310hca03da5_0 + - rich=13.7.1=py310hca03da5_0 + - rpds-py=0.10.6=py310hf0e4da2_0 + - scikit-learn=1.5.1=py310h46d7db6_0 + - scipy=1.13.1=py310hd336fd7_0 + - seaborn=0.13.2=py310hca03da5_0 + - send2trash=1.8.2=py310hca03da5_0 + - setuptools=75.1.0=py310hca03da5_0 + - sip=6.7.12=py310h313beb8_0 + - six=1.16.0=pyhd3eb1b0_1 + - snappy=1.2.1=h313beb8_0 + - sniffio=1.3.0=py310hca03da5_0 + - soupsieve=2.5=py310hca03da5_0 + - sqlite=3.45.3=h80987f9_0 + - stack_data=0.2.0=pyhd3eb1b0_0 + - statsmodels=0.14.2=py310h80987f9_0 + - tensorboard=2.17.0=py310hca03da5_0 + - tensorboard-data-server=0.7.0=py310ha6e5c4f_1 + - tensorflow=2.17.0=cpu_py310h18e2dce_0 + - tensorflow-base=2.17.0=cpu_py310h2fb6de8_0 + - tensorflow-estimator=2.17.0=cpu_py310h6611475_0 + - termcolor=2.1.0=py310hca03da5_0 + - terminado=0.17.1=py310hca03da5_0 + - thefuzz=0.22.1=pyhd8ed1ab_0 + - threadpoolctl=3.5.0=py310h33ce5c2_0 + - timple=0.1.8=pyhd8ed1ab_0 + - tinycss2=1.2.1=py310hca03da5_0 + - tk=8.6.14=h6ba3021_0 + - tomli=2.0.1=py310hca03da5_0 + - tornado=6.4.1=py310h80987f9_0 + - traitlets=5.14.3=py310hca03da5_0 + - typing-extensions=4.11.0=py310hca03da5_0 + - typing_extensions=4.11.0=py310hca03da5_0 + - tzdata=2024b=h04d1e81_0 + - ujson=5.10.0=py310h313beb8_0 + - unicodedata2=15.1.0=py310h80987f9_0 + - url-normalize=1.4.3=pyhd8ed1ab_0 + - urllib3=2.2.3=py310hca03da5_0 + - wcwidth=0.2.5=pyhd3eb1b0_0 + - webencodings=0.5.1=py310hca03da5_1 + - websocket-client=1.8.0=py310hca03da5_0 + - websockets=10.4=py310h80987f9_1 + - werkzeug=3.0.6=py310hca03da5_0 + - wheel=0.44.0=py310hca03da5_0 + - widgetsnbextension=4.0.10=py310hca03da5_0 + - wrapt=1.14.1=py310h1a28f6b_0 + - xgboost=2.1.1=py310hca03da5_0 + - xz=5.4.6=h80987f9_1 + - yaml=0.2.5=h1a28f6b_0 + - zeromq=4.3.5=h313beb8_0 + - zlib=1.2.13=hfb2fe0b_6 + - zstd=1.5.6=hfb09047_0 + - pip: + - scikeras==0.13.0 +prefix: /opt/homebrew/Caskroom/miniconda/base/envs/csci349