mirror of
https://github.com/soconnor0919/f1-race-prediction.git
synced 2026-02-05 00:06:39 -05:00
978 lines
163 KiB
Plaintext
978 lines
163 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Formula One Project: Modeling\n",
|
|
"\n",
|
|
"DUE: December 4th, 2024 (Wed) \n",
|
|
"Name(s): Sean O'Connor, Connor Coles \n",
|
|
"Class: CSCI 349 - Intro to Data Mining \n",
|
|
"Semester: Fall 2024 \n",
|
|
"Instructor: Brian King "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Assignment Description\n",
|
|
"\n",
|
|
"Copy over the important cells from the previous step that read in and cleaned your data to this new notebook file. You do not need to copy over all your EDA and plots describing your data, only the code that prepares your data for modeling. This notebook is about exploring the development of predictive models. Some initial preliminary work on applying some modeling techniques should be completed.\n",
|
|
"Be sure to commit and push all supporting code that you've completed in this file. Include in this notebook a summary cell at the top that details your accomplishments, challenges, and what you expect to accomplish for your final steps. Be sure to update your readme.md in your repository."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 23,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Importing Libraries\n",
|
|
"import pandas as pd\n",
|
|
"import numpy as np\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import seaborn as sns\n",
|
|
"import os\n",
|
|
"\n",
|
|
"import fastf1\n",
|
|
"import fastf1.plotting\n",
|
|
"from fastf1.ergast.structure import FastestLap\n",
|
|
"\n",
|
|
"from sklearn.model_selection import train_test_split\n",
|
|
"from sklearn.preprocessing import StandardScaler\n",
|
|
"from sklearn.linear_model import LinearRegression\n",
|
|
"from sklearn.ensemble import RandomForestRegressor\n",
|
|
"from sklearn.metrics import mean_squared_error, r2_score\n",
|
|
"from sklearn.tree import DecisionTreeRegressor\n",
|
|
"from sklearn.ensemble import GradientBoostingRegressor\n",
|
|
"from sklearn.svm import SVR\n",
|
|
"import xgboost as xgb"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# FastF1 general setup\n",
|
|
"cache_dir = '../data/cache'\n",
|
|
"if not os.path.exists(cache_dir):\n",
|
|
" os.makedirs(cache_dir)\n",
|
|
"\n",
|
|
"fastf1.Cache.enable_cache(cache_dir)\n",
|
|
"fastf1.plotting.setup_mpl(misc_mpl_mods=False, color_scheme=None)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 30,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Define years and sessions of interest\n",
|
|
"years = [2021, 2022, 2023, 2024]\n",
|
|
"sessions = ['Race'] # Qualifying and Race sessions\n",
|
|
"# events = ['Brazil', 'Australia', 'Italy', 'United States'] \n",
|
|
"events = ['Great Britain', 'Mexico', 'Brazil', 'Bahrain', 'United States'] "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 31,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"core INFO \tLoading data for British Grand Prix - Race [v3.4.4]\n",
|
|
"req INFO \tNo cached data found for session_info. Loading data...\n",
|
|
"_api INFO \tFetching session info data...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"req INFO \tNo cached data found for driver_info. Loading data...\n",
|
|
"_api INFO \tFetching driver list...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"logger WARNING \tFailed to load result data from Ergast!\n",
|
|
"core WARNING \tNo result data for this session available on Ergast! (This is expected for recent sessions)\n",
|
|
"req INFO \tNo cached data found for session_status_data. Loading data...\n",
|
|
"_api INFO \tFetching session status data...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"req INFO \tNo cached data found for lap_count. Loading data...\n",
|
|
"_api INFO \tFetching lap count data...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"req INFO \tNo cached data found for track_status_data. Loading data...\n",
|
|
"_api INFO \tFetching track status data...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"req INFO \tNo cached data found for _extended_timing_data. Loading data...\n",
|
|
"_api INFO \tFetching timing data...\n",
|
|
"_api INFO \tParsing timing data...\n",
|
|
"_api WARNING \tDriver 4: Ignoring late data for a previously processed lap.The data may contain errors (previous: 43; current 44)\n",
|
|
"_api WARNING \tDriver 55: Ignoring late data for a previously processed lap.The data may contain errors (previous: 7; current 8)\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"req INFO \tNo cached data found for timing_app_data. Loading data...\n",
|
|
"_api INFO \tFetching timing app data...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"core INFO \tProcessing timing data...\n",
|
|
"logger WARNING \tFailed to add first lap time from Ergast!\n",
|
|
"req INFO \tNo cached data found for car_data. Loading data...\n",
|
|
"_api INFO \tFetching car data...\n",
|
|
"_api INFO \tParsing car data...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"req INFO \tNo cached data found for position_data. Loading data...\n",
|
|
"_api INFO \tFetching position data...\n",
|
|
"_api INFO \tParsing position data...\n",
|
|
"_api WARNING \tDriver 241: Position data is incomplete!\n",
|
|
"_api WARNING \tDriver 242: Position data is incomplete!\n",
|
|
"_api WARNING \tDriver 243: Position data is incomplete!\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"req INFO \tNo cached data found for weather_data. Loading data...\n",
|
|
"_api INFO \tFetching weather data...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"req INFO \tNo cached data found for race_control_messages. Loading data...\n",
|
|
"_api INFO \tFetching race control messages...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"core INFO \tFinished loading data for 20 drivers: ['33', '44', '77', '16', '4', '3', '14', '5', '31', '55', '10', '63', '7', '18', '99', '22', '6', '47', '9', '11']\n",
|
|
"core INFO \tLoading data for Mexico City Grand Prix - Race [v3.4.4]\n",
|
|
"req INFO \tNo cached data found for session_info. Loading data...\n",
|
|
"_api INFO \tFetching session info data...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"req INFO \tNo cached data found for driver_info. Loading data...\n",
|
|
"_api INFO \tFetching driver list...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"logger WARNING \tFailed to load result data from Ergast!\n",
|
|
"core WARNING \tNo result data for this session available on Ergast! (This is expected for recent sessions)\n",
|
|
"req INFO \tNo cached data found for session_status_data. Loading data...\n",
|
|
"_api INFO \tFetching session status data...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"req INFO \tNo cached data found for lap_count. Loading data...\n",
|
|
"_api INFO \tFetching lap count data...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"req INFO \tNo cached data found for track_status_data. Loading data...\n",
|
|
"_api INFO \tFetching track status data...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"req INFO \tNo cached data found for _extended_timing_data. Loading data...\n",
|
|
"_api INFO \tFetching timing data...\n",
|
|
"_api INFO \tParsing timing data...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"req INFO \tNo cached data found for timing_app_data. Loading data...\n",
|
|
"_api INFO \tFetching timing app data...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"core INFO \tProcessing timing data...\n",
|
|
"logger WARNING \tFailed to add first lap time from Ergast!\n",
|
|
"req INFO \tNo cached data found for car_data. Loading data...\n",
|
|
"_api INFO \tFetching car data...\n",
|
|
"_api INFO \tParsing car data...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"req INFO \tNo cached data found for position_data. Loading data...\n",
|
|
"_api INFO \tFetching position data...\n",
|
|
"_api INFO \tParsing position data...\n",
|
|
"_api WARNING \tDriver 241: Position data is incomplete!\n",
|
|
"_api WARNING \tDriver 242: Position data is incomplete!\n",
|
|
"_api WARNING \tDriver 243: Position data is incomplete!\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"req INFO \tNo cached data found for weather_data. Loading data...\n",
|
|
"_api INFO \tFetching weather data...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"req INFO \tNo cached data found for race_control_messages. Loading data...\n",
|
|
"_api INFO \tFetching race control messages...\n",
|
|
"req INFO \tData has been written to cache!\n",
|
|
"core INFO \tFinished loading data for 20 drivers: ['77', '44', '33', '11', '10', '55', '3', '16', '5', '7', '99', '14', '6', '47', '9', '63', '22', '4', '31', '18']\n",
|
|
"core INFO \tLoading data for São Paulo Grand Prix - Race [v3.4.4]\n",
|
|
"req INFO \tUsing cached data for session_info\n",
|
|
"req INFO \tUsing cached data for driver_info\n",
|
|
"logger WARNING \tFailed to load result data from Ergast!\n",
|
|
"core WARNING \tNo result data for this session available on Ergast! (This is expected for recent sessions)\n",
|
|
"req INFO \tUsing cached data for session_status_data\n",
|
|
"req INFO \tUsing cached data for lap_count\n",
|
|
"req INFO \tUsing cached data for track_status_data\n",
|
|
"req INFO \tUsing cached data for _extended_timing_data\n",
|
|
"req INFO \tUsing cached data for timing_app_data\n",
|
|
"core INFO \tProcessing timing data...\n",
|
|
"logger WARNING \tFailed to add first lap time from Ergast!\n",
|
|
"req INFO \tUsing cached data for car_data\n",
|
|
"req INFO \tUsing cached data for position_data\n",
|
|
"req INFO \tUsing cached data for weather_data\n",
|
|
"req INFO \tUsing cached data for race_control_messages\n",
|
|
"core INFO \tFinished loading data for 20 drivers: ['77', '33', '55', '11', '4', '16', '10', '31', '5', '44', '3', '14', '99', '18', '22', '6', '63', '47', '9', '7']\n",
|
|
"core INFO \tLoading data for Bahrain Grand Prix - Race [v3.4.4]\n",
|
|
"req INFO \tUsing cached data for session_info\n",
|
|
"req INFO \tUsing cached data for driver_info\n",
|
|
"Request for URL https://ergast.com/api/f1/2021/1/results.json failed; using cached response\n",
|
|
"Traceback (most recent call last):\n",
|
|
" File \"/opt/homebrew/Caskroom/miniconda/base/envs/csci349/lib/python3.10/site-packages/requests_cache/session.py\", line 286, in _resend\n",
|
|
" response = self._send_and_cache(request, actions, cached_response, **kwargs)\n",
|
|
" File \"/opt/homebrew/Caskroom/miniconda/base/envs/csci349/lib/python3.10/site-packages/requests_cache/session.py\", line 254, in _send_and_cache\n",
|
|
" response = super().send(request, **kwargs)\n",
|
|
" File \"/opt/homebrew/Caskroom/miniconda/base/envs/csci349/lib/python3.10/site-packages/fastf1/req.py\", line 134, in send\n",
|
|
" lim.limit()\n",
|
|
" File \"/opt/homebrew/Caskroom/miniconda/base/envs/csci349/lib/python3.10/site-packages/fastf1/req.py\", line 104, in limit\n",
|
|
" raise RateLimitExceededError(self._info)\n",
|
|
"fastf1.req.RateLimitExceededError: any API: 500 calls/h\n",
|
|
"req INFO \tUsing cached data for session_status_data\n",
|
|
"req INFO \tUsing cached data for lap_count\n",
|
|
"req INFO \tUsing cached data for track_status_data\n",
|
|
"req INFO \tUsing cached data for _extended_timing_data\n",
|
|
"req INFO \tUsing cached data for timing_app_data\n",
|
|
"core INFO \tProcessing timing data...\n",
|
|
"Request for URL https://ergast.com/api/f1/2021/1/laps/1.json failed; using cached response\n",
|
|
"Traceback (most recent call last):\n",
|
|
" File \"/opt/homebrew/Caskroom/miniconda/base/envs/csci349/lib/python3.10/site-packages/requests_cache/session.py\", line 286, in _resend\n",
|
|
" response = self._send_and_cache(request, actions, cached_response, **kwargs)\n",
|
|
" File \"/opt/homebrew/Caskroom/miniconda/base/envs/csci349/lib/python3.10/site-packages/requests_cache/session.py\", line 254, in _send_and_cache\n",
|
|
" response = super().send(request, **kwargs)\n",
|
|
" File \"/opt/homebrew/Caskroom/miniconda/base/envs/csci349/lib/python3.10/site-packages/fastf1/req.py\", line 134, in send\n",
|
|
" lim.limit()\n",
|
|
" File \"/opt/homebrew/Caskroom/miniconda/base/envs/csci349/lib/python3.10/site-packages/fastf1/req.py\", line 104, in limit\n",
|
|
" raise RateLimitExceededError(self._info)\n",
|
|
"fastf1.req.RateLimitExceededError: any API: 500 calls/h\n",
|
|
"req INFO \tUsing cached data for car_data\n",
|
|
"req INFO \tUsing cached data for position_data\n",
|
|
"req INFO \tUsing cached data for weather_data\n",
|
|
"req INFO \tUsing cached data for race_control_messages\n",
|
|
"core INFO \tFinished loading data for 20 drivers: ['44', '33', '77', '4', '11', '16', '3', '55', '22', '18', '7', '99', '31', '63', '5', '47', '10', '6', '14', '9']\n",
|
|
"core INFO \tLoading data for United States Grand Prix - Race [v3.4.4]\n",
|
|
"req INFO \tUsing cached data for session_info\n",
|
|
"req INFO \tUsing cached data for driver_info\n",
|
|
"logger WARNING \tFailed to load result data from Ergast!\n",
|
|
"core WARNING \tNo result data for this session available on Ergast! (This is expected for recent sessions)\n",
|
|
"req INFO \tUsing cached data for session_status_data\n",
|
|
"req INFO \tUsing cached data for lap_count\n",
|
|
"req INFO \tUsing cached data for track_status_data\n",
|
|
"req INFO \tUsing cached data for _extended_timing_data\n",
|
|
"req INFO \tUsing cached data for timing_app_data\n",
|
|
"core INFO \tProcessing timing data...\n",
|
|
"core WARNING \tDriver 7: Lap timing integrity check failed for 1 lap(s)\n",
|
|
"Request for URL https://ergast.com/api/f1/2021/17/laps/1.json failed; using cached response\n",
|
|
"Traceback (most recent call last):\n",
|
|
" File \"/opt/homebrew/Caskroom/miniconda/base/envs/csci349/lib/python3.10/site-packages/requests_cache/session.py\", line 286, in _resend\n",
|
|
" response = self._send_and_cache(request, actions, cached_response, **kwargs)\n",
|
|
" File \"/opt/homebrew/Caskroom/miniconda/base/envs/csci349/lib/python3.10/site-packages/requests_cache/session.py\", line 254, in _send_and_cache\n",
|
|
" response = super().send(request, **kwargs)\n",
|
|
" File \"/opt/homebrew/Caskroom/miniconda/base/envs/csci349/lib/python3.10/site-packages/fastf1/req.py\", line 134, in send\n",
|
|
" lim.limit()\n",
|
|
" File \"/opt/homebrew/Caskroom/miniconda/base/envs/csci349/lib/python3.10/site-packages/fastf1/req.py\", line 104, in limit\n",
|
|
" raise RateLimitExceededError(self._info)\n",
|
|
"fastf1.req.RateLimitExceededError: any API: 500 calls/h\n",
|
|
"req INFO \tUsing cached data for car_data\n",
|
|
"req INFO \tUsing cached data for position_data\n",
|
|
"req INFO \tUsing cached data for weather_data\n",
|
|
"req INFO \tUsing cached data for race_control_messages\n",
|
|
"core INFO \tFinished loading data for 20 drivers: ['33', '44', '11', '16', '55', '3', '4', '10', '77', '22', '31', '99', '18', '6', '7', '47', '9', '5', '14', '63']\n",
|
|
"logger WARNING \tFailed to load schedule from FastF1 backend!\n",
|
|
"req INFO \tNo cached data found for season_schedule. Loading data...\n",
|
|
"_api INFO \tFetching season schedule...\n",
|
|
"logger WARNING \tFailed to load schedule from F1 API backend!\n",
|
|
"logger WARNING \tFailed to load schedule from Ergast API backend!\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Error with Great Britain Race (2022): Failed to load any schedule data.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"logger WARNING \tFailed to load schedule from FastF1 backend!\n",
|
|
"req INFO \tNo cached data found for season_schedule. Loading data...\n",
|
|
"_api INFO \tFetching season schedule...\n",
|
|
"logger WARNING \tFailed to load schedule from F1 API backend!\n",
|
|
"logger WARNING \tFailed to load schedule from Ergast API backend!\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Error with Mexico Race (2022): Failed to load any schedule data.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"logger WARNING \tFailed to load schedule from FastF1 backend!\n",
|
|
"req INFO \tNo cached data found for season_schedule. Loading data...\n",
|
|
"_api INFO \tFetching season schedule...\n",
|
|
"logger WARNING \tFailed to load schedule from F1 API backend!\n",
|
|
"logger WARNING \tFailed to load schedule from Ergast API backend!\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Error with Brazil Race (2022): Failed to load any schedule data.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"logger WARNING \tFailed to load schedule from FastF1 backend!\n",
|
|
"req INFO \tNo cached data found for season_schedule. Loading data...\n",
|
|
"_api INFO \tFetching season schedule...\n",
|
|
"logger WARNING \tFailed to load schedule from F1 API backend!\n",
|
|
"logger WARNING \tFailed to load schedule from Ergast API backend!\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Error with Bahrain Race (2022): Failed to load any schedule data.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"logger WARNING \tFailed to load schedule from FastF1 backend!\n",
|
|
"req INFO \tNo cached data found for season_schedule. Loading data...\n",
|
|
"_api INFO \tFetching season schedule...\n",
|
|
"logger WARNING \tFailed to load schedule from F1 API backend!\n",
|
|
"logger WARNING \tFailed to load schedule from Ergast API backend!\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Error with United States Race (2022): Failed to load any schedule data.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"logger WARNING \tFailed to load schedule from FastF1 backend!\n",
|
|
"req INFO \tNo cached data found for season_schedule. Loading data...\n",
|
|
"_api INFO \tFetching season schedule...\n",
|
|
"logger WARNING \tFailed to load schedule from F1 API backend!\n",
|
|
"logger WARNING \tFailed to load schedule from Ergast API backend!\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Error with Great Britain Race (2023): Failed to load any schedule data.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"logger WARNING \tFailed to load schedule from FastF1 backend!\n",
|
|
"req INFO \tNo cached data found for season_schedule. Loading data...\n",
|
|
"_api INFO \tFetching season schedule...\n",
|
|
"logger WARNING \tFailed to load schedule from F1 API backend!\n",
|
|
"logger WARNING \tFailed to load schedule from Ergast API backend!\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Error with Mexico Race (2023): Failed to load any schedule data.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"logger WARNING \tFailed to load schedule from FastF1 backend!\n",
|
|
"req INFO \tNo cached data found for season_schedule. Loading data...\n",
|
|
"_api INFO \tFetching season schedule...\n",
|
|
"logger WARNING \tFailed to load schedule from F1 API backend!\n",
|
|
"logger WARNING \tFailed to load schedule from Ergast API backend!\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Error with Brazil Race (2023): Failed to load any schedule data.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"logger WARNING \tFailed to load schedule from FastF1 backend!\n",
|
|
"req INFO \tNo cached data found for season_schedule. Loading data...\n",
|
|
"_api INFO \tFetching season schedule...\n",
|
|
"logger WARNING \tFailed to load schedule from F1 API backend!\n",
|
|
"logger WARNING \tFailed to load schedule from Ergast API backend!\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Error with Bahrain Race (2023): Failed to load any schedule data.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"logger WARNING \tFailed to load schedule from FastF1 backend!\n",
|
|
"req INFO \tNo cached data found for season_schedule. Loading data...\n",
|
|
"_api INFO \tFetching season schedule...\n",
|
|
"logger WARNING \tFailed to load schedule from F1 API backend!\n",
|
|
"logger WARNING \tFailed to load schedule from Ergast API backend!\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Error with United States Race (2023): Failed to load any schedule data.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"logger WARNING \tFailed to load schedule from FastF1 backend!\n",
|
|
"req INFO \tNo cached data found for season_schedule. Loading data...\n",
|
|
"_api INFO \tFetching season schedule...\n",
|
|
"logger WARNING \tFailed to load schedule from F1 API backend!\n",
|
|
"logger WARNING \tFailed to load schedule from Ergast API backend!\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Error with Great Britain Race (2024): Failed to load any schedule data.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"logger WARNING \tFailed to load schedule from FastF1 backend!\n",
|
|
"req INFO \tNo cached data found for season_schedule. Loading data...\n",
|
|
"_api INFO \tFetching season schedule...\n",
|
|
"logger WARNING \tFailed to load schedule from F1 API backend!\n",
|
|
"logger WARNING \tFailed to load schedule from Ergast API backend!\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Error with Mexico Race (2024): Failed to load any schedule data.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"logger WARNING \tFailed to load schedule from FastF1 backend!\n",
|
|
"req INFO \tNo cached data found for season_schedule. Loading data...\n",
|
|
"_api INFO \tFetching season schedule...\n",
|
|
"logger WARNING \tFailed to load schedule from F1 API backend!\n",
|
|
"logger WARNING \tFailed to load schedule from Ergast API backend!\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Error with Brazil Race (2024): Failed to load any schedule data.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"logger WARNING \tFailed to load schedule from FastF1 backend!\n",
|
|
"req INFO \tNo cached data found for season_schedule. Loading data...\n",
|
|
"_api INFO \tFetching season schedule...\n",
|
|
"logger WARNING \tFailed to load schedule from F1 API backend!\n",
|
|
"logger WARNING \tFailed to load schedule from Ergast API backend!\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Error with Bahrain Race (2024): Failed to load any schedule data.\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"logger WARNING \tFailed to load schedule from FastF1 backend!\n",
|
|
"req INFO \tNo cached data found for season_schedule. Loading data...\n",
|
|
"_api INFO \tFetching season schedule...\n",
|
|
"logger WARNING \tFailed to load schedule from F1 API backend!\n",
|
|
"logger WARNING \tFailed to load schedule from Ergast API backend!\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Error with United States Race (2024): Failed to load any schedule data.\n",
|
|
"Weather Data:\n",
|
|
" Time AirTemp Humidity Pressure Rainfall TrackTemp \\\n",
|
|
"0 0 days 00:00:44.848000 28.4 41.3 1007.7 False 51.1 \n",
|
|
"1 0 days 00:01:44.867000 28.5 41.0 1007.8 False 51.1 \n",
|
|
"2 0 days 00:02:44.883000 28.5 41.2 1007.7 False 51.3 \n",
|
|
"3 0 days 00:03:44.881000 28.6 39.7 1007.7 False 51.3 \n",
|
|
"4 0 days 00:04:44.882000 28.6 39.8 1007.8 False 51.8 \n",
|
|
"\n",
|
|
" WindDirection WindSpeed Year Session \n",
|
|
"0 155 0.3 2021 Race \n",
|
|
"1 220 0.1 2021 Race \n",
|
|
"2 339 0.1 2021 Race \n",
|
|
"3 22 0.3 2021 Race \n",
|
|
"4 180 0.1 2021 Race \n",
|
|
"Lap Data:\n",
|
|
" Time Driver DriverNumber LapTime LapNumber Stint \\\n",
|
|
"0 0 days 01:04:25.585000 VER 33 NaT 1.0 1.0 \n",
|
|
"1 0 days 01:04:28.484000 HAM 44 NaT 1.0 1.0 \n",
|
|
"2 0 days 01:07:06.686000 HAM 44 NaT 2.0 1.0 \n",
|
|
"3 0 days 01:44:15.822000 HAM 44 NaT 3.0 2.0 \n",
|
|
"4 0 days 01:46:53.038000 HAM 44 NaT 4.0 2.0 \n",
|
|
"\n",
|
|
" PitOutTime PitInTime Sector1Time \\\n",
|
|
"0 NaT NaT NaT \n",
|
|
"1 NaT NaT NaT \n",
|
|
"2 NaT 0 days 01:07:00.518000 0 days 00:00:43.800000 \n",
|
|
"3 0 days 01:41:08.889000 NaT NaT \n",
|
|
"4 NaT NaT 0 days 00:01:33.760000 \n",
|
|
"\n",
|
|
" Sector2Time ... LapStartDate TrackStatus Position \\\n",
|
|
"0 NaT ... 2021-07-18 14:03:22.569 124 NaN \n",
|
|
"1 0 days 00:00:40.610000 ... 2021-07-18 14:03:22.569 124 3.0 \n",
|
|
"2 0 days 00:01:10.685000 ... 2021-07-18 14:05:28.494 45 2.0 \n",
|
|
"3 0 days 00:01:15.154000 ... 2021-07-18 14:42:00.114 1 2.0 \n",
|
|
"4 0 days 00:00:37.907000 ... 2021-07-18 14:45:15.832 12 2.0 \n",
|
|
"\n",
|
|
" Deleted DeletedReason FastF1Generated IsAccurate Year Event \\\n",
|
|
"0 False True False 2021 Great Britain \n",
|
|
"1 False False False 2021 Great Britain \n",
|
|
"2 False False False 2021 Great Britain \n",
|
|
"3 False False False 2021 Great Britain \n",
|
|
"4 False False False 2021 Great Britain \n",
|
|
"\n",
|
|
" Session \n",
|
|
"0 Race \n",
|
|
"1 Race \n",
|
|
"2 Race \n",
|
|
"3 Race \n",
|
|
"4 Race \n",
|
|
"\n",
|
|
"[5 rows x 34 columns]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Data holders\n",
|
|
"weather_data_list = []\n",
|
|
"lap_data_list = []\n",
|
|
"\n",
|
|
"# Loop through years and sessions\n",
|
|
"for year in years:\n",
|
|
" for event_name in events: \n",
|
|
" for session_name in sessions:\n",
|
|
" try:\n",
|
|
" # Load the session\n",
|
|
" session = fastf1.get_session(year, event_name, session_name)\n",
|
|
" session.load()\n",
|
|
" \n",
|
|
" # Process weather data\n",
|
|
" weather_data = session.weather_data\n",
|
|
" weather_df = pd.DataFrame(weather_data)\n",
|
|
" weather_df['Year'] = year\n",
|
|
" weather_df['Session'] = session_name\n",
|
|
" weather_data_list.append(weather_df)\n",
|
|
"\n",
|
|
" # Process lap data\n",
|
|
" lap_data = session.laps\n",
|
|
" lap_df = pd.DataFrame(lap_data)\n",
|
|
" lap_df['Year'] = year\n",
|
|
" lap_df['Event'] = event_name\n",
|
|
" lap_df['Session'] = session_name\n",
|
|
" lap_data_list.append(lap_df)\n",
|
|
" \n",
|
|
" except Exception as e:\n",
|
|
" print(f\"Error with {event_name} {session_name} ({year}): {e}\")\n",
|
|
"\n",
|
|
"# Combine weather and lap data into separate DataFrames\n",
|
|
"if weather_data_list:\n",
|
|
" weather_data_combined = pd.concat(weather_data_list, ignore_index=True)\n",
|
|
" print(\"Weather Data:\")\n",
|
|
" print(weather_data_combined.head())\n",
|
|
"\n",
|
|
"if lap_data_list:\n",
|
|
" lap_data_combined = pd.concat(lap_data_list, ignore_index=True)\n",
|
|
" print(\"Lap Data:\")\n",
|
|
" print(lap_data_combined.head())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 32,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Convert lap times to seconds for easier modeling\n",
|
|
"def convert_timedelta_to_seconds(td):\n",
|
|
" if pd.isna(td):\n",
|
|
" return None\n",
|
|
" return td.total_seconds()\n",
|
|
"\n",
|
|
"# Process lap times\n",
|
|
"lap_data_combined['LapTime_seconds'] = lap_data_combined['LapTime'].apply(convert_timedelta_to_seconds)\n",
|
|
"lap_data_combined['Sector1Time_seconds'] = lap_data_combined['Sector1Time'].apply(convert_timedelta_to_seconds)\n",
|
|
"lap_data_combined['Sector2Time_seconds'] = lap_data_combined['Sector2Time'].apply(convert_timedelta_to_seconds)\n",
|
|
"lap_data_combined['Sector3Time_seconds'] = lap_data_combined['Sector3Time'].apply(convert_timedelta_to_seconds)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 33,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
" Time Driver DriverNumber LapTime \\\n",
|
|
"0 2024-01-01 00:39:08.419 MAZ 9 NaT \n",
|
|
"1 2024-01-01 00:39:08.419 VER 33 0 days 00:01:58.245000 \n",
|
|
"2 2024-01-01 00:39:09.712 HAM 44 0 days 00:01:59.538000 \n",
|
|
"3 2024-01-01 00:39:12.872 LEC 16 0 days 00:02:02.698000 \n",
|
|
"4 2024-01-01 00:39:13.946 BOT 77 0 days 00:02:03.772000 \n",
|
|
"\n",
|
|
" LapNumber Stint PitOutTime PitInTime Sector1Time Sector2Time \\\n",
|
|
"0 1.0 1.0 NaT NaT NaT NaT \n",
|
|
"1 1.0 1.0 NaT NaT NaT 0 days 00:00:53.703000 \n",
|
|
"2 1.0 1.0 NaT NaT NaT 0 days 00:00:54.367000 \n",
|
|
"3 1.0 1.0 NaT NaT NaT 0 days 00:00:55.232000 \n",
|
|
"4 1.0 1.0 NaT NaT NaT 0 days 00:00:56.397000 \n",
|
|
"\n",
|
|
" ... Sector3Time_seconds AirTemp Humidity Pressure Rainfall TrackTemp \\\n",
|
|
"0 ... NaN 20.3 31.5 785.0 False 47.3 \n",
|
|
"1 ... 32.579 20.3 31.5 785.0 False 47.3 \n",
|
|
"2 ... 32.463 20.3 31.5 785.0 False 47.3 \n",
|
|
"3 ... 34.383 20.3 31.5 785.0 False 47.3 \n",
|
|
"4 ... 34.235 20.3 31.5 785.0 False 47.3 \n",
|
|
"\n",
|
|
" WindDirection WindSpeed Year_weather Session_weather \n",
|
|
"0 302 0.7 2021 Race \n",
|
|
"1 302 0.7 2021 Race \n",
|
|
"2 302 0.7 2021 Race \n",
|
|
"3 302 0.7 2021 Race \n",
|
|
"4 302 0.7 2021 Race \n",
|
|
"\n",
|
|
"[5 rows x 47 columns]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Merge weather data with lap data\n",
|
|
"# Convert timedelta to datetime for merging\n",
|
|
"def convert_time_for_merge(df, base_date='2024-01-01'):\n",
|
|
" if 'Time' in df.columns:\n",
|
|
" # Create a base datetime and add the timedelta\n",
|
|
" base = pd.Timestamp(base_date)\n",
|
|
" if df['Time'].dtype == 'timedelta64[ns]':\n",
|
|
" df['Time'] = base + df['Time']\n",
|
|
" return df\n",
|
|
"\n",
|
|
"# Process both dataframes\n",
|
|
"weather_data_combined = convert_time_for_merge(weather_data_combined)\n",
|
|
"lap_data_combined = convert_time_for_merge(lap_data_combined)\n",
|
|
"\n",
|
|
"# Now merge based on nearest timestamp\n",
|
|
"merged_data = pd.merge_asof(\n",
|
|
" lap_data_combined.sort_values('Time'),\n",
|
|
" weather_data_combined.sort_values('Time'),\n",
|
|
" on='Time',\n",
|
|
" suffixes=('_lap', '_weather')\n",
|
|
")\n",
|
|
"\n",
|
|
"print(merged_data.head())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 46,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Index(['Time', 'Driver', 'DriverNumber', 'LapTime', 'LapNumber', 'Stint',\n",
|
|
" 'PitOutTime', 'PitInTime', 'Sector1Time', 'Sector2Time', 'Sector3Time',\n",
|
|
" 'Sector1SessionTime', 'Sector2SessionTime', 'Sector3SessionTime',\n",
|
|
" 'SpeedI1', 'SpeedI2', 'SpeedFL', 'SpeedST', 'IsPersonalBest',\n",
|
|
" 'Compound', 'TyreLife', 'FreshTyre', 'Team', 'LapStartTime',\n",
|
|
" 'LapStartDate', 'TrackStatus', 'Position', 'Deleted', 'DeletedReason',\n",
|
|
" 'FastF1Generated', 'IsAccurate', 'Year_lap', 'Event', 'Session_lap',\n",
|
|
" 'LapTime_seconds', 'Sector1Time_seconds', 'Sector2Time_seconds',\n",
|
|
" 'Sector3Time_seconds', 'AirTemp', 'Humidity', 'Pressure', 'Rainfall',\n",
|
|
" 'TrackTemp', 'WindDirection', 'WindSpeed', 'Year_weather',\n",
|
|
" 'Session_weather'],\n",
|
|
" dtype='object')\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Select features for modeling\n",
|
|
"feature_columns = [\n",
|
|
" 'TrackTemp', 'AirTemp', 'Humidity', 'Pressure', 'WindSpeed',\n",
|
|
" 'TyreLife', 'SpeedI1', 'SpeedI2', 'SpeedFL', 'SpeedST'\n",
|
|
"]\n",
|
|
"\n",
|
|
"target_column = 'LapTime_seconds'\n",
|
|
"\n",
|
|
"# Print available columns\n",
|
|
"print(merged_data.columns)\n",
|
|
"\n",
|
|
"# Remove rows with missing values\n",
|
|
"model_data = merged_data[feature_columns + [target_column]].dropna()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 35,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Split the data into training and testing sets\n",
|
|
"X = model_data[feature_columns]\n",
|
|
"y = model_data[target_column]\n",
|
|
"\n",
|
|
"X_train, X_test, y_train, y_test = train_test_split(\n",
|
|
" X, y, test_size=0.2, random_state=42\n",
|
|
")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 36,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Scale the features\n",
|
|
"scaler = StandardScaler()\n",
|
|
"X_train_scaled = scaler.fit_transform(X_train)\n",
|
|
"X_test_scaled = scaler.transform(X_test)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 37,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Train and evaluate multiple models\n",
|
|
"\n",
|
|
"# Initialize models\n",
|
|
"models = {\n",
|
|
" 'Linear Regression': LinearRegression(),\n",
|
|
" 'Random Forest': RandomForestRegressor(n_estimators=100, random_state=42),\n",
|
|
" 'Decision Tree': DecisionTreeRegressor(random_state=42),\n",
|
|
" 'Gradient Boosting': GradientBoostingRegressor(n_estimators=100, random_state=42),\n",
|
|
" 'Support Vector Regressor': SVR(kernel='rbf', C=1.0, epsilon=0.1),\n",
|
|
" 'XGBoost': xgb.XGBRegressor(n_estimators=100, random_state=42)\n",
|
|
"}"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 43,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Linear Regression model trained.\n",
|
|
"Predictions made with Linear Regression model.\n",
|
|
"Metrics calculated with Linear Regression model.\n",
|
|
"Random Forest model trained.\n",
|
|
"Predictions made with Random Forest model.\n",
|
|
"Metrics calculated with Random Forest model.\n",
|
|
"Decision Tree model trained.\n",
|
|
"Predictions made with Decision Tree model.\n",
|
|
"Metrics calculated with Decision Tree model.\n",
|
|
"Gradient Boosting model trained.\n",
|
|
"Predictions made with Gradient Boosting model.\n",
|
|
"Metrics calculated with Gradient Boosting model.\n",
|
|
"Support Vector Regressor model trained.\n",
|
|
"Predictions made with Support Vector Regressor model.\n",
|
|
"Metrics calculated with Support Vector Regressor model.\n",
|
|
"XGBoost model trained.\n",
|
|
"Predictions made with XGBoost model.\n",
|
|
"Metrics calculated with XGBoost model.\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Train and evaluate each model\n",
|
|
"results = {}\n",
|
|
"for name, model in models.items():\n",
|
|
" # Train the model\n",
|
|
" model.fit(X_train_scaled, y_train)\n",
|
|
" print(f\"{name} model trained.\")\n",
|
|
" \n",
|
|
" # Make predictions\n",
|
|
" y_pred = model.predict(X_test_scaled)\n",
|
|
" print(f\"Predictions made with {name} model.\")\n",
|
|
" \n",
|
|
" # Calculate metrics\n",
|
|
" mse = mean_squared_error(y_test, y_pred)\n",
|
|
" rmse = np.sqrt(mse)\n",
|
|
" r2 = r2_score(y_test, y_pred)\n",
|
|
" print(f\"Metrics calculated with {name} model.\")\n",
|
|
" \n",
|
|
" results[name] = {\n",
|
|
" 'RMSE': rmse,\n",
|
|
" 'R2': r2\n",
|
|
" }"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 44,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"\n",
|
|
"Model Performance:\n",
|
|
"\n",
|
|
"Linear Regression:\n",
|
|
"RMSE: 7.33 seconds\n",
|
|
"R2 Score: 0.709\n",
|
|
"\n",
|
|
"Random Forest:\n",
|
|
"RMSE: 2.48 seconds\n",
|
|
"R2 Score: 0.967\n",
|
|
"\n",
|
|
"Decision Tree:\n",
|
|
"RMSE: 3.42 seconds\n",
|
|
"R2 Score: 0.937\n",
|
|
"\n",
|
|
"Gradient Boosting:\n",
|
|
"RMSE: 2.93 seconds\n",
|
|
"R2 Score: 0.953\n",
|
|
"\n",
|
|
"Support Vector Regressor:\n",
|
|
"RMSE: 7.51 seconds\n",
|
|
"R2 Score: 0.694\n",
|
|
"\n",
|
|
"XGBoost:\n",
|
|
"RMSE: 2.79 seconds\n",
|
|
"R2 Score: 0.958\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAD8MklEQVR4nOzdd3hUZdrH8e/0STJhQgiplEhRgaCydnFVVEAUsWMvWFbXXVzFyuqi2FCs6+uquy5iW8WyytoBu4IdUYOioUkJSYCQSTKZPuf9Y8zAQBIykJD2+1xXrmWec+bMM5NszH2e+7lvk2EYBiIiIiIiIiLS4sxtPQERERERERGRzkpBt4iIiIiIiEgrUdAtIiIiIiIi0koUdIuIiIiIiIi0EgXdIiIiIiIiIq1EQbeIiIiIiIhIK1HQLSIiIiIiItJKFHSLiIiIiIiItBIF3SIiIiIiIiKtREG3iIg0y0MPPYTJZKKoqGiHr1FaWsott9zCokWLWm5iTTjiiCM44ogjdslrNaWwsBCTyRT/crlcHHjggTz99NO75PWffPJJTCYTK1eujI/t6Gdz5513Mnv27BabW72VK1diMpl48sknmzzvww8/xGQy8fLLL7f4HJJxyy23JHxPG/s64ogjmv3eRESkc7K29QRERKRjeOKJJwBYvHgxX3zxBQceeGDS1ygtLWXq1KkUFhayzz77tPAM27fhw4dz7733ArBmzRruvfdezj//fLxeL3/84x93+XweeeSRHXrenXfeyamnnsqJJ57YshPqYC6++GKOOeaY+ON169Zx8sknM3HiRM4666z4eLdu3cjLy+Ozzz6jf//+bTFVERFpYwq6RURku77++mu+++47jjvuON58801mzJixQ0F3V5aRkcFBBx0Uf3z00UfTt29f7r///kaD7kgkQjgcxuFwtPh8Bg8e3OLX7Ep69epFr1694o/rswj69OmT8H2u19CYiIh0DUovFxGR7ZoxYwYAd911F4cccgizZs2irq5um/PWrl3LH/7wB3r37o3dbic/P59TTz2V8vJyPvzwQ/bff38AJkyYEE+/veWWW4DG050vuOACCgsLE8amTp3KgQceSGZmJt26deN3v/sdM2bMwDCMpN/biSeeSN++fYlGo9scO/DAA/nd734Xf/zSSy9x4IEH4na7SU1NpV+/flx44YVJvybEgvA99tiDX3/9FdicXj19+nRuv/12dtttNxwOBx988AEQu/Exbtw4MjMzcTqdDBs2jBdffHGb637++ecMHz4cp9NJfn4+kydPJhQKbXNeQ593IBDg1ltvZdCgQTidTnr06MGIESNYsGABACaTCa/Xy1NPPZWQPl2vrKyMSy+9lF69emG329ltt92YOnUq4XA44XVKS0sZP3486enpuN1uTj/9dMrKynboc2xMc39GCgsLGTt2LK+++ip77bUXTqeTfv368dBDD7XYXBpKL69PT//+++857bTTcLvdZGZmMmnSJMLhMD///DPHHHMM6enpFBYWMn369G2uW11dzTXXXMNuu+2G3W6noKCAK6+8Eq/Xm3BeS/7ciohI8rTSLSIiTfL5fDz//PPsv//+FBUVceGFF3LxxRfz0ksvcf7558fPW7t2Lfvvvz+hUIi//vWv7LXXXmzcuJE5c+awadMmfve73zFz5kwmTJjATTfdxHHHHQeQsFrYXCtXruTSSy+lT58+QCzQnDhxImvXrmXKlClJXevCCy/khBNO4P333+foo4+Ojy9ZsoQvv/wyHnx99tlnnH766Zx++unccsstOJ1Ofv31V95///2k5w8QCoX49ddf6dmzZ8L4Qw89xO677869995Lt27dGDhwIB988AHHHHMMBx54II899hhut5tZs2Zx+umnU1dXxwUXXADAjz/+yFFHHUVhYSFPPvkkqampPPLIIzz33HPbnU84HGbMmDF88sknXHnllRx55JGEw2E+//xzVq1axSGHHMJnn33GkUceyYgRI/jb3/4GxNKnIRZwH3DAAZjNZqZMmUL//v357LPPuP3221m5ciUzZ84EYj9PRx99NKWlpUybNo3dd9+dN998k9NPP32HPsfGJPMzsmjRIq688kpuueUWcnNz+c9//sNf/vIXgsEg11xzTYvOa2vjx4/nnHPO4dJLL2XevHlMnz6dUCjEu+++y+WXX84111zDc889x/XXX8+AAQM4+eSTAairq+Pwww9nzZo18f+/LV68mClTpvDDDz/w7rvvYjKZWvznVkREdoAhIiLShKefftoAjMcee8wwDMOoqakxXC6X8fvf/z7hvAsvvNCw2WzGjz/+2Oi1vvrqKwMwZs6cuc2xww8/3Dj88MO3GT///PONvn37NnrNSCRihEIh49ZbbzV69OhhRKPR7V5zS6FQyMjJyTHOOuushPHrrrvOsNvtxoYNGwzDMIx7773XAIyqqqomr9eQvn37Gscee6wRCoWMUChkrFixwjj//PMNwLj22msNwzCMFStWGIDRv39/IxgMJjx/zz33NIYNG2aEQqGE8bFjxxp5eXlGJBIxDMMwTj/9dCMlJcUoKyuLnxMOh40999zTAIwVK1bEx7f+bOq/z48//niT7yUtLc04//zztxm/9NJLDZfLZfz6668J4/Wf2+LFiw3DMIxHH33UAIz//e9/Ceddcskljf5sbOmDDz4wAOOll15q8rwtNfUz0rdvX8NkMhmLFi1KeM7IkSONbt26GV6vt1mvUf/9u+eeexo9tuV7u/nmmw3AuO+++xLO3WeffQzAeOWVV+JjoVDI6Nmzp3HyySfHx6ZNm2aYzWbjq6++Snj+yy+/bADGW2+9ZRjGzv3ciohIy1B6uYiINGnGjBmkpKRwxhlnAOByuTjttNP45JNPKCkpiZ/39ttvM2LECAYNGtTqc6pflXa73VgsFmw2G1OmTGHjxo1UVFQkdS2r1co555zDK6+8gsfjAWJ7qZ955hlOOOEEevToARBPjR8/fjwvvvgia9euTep13nrrLWw2Gzabjd12240XX3yRiRMncvvttyecN27cOGw2W/zx0qVLWbJkCWeffTYQW5Gu/zr22GNZt24dP//8MwAffPABRx11FDk5OfHnWyyWZq0iv/322zidzh1OO37jjTcYMWIE+fn5CXMcM2YMAB999FF8junp6YwbNy7h+VsWH2sJyfyMDBkyhL333nub+VRXV7Nw4cIWndfWxo4dm/B40KBBmEym+OcGsZ/RAQMGxLciQOzzLioqYp999kn4vEePHo3JZOLDDz8Edv7nVkREdp6CbhERadTSpUv5+OOPOe644zAMg6qqKqqqqjj11FOBzRXNAdavX79DqeLJ+vLLLxk1ahQAjz/+OPPnz+err77ixhtvBGLpy8m68MIL8fv9zJo1C4A5c+awbt06JkyYED/nsMMOY/bs2YTDYc477zx69epFUVERzz//fLNe49BDD+Wrr77i66+/5scff6SqqoqHHnoIu92ecF5eXl7C4/LycgCuueaaeNBe/3X55ZcDsGHDBgA2btxIbm7uNq/d0NjW1q9fT35+Pmbzjv1pUF5ezuuvv77NHIcMGbLNHLe8KZDMHJsr2Z+Rpj6zjRs3tti8GpKZmZnw2G63k5qaitPp3Gbc7/fHH5eXl/P9999v83mnp6djGEb8897Zn1sREdl52tMtIiKNeuKJJzAMg5dffrnBvshPPfUUt99+OxaLhZ49e7JmzZodfi2n0xlfad5SffBQb9asWdhsNt54442EwGRnekcPHjyYAw44gJkzZ3LppZcyc+ZM8vPz44FbvRNOOIETTjiBQCDA559/zrRp0zjrrLMoLCzk4IMPbvI13G43++2333bnYjKZEh5nZWUBMHny5Ph+3q3tscceAPTo0aPBgmTNKVLWs2dPPv30U6LR6A4F3llZWey1117ccccdDR7Pz8+Pz/HLL7/coTk2V7I/I019ZvWZDu1NVlYWKSkpCTe+tj5eb2d+bkVEZOcp6BYRkQZFIhGeeuop+vfvz7///e9tjr/xxhvcd999vP3224wdO5YxY8bwzDPP8PPPP8eDwK3Vt75qaDW6sLCQl156iUAgED9v48aNLFiwIF6sC2JBqdVqxWKxxMd8Ph/PPPPMTr3fCRMm8Mc//pFPP/2U119/nUmTJiW8xtbv4/DDDycjI4M5c+bw7bfftlrwssceezBw4EC+++477rzzzibPHTFiBK+99hrl5eXx1eRIJMILL7yw3dcZM2YMzz//PE8++WSTKeYOh6PB79/YsWN566236N+/P927d29yji+++CKvvfZaQop5c4q9NVeyPyOLFy/mu+++S0gxf+6550hPT0+oXt+ejB07ljvvvJMePXqw2267Nes5u/LnVkRENlPQLSIiDXr77bcpLS3l7rvvbrCVV1FREQ8//DAzZsxg7Nix3Hrrrbz99tscdthh/PWvf2Xo0KFUVVXxzjvvMGnSJPbcc0/69+9PSkoK//nPfxg0aBAul4v8/Hzy8/M599xz+ec//8k555zDJZdcwsaNG5k+fXpCwA1w3HHHcf/993PWWWfxhz/8gY0bN3LvvffudC/rM888k0mTJnHmmWcSCATiFcHrTZkyhTVr1nDUUUfRq1cvqqqq+Pvf/47NZuPwww/fqdfenn/+85+MGTOG0aNHc8EFF1BQUEBlZSU//fQTCxcu5KWXXgLgpptu4rXXXuPII49kypQppKam8o9//GObFlINOfPMM5k5cyaXXXYZP//8MyNGjCAajfLFF18waNCg+J7+oUOH8uGHH/L666+Tl5dHeno6e+yxB7feeivz5s3jkEMO4YorrmCPPfbA7/ezcuVK3nrrLR577DF69erFeeedxwMPPMB5553HHXfcwcCBA3nrrbeYM2dOUp/J559/3uD44YcfnvTPSH5+PuPGjeOWW24hLy+PZ599lnnz5nH33XeTmpqa1Lx2lSuvvJL//ve/HHbYYVx11VXstddeRKNRVq1axdy5c7n66qs58MAD2/TnVkREftPGhdxERKSdOvHEEw273W5UVFQ0es4ZZ5xhWK3WeLXs1atXGxdeeKGRm5tr2Gw2Iz8/3xg/frxRXl4ef87zzz9v7LnnnobNZjMA4+abb44fe+qpp4xBgwYZTqfTGDx4sPHCCy80WL38iSeeMPbYYw/D4XAY/fr1M6ZNm2bMmDFjuxW6t+ess84yAGP48OHbHHvjjTeMMWPGGAUFBYbdbjeys7ONY4891vjkk0+2e92+ffsaxx13XJPnNFX92jAM47vvvjPGjx9vZGdnGzabzcjNzTWOPPLIeFX5evPnzzcOOuggw+FwGLm5uca1115r/Otf/2rWZ+Pz+YwpU6YYAwcONOx2u9GjRw/jyCOPNBYsWBA/Z9GiRcbw4cON1NRUA0i4xvr1640rrrjC2G233QybzWZkZmYa++67r3HjjTcatbW18fPWrFljnHLKKYbL5TLS09ONU045xViwYEFS1csb+/rggw8Mw2j+z0j99+bll182hgwZYtjtdqOwsNC4//77m5zH1na0evn69esTzj3//PONtLS0ba5x+OGHG0OGDEkYq62tNW666SZjjz32MOx2u+F2u42hQ4caV111Vfz/kzvzcysiIi3DZBiGsasDfREREZH2oLCwkKKiIt544422noqIiHRSql4uIiIiIiIi0koUdIuIiIiIiIi0EqWXi4iIiIiIiLQSrXSLiIiIiIiItBIF3SIiIg148sknMZlM8S+r1UpeXh5nnHEGJSUlbTavW265BZPJ1Gavv7UPP/ww4XPa8uvUU09t6+k16JFHHuHJJ59s62mIiEgXoT7dIiIiTZg5cyZ77rknfr+f+fPnc8cdd/DBBx+wZMkSunfv3tbTazfuvPNORowYkTDWo0ePNppN0x555BGysrK26cUuIiLSGhR0i4iINKGoqIj99tsPgCOOOIJIJMLNN9/M7NmzmTBhQhvPrv0YOHAgBx10UItf1+fz4XQ629XqvoiISDKUXi4iIpKE+gC8vLw8Pub3+7n66qvZZ599cLvdZGZmcvDBB/O///1vm+ebTCb+/Oc/88wzzzBo0CBSU1PZe++9G+wT/eabb7LPPvvgcDjYbbfduPfeexuck9/vZ/Lkyey2227Y7XYKCgr405/+RFVVVcJ5hYWFjB07ljfeeINhw4aRkpLCoEGD4q/95JNPMmjQINLS0jjggAP4+uuvd/Rj2sann37KUUcdRXp6OqmpqRxyyCG8+eabCefUp/TPnTuXCy+8kJ49e5KamkogEADghRde4OCDDyYtLQ2Xy8Xo0aP59ttvE66xfPlyzjjjDPLz83E4HOTk5HDUUUexaNGi+GewePFiPvroo3gafGFhYYu9TxERka1ppVtERCQJK1asAGD33XePjwUCASorK7nmmmsoKCggGAzy7rvvcvLJJzNz5kzOO++8hGu8+eabfPXVV9x66624XC6mT5/OSSedxM8//0y/fv0AeO+99zjhhBM4+OCDmTVrFpFIhOnTpycE+wCGYXDiiSfy3nvvMXnyZH7/+9/z/fffc/PNN/PZZ5/x2Wef4XA44ud/9913TJ48mRtvvBG3283UqVM5+eSTmTx5Mu+99x533nknJpOJ66+/nrFjx7JixQpSUlK2+7lEo1HC4XDCmNUa+zPjo48+YuTIkey1117MmDEDh8PBI488wvHHH8/zzz/P6aefnvC8Cy+8kOOOO45nnnkGr9eLzWbjzjvv5KabbmLChAncdNNNBINB7rnnHn7/+9/z5ZdfMnjwYACOPfbY+GfVp08fNmzYwIIFC+I3IF599VVOPfVU3G43jzzyCEDC5yMiItLiDBEREdnGzJkzDcD4/PPPjVAoZNTU1BjvvPOOkZubaxx22GFGKBRq9LnhcNgIhULGRRddZAwbNizhGGDk5OQY1dXV8bGysjLDbDYb06ZNi48deOCBRn5+vuHz+eJj1dXVRmZmprHlf77feecdAzCmT5+e8DovvPCCARj/+te/4mN9+/Y1UlJSjDVr1sTHFi1aZABGXl6e4fV64+OzZ882AOO1115r8nP64IMPDKDBr5KSEsMwDOOggw4ysrOzjZqamoTPqKioyOjVq5cRjUYNw9j8mZ933nkJr7Fq1SrDarUaEydOTBivqakxcnNzjfHjxxuGYRgbNmwwAOPBBx9scs5DhgwxDj/88CbPERERaSlKLxcREWnCQQcdhM1mIz09nWOOOYbu3bvzv//9L76KW++ll15i+PDhuFwurFYrNpuNGTNm8NNPP21zzREjRpCenh5/nJOTQ3Z2Nr/++isAXq+Xr776ipNPPhmn0xk/Lz09neOPPz7hWu+//z7ANkXBTjvtNNLS0njvvfcSxvfZZx8KCgrijwcNGgTE9qunpqZuM14/p+25++67+eqrrxK+evfujdfr5YsvvuDUU0/F5XLFz7dYLJx77rmsWbOGn3/+OeFap5xySsLjOXPmEA6HOe+88wiHw/Evp9PJ4YcfzocffghAZmYm/fv355577uH+++/n22+/JRqNNmv+IiIirUVBt4iISBOefvppvvrqK95//30uvfRSfvrpJ84888yEc1555RXGjx9PQUEBzz77LJ999hlfffUVF154IX6/f5trNlTV2+Fw4PP5ANi0aRPRaJTc3Nxtztt6bOPGjVitVnr27JkwbjKZyM3NZePGjQnjmZmZCY/tdnuT4w3NvyH9+vVjv/32S/hyOBxs2rQJwzDIy8vb5jn5+fnx97Clrc+tT6nff//9sdlsCV8vvPACGzZsiL/n9957j9GjRzN9+nR+97vf0bNnT6644gpqamqa9T5ERERamvZ0i4iINGHQoEHx4mkjRowgEonw73//m5dffjneh/rZZ59lt91244UXXkiosl1fACxZ3bt3x2QyUVZWts2xrcd69OhBOBxm/fr1CYG3YRiUlZWx//7779AcWkr37t0xm82sW7dum2OlpaUAZGVlJYxvXam8/vjLL79M3759m3y9vn37MmPGDAB++eUXXnzxRW655RaCwSCPPfbYDr8PERGRHaWVbhERkSRMnz6d7t27M2XKlHjqsslkwm63JwSLZWVlDVYvb4766uGvvPJKwkpzTU0Nr7/+esK5Rx11FBAL/Lf03//+F6/XGz/eVtLS0jjwwAN55ZVX4iv5ECu89uyzz9KrV6+EonQNGT16NFarlWXLlm2zml7/1ZDdd9+dm266iaFDh7Jw4cL4+JZZBSIiIq1NK90iIiJJ6N69O5MnT+a6667jueee45xzzmHs2LG88sorXH755Zx66qmsXr2a2267jby8PEpKSnbodW677TaOOeYYRo4cydVXX00kEuHuu+8mLS2NysrK+HkjR45k9OjRXH/99VRXVzN8+PB49fJhw4Zx7rnnttRb32HTpk1j5MiRjBgxgmuuuQa73c4jjzxCcXExzz///HZ7cBcWFnLrrbdy4403snz58vje+vLycr788kvS0tKYOnUq33//PX/+85857bTTGDhwIHa7nffff5/vv/+eG264IX69oUOHMmvWLF544QX69euH0+lk6NChrf0xiIhIF6WgW0REJEkTJ07k4Ycf5tZbb+XMM89kwoQJVFRU8Nhjj/HEE0/Qr18/brjhBtasWcPUqVN36DVGjhzJ7Nmzuemmmzj99NPJzc3l8ssvx+fzJVzTZDIxe/ZsbrnlFmbOnMkdd9xBVlYW5557LnfeeWe7aId1+OGH8/7773PzzTdzwQUXEI1G2XvvvXnttdcYO3Zss64xefJkBg8ezN///neef/55AoEAubm57L///lx22WVAbL97//79eeSRR1i9ejUmk4l+/fpx3333MXHixPi1pk6dyrp167jkkkuoqamhb9++rFy5sjXeuoiICCbDMIy2noSIiIiIiIhIZ6Q93SIiIiIiIiKtREG3iIiIiIiISCtR0C0iIiIiIiLSShR0i4iIiIiIiLQSBd0iIiIiIiIiraRNg+6PP/6Y448/nvz8/HjLky1dcMEFmEymhK+DDjoo4ZxAIMDEiRPJysoiLS2NcePGsWbNml34LkREREREREQa1qZBt9frZe+99+bhhx9u9JxjjjmGdevWxb/eeuuthONXXnklr776KrNmzeLTTz+ltraWsWPHEolEWnv6IiIiIiIiIk2ytuWLjxkzhjFjxjR5jsPhIDc3t8FjHo+HGTNm8Mwzz3D00UcD8Oyzz9K7d2/effddRo8e3ax5RKNRSktLSU9Px2QyJfcmREREREREpFMwDIOamhry8/Mxm1tmjbpNg+7m+PDDD8nOziYjI4PDDz+cO+64g+zsbAC++eYbQqEQo0aNip+fn59PUVERCxYsaDToDgQCBAKB+OO1a9cyePDg1n0jIiIiIiIi0iGsXr2aXr16tci12nXQPWbMGE477TT69u3LihUr+Nvf/saRRx7JN998g8PhoKysDLvdTvfu3ROel5OTQ1lZWaPXnTZtGlOnTt1mfPXq1XTr1q3F34eIiIiIiIi0f9XV1fTu3Zv09PQWu2a7DrpPP/30+L+LiorYb7/96Nu3L2+++SYnn3xyo88zDKPJNPHJkyczadKk+OP6D7Zbt24KukVERERERLq4ltx23KFahuXl5dG3b19KSkoAyM3NJRgMsmnTpoTzKioqyMnJafQ6DocjHmAr0BYREREREZHW0qGC7o0bN7J69Wry8vIA2HfffbHZbMybNy9+zrp16yguLuaQQw5pq2mKiIiIiIiIAG2cXl5bW8vSpUvjj1esWMGiRYvIzMwkMzOTW265hVNOOYW8vDxWrlzJX//6V7KysjjppJMAcLvdXHTRRVx99dX06NGDzMxMrrnmGoYOHRqvZi4iIiIiIiLSVto06P76668ZMWJE/HH9Puvzzz+fRx99lB9++IGnn36aqqoq8vLyGDFiBC+88ELCpvYHHngAq9XK+PHj8fl8HHXUUTz55JNYLJZd/n5EREREREREtmQyDMNo60m0terqatxuNx6PR/u7RUREREREuqjWiA071J5uERERERERkY5EQbeIiIiIiIhIK1HQLSIiIiIiItJKFHSLiIiIiIiItBIF3SIiIiIiIiKtREG3iIiIiIiISCtR0C0iIiIiIiLSShR0i4iIiIiIiLQSBd0iIiIiIiIirURBt4iIiIiIiEgrUdAtIiIiIiIi0koUdIuIiIiIiIi0EgXdIiIiIiIi0rqiUdiwoa1n0SYUdIuIiIiIiEjrefdd2H9/OPlkMIy2ns0up6BbREREREREWt6338Lo0TByJCxcCJ98Am+80daz2uWsbT0BERERERER6USiUbjgAnjmmcTxYcOge/c2mVJb0kq3iIiIiIiItByzOTGNvLAQ/vMf+PprOPTQNptWW1HQLSIiIiIiIjuurg7C4cSx226DggJ48EFYsgTOOisWjHdBXfNdi4iIiIiIyM4Jh+Hf/4aBA2HmzMRjhYWwYgX85S/gcLTJ9NoLBd0iIiIiIiLSfIYB//sf7LUXXHIJlJbCzTeD15t4ns3WNvNrZxR0i4iIiIiISPMsWAC//z2ceCL89NPm8QMOgOrqNptWe6agW0RERERERJq2ZAmcdBIMHw7z528eP+QQ+PRTmD0b8vLabHrtmVqGiYiIiIiISMMMA/78Z3jssVgrsHp77gl33QXjxoHJ1Hbz6wC00i0iIiIiIiINM5ligXd9wJ2fD48/Dj/8ACecoIC7GbTSLSIiIiIiIjGBQCyQtts3j02ZEiuc9qc/wZVXQmpq0peNRg3WVvnwBsOk2a0UZKRgNneNgF1Bt4iIiIiISAfT4kFsNArPPw833QQTJ8KkSZuP5ebG2n9tGYgnYWlFDXOKy1m2vhZ/OILTaqF/Txeji3IYkJ2+43PuIEyGYRhtPYm2Vl1djdvtxuPx0K1bt7aejoiIiIiISKNaPIidOxeuvx4WLYo9zsyEZcsgI6NF5jpz/koqvUHy3E5S7VbqgmHWefxkptmZMLywXQXerREbaqVbRERERESkA4hGDRYs28BzX67CGwjTLyuNfEcKdcEwxaUeSj2+5ILYhQtjwfa77yaO77sveDw7HXRHowZzisup9AYZmO3C9Nv+73SnDZfDSklFLXMXl9Mvy9WpU80VdIuIiIiIiLRzSytqeKe4jLd+WMdGb5DuKTaCYYMB2S4y0+zJBbHLl8fSyJ9/PnF82DC4+24YObJF5ry2ysey9bXkuZ3xgLueyWQiz+1kaUUta6t89M5Mfp94R6Hq5SIiIiIiIu1YfYr2VysrCYSj5HRz4LRbWV/jZ9HqKiq9wW2C2EbdcEOs3deWAfduu8Fzz8HXX7dYwA3gDYbxhyOk2hte602xWwiEI3iD4RZ7zfZIQbeIiIiIiEg7tWWKdkFGCiYTOKwWHFYzmWl2fMEwy9bXYhhG84LYaBRCodi/s7Lg73+Hn36CM88Ec8uGh2l2K06rhbpG5uMLRnBYLaQ1EpR3Fgq6RURERERE2qktU7QdVgtWs5lQJNYz22Qy4XJaqfQGqfGHtw1iw2Hw+xMvOHky9OoVSy9ftgyuuAIcjlaZe0FGCv17uljn8bN1/W7DMFjn8TMg20VBRkqrvH57oaBbRERERESkndoyRTvdaSUz1U6tPxwPYm0WM+FolEA4sjmIdTth9mwYOhSmT0+8YPfusWD7ttuglTs3mc0mRhflkJlmp6Silhp/iHA0So0/RElFLZlpdkYNyenURdRAQbeIiIiIiEi7tWWKtslkon92Gil2C5XeIIFwhEA4imHEVsQz0+yMq12O+bDfw0knwZIlcM89UFGReNEd7Le9IwZkpzNheCFF+W6q6kKs3OClqi7E0AJ3u2sX1lo6d/K8iIiIiIhIB1afol1c6sHlsJKZ5mCf3hksq/Cy0RvA4wuRmeZgNJWM++etuOa8lXiBvfeGqirIzm6T+UMs8O53hIu1VT68wTBpdisFGSmdfoW7noJuERERERGRdqo+RbvU46OkIra3u1uKjT1yXSzfYGI/i5eJnzxJzivPY4pGNz9x0CC46y44/ngwtX1wazabOnVbsKYo6BYREREREWnH6lO05xSXs2x9LeXVfhxWC5fPf4H9n3sU85bF0vLz4dZb4fzzwapwrz3Qd0FERERERKSdazBF++eMzQF3t26xyuRXXAGpXXNFub0yGVvXbu+CqqurcbvdeDweurVyBT8REREREZGkRaMQCEDKFu21amuhqAhOPhluvBF69Gi7+XUSrREbqnq5iIiIiIhIe2UYMGcO/O53cPPNicdcLvj5Z7j/fgXc7ZiCbhERERERkfbom2/g6KPhmGPgu+/goYdg1arEcxyOtpmbNJuCbhERERERkfZk2TI480zYbz94//34sG+PQZT9uo5otMvvEO5QVEhNRERERESkPVi/Hm67DR57DEKh+LAnrzf/O+1PfLHfkThKbfT/cBmji3IYkJ3ehpOV5lLQLSIiIiIi0tYeeghuuglqauJDkR49eOvES5hz6Alk90hnN7uVumCY4lIPpR4fE4YXKvDuABR0i4iIiIiItLVIZHPAnZqKMWkSMw44mW89UQZmuzCZTACkO224HFZKKmqZu7icflkuzGZTG05ctkd7ukVERERERHYlwwCfL3Hs8sthwAC47DJYtow1V01mSZ2JPLczHnDXM5li40srallbtdV1pN1R0C0iIiIiIrKrfPIJHHIITJqUOO5wwA8/wKOPQm4u3mAYfzhCqr3h5OQUu4VAOII3GN4Fk5adoaBbRERERESktS1eDOPGwWGHweefw+OPx3psb8npjP8zzW7FabVQ10hQ7QtGcFgtpDUSlEv70aZB98cff8zxxx9Pfn4+JpOJ2bNnN3rupZdeislk4sEHH0wYDwQCTJw4kaysLNLS0hg3bhxr1qxp3YmLiIiIiIg0x5o1cNFFsNde8Prrm8f32AOqqhp9WkFGCv17uljn8WMYiS3CDMNgncfPgGwXBRkprTRxaSltGnR7vV723ntvHn744SbPmz17Nl988QX5+fnbHLvyyit59dVXmTVrFp9++im1tbWMHTuWSCTSWtMWERERERFp2qZNcMMNMHAgPPEERKOx8YICmDEDvv8eDjyw0aebzSZGF+WQmWanpKKWGn+IcDRKjT9ESUUtmWl2Rg3JURG1DqBNcxHGjBnDmDFjmjxn7dq1/PnPf2bOnDkcd9xxCcc8Hg8zZszgmWee4eijjwbg2WefpXfv3rz77ruMHj261eYuIiIiIiLSoBkz4NprY4F3PbcbJk+GK66AlOatTg/ITmfC8ELmFJezbH0t5dV+HFYLQwvcjBqiPt0dRbveABCNRjn33HO59tprGTJkyDbHv/nmG0KhEKNGjYqP5efnU1RUxIIFCxR0i4iIiIjIrheNbg647XaYODEWcPfokfSlBmSn0+8IF2urfHiDYdLsVgoyUrTC3YG066D77rvvxmq1csUVVzR4vKysDLvdTvfu3RPGc3JyKCsra/S6gUCAQCAQf1xdXd0yExYRERERka7FMIj6/Kz1G5uD4vMvwPzgg7DvvnDbbdC37069hNlsondmasvMV3a5dht0f/PNN/z9739n4cKF2/Sl2x7DMJp8zrRp05g6derOTlFERERERLqyr7+m7sqrWZ3SnX9efAv+cASn1UL/ni6OeesD+vfNbusZSjvQbluGffLJJ1RUVNCnTx+sVitWq5Vff/2Vq6++msLCQgByc3MJBoNs2nKvBFBRUUFOTk6j1548eTIejyf+tXr16tZ8KyIiIiIi0pksXQqnnw7770/q/I8Z+N5r7FG2jH5ZLjJSbRSXenhiYTlLK2raeqbSDrTboPvcc8/l+++/Z9GiRfGv/Px8rr32WubMmQPAvvvui81mY968efHnrVu3juLiYg455JBGr+1wOOjWrVvCl4iIiIiISJMqKmL7swcNghdfjA9X5fTCXFONNxDG5bAyMNtFpTfI3MXlRKNGExeUrqBN08tra2tZunRp/PGKFStYtGgRmZmZ9OnThx5bFRqw2Wzk5uayxx57AOB2u7nooou4+uqr6dGjB5mZmVxzzTUMHTo0Xs1cRERERERkp9TWwv33wz33xP79m+r07rww5gL+t/9x+M0WrMs3kplqp392GnluJ0srallb5dN+7C6uTYPur7/+mhEjRsQfT5o0CYDzzz+fJ598slnXeOCBB7BarYwfPx6fz8dRRx3Fk08+icViaY0pi4iIiIhIJxGNGg1WBd9yPOvN2fS48TpM5eWbn5iWxrLzLuPy3CMIp6aRnmKju8VMKBKlosZPTSDE0AI3gXAEbzDcdm9Q2gWTYRhdPt+huroat9uNx+NRqrmIiIiISBewtKIm3v96ywJoe+als2RdTXz84C/mcu7//TX2JIsF/vAHojf9jbu+reKN70vJTnfgsG1e8DMMg0pvEHeq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2dm4RaNRpkyZws9//vNOr6Fx2/12NG6xWIx58+bx4x//mHnz5vHII4/w0Ucf8fnPf77deRq33W9nf9/GjBnDr3/9axYsWMCcOXMYNmwY06dPZ8OGDdlzNG67387Grc1jjz3G66+/TnV1dYdjGre+0ZWx+9znPtcutnvyySfbHe+RsfPkE/vOd77jjRw50nNd13Nd16usrPR+/vOfZ48nEgmvqKjI+/3vf9+HvZQTTjjBu+CCC9q1nXrqqd4555zjeZ6nsctRsVjMsyzLe+KJJ9q1T5o0yfvhD3+occtRgPfoo49mH3dlnBobGz2/3+899NBD2XPWrFnjmabp/ec//9ltfd+TbTtuW1u2bJkHeG+//Xa7do1b39vRuLV54403PMBbsWKF53kat1zQlXFramryAO/ZZ5/1PE/jlgs6G7fVq1d7NTU13sKFC72hQ4d6t912W/aYxi03bG/szjvvPO/kk0/u9Dk9NXaa6f6EUqkU999/PxdccAGGYbBs2TJqa2uZPn169pxgMMiRRx7JK6+80oc9lcMOO4znnnuOjz76CIB33nmHOXPmcPzxxwNo7HKUbds4jkMoFGrXHg6HmTNnjsatn+jKOM2dO5d0Ot3unOrqaiZMmKCxzGEat/6hqakJwzAoLi4GNG79QSqV4g9/+ANFRUVMmjQJ0LjlKtd1+cpXvsLll1/O+PHjOxzXuOW2559/nvLycsaMGcNFF11EXV1d9lhPjZ2vR3u8B3rsscdobGzk/PPPB6C2thaAioqKdudVVFSwYsWK3d092cqVV15JU1MTe+21F5Zl4TgON9xwA1/60pcAjV2uKigoYPLkyVx//fWMGzeOiooKHnzwQV5//XVGjx6tcesnujJOtbW1BAIBSkpKOpzT9nzJPRq33JdIJLjqqqs4++yzKSwsBDRuueyJJ57grLPOIhaLUVVVxezZsykrKwM0brnq5ptvxufzcemll273uMYtdx133HGcfvrpDB06lGXLlvHjH/+Yo446irlz5xIMBnts7BR0f0J33303xx13XIe9G4ZhtHvseV6HNtm9/vrXv3L//ffzwAMPMH78eObPn89ll11GdXU15513XvY8jV3uue+++7jggguoqanBsiz2228/zj77bObNm5c9R+PWP+zKOGks+yeNW25Ip9OcddZZuK7Lb3/7252er3Hre5/97GeZP38+Gzdu5I9//CNnnHEGr7/+OuXl5Z0+R+PWd+bOncuvfvUr5s2b1+0x0Lj1vTPPPDP73xMmTOCAAw5g6NCh/Pvf/+bUU0/t9HndHTstL/8EVqxYwbPPPsuFF16YbausrATo8M1HXV1dhxke2b0uv/xyrrrqKs466ywmTpzIV77yFb773e9y0003ARq7XDZy5EheeOEFWltbWbVqFW+88QbpdJrhw4dr3PqJroxTZWUlqVSKhoaGTs+R3KNxy13pdJozzjiDZcuWMXv27OwsN2jcclleXh6jRo3ikEMO4e6778bn83H33XcDGrdc9NJLL1FXV8eQIUPw+Xz4fD5WrFjB97//fYYNGwZo3PqTqqoqhg4dyuLFi4GeGzsF3Z/AzJkzKS8v54QTTsi2tQUBbRnNIbMn54UXXuDQQw/ti27KZrFYDNNs/5G3LCtbMkxjl/vy8vKoqqqioaGBp59+mpNPPlnj1k90ZZz2339//H5/u3PWrVvHwoULNZY5TOOWm9oC7sWLF/Pss88yYMCAdsc1bv2H53kkk0lA45aLvvKVr/Duu+8yf/787E91dTWXX345Tz/9NKBx6082bdrEqlWrqKqqAnpu7LS8fBe5rsvMmTM577zz8Pm2vI2GYXDZZZdx4403Mnr0aEaPHs2NN95IJBLh7LPP7sMey0knncQNN9zAkCFDGD9+PG+//Ta33norF1xwAaCxy2VPP/00nucxduxYlixZwuWXX87YsWOZMWOGxi2HtLa2smTJkuzjZcuWMX/+fEpLSxkyZMhOx6moqIivfvWrfP/732fAgAGUlpbygx/8gIkTJzJt2rS+uq1PvZ2NW319PStXrszWeF60aBGQ+fa/srJS49ZHdjRu1dXVfPGLX2TevHk88cQTOI6TXWVSWlpKIBDQuPWRHY3bgAEDuOGGG/j85z9PVVUVmzZt4re//S2rV6/OlqXVuPWNnf07ue2XWn6/n8rKSsaOHQto3PrSjsautLSUa6+9ltNOO42qqiqWL1/O//t//4+ysjK+8IUvAD04dl3Ocy7tPP300x7gLVq0qMMx13W9a665xqusrPSCwaB3xBFHeAsWLOiDXsrWmpubve985zvekCFDvFAo5I0YMcL74Q9/6CWTyew5Grvc9Ne//tUbMWKEFwgEvMrKSu+b3/ym19jYmD2uccsN//vf/zygw895553neV7Xxikej3vf+ta3vNLSUi8cDnsnnniit3Llyj64mz3HzsZt5syZ2z1+zTXXZK+hcdv9djRubeXdtvfzv//9L3sNjdvut6Nxi8fj3he+8AWvurraCwQCXlVVlff5z3/ee+ONN9pdQ+O2++3s38ltbVsyzPM0bn1lR2MXi8W86dOnewMHDvT8fr83ZMgQ77zzzuswLj0xdobneV7XQ3QRERERERER6Srt6RYRERERERHpJQq6RURERERERHqJgm4RERERERGRXqKgW0RERERERKSXKOgWERERERER6SUKukVERERERER6iYJuERERERERkV6ioFtERERERESklyjoFhER+YQMw+Cxxx7r625027Bhw7j99tv75LVTqRSjRo3i5Zdf7pPX7ynnn38+p5xySpfO/cEPfsCll17aux0SEZGco6BbRET6jVdeeQXLsvjc5z7X7ef2ZYDZncCsJ8yaNQvDMHb48/zzz/Pmm2/yta99bbf1a2t/+MMfGDp0KFOmTOmT1+8LV1xxBTNnzmTZsmV93RUREdmNFHSLiEi/cc899/Dtb3+bOXPmsHLlyr7uTs4688wzWbduXfZn8uTJXHTRRe3aDj30UAYOHEgkEumTPt55551ceOGFffLafaW8vJzp06fz+9//vq+7IiIiu5GCbhER6Rei0SgPP/ww3/jGNzjxxBOZNWtWh3P+9a9/ccABBxAKhSgrK+PUU08FYOrUqaxYsYLvfve72ZlegGuvvZZ99tmn3TVuv/12hg0bln385ptvcswxx1BWVkZRURFHHnkk8+bN69F7u/XWW5k4cSJ5eXkMHjyYSy65hNbW1uzxWbNmUVxczGOPPcaYMWMIhUIcc8wxrFq1arvXC4fDVFZWZn8CgQCRSKRD27az/4ZhcNddd3HiiScSiUQYN24cr776KkuWLGHq1Knk5eUxefJkli5d2u71Hn/8cfbff39CoRAjRozguuuuw7btTu933rx5LFmyhBNOOCHblkql+Na3vkVVVRWhUIhhw4Zx0003ZY83NTXxta99jfLycgoLCznqqKN455132l23s/EHaGho4Nxzz6WkpIRIJMJxxx3H4sWLO7zHTz/9NOPGjSM/P5/Pfe5zrFu3LnuO4zh873vfo7i4mAEDBnDFFVfgeV67Pvz9739n4sSJhMNhBgwYwLRp04hGo9njn//853nwwQc7fW9EROTTR0G3iIj0C3/9618ZO3YsY8eO5ZxzzmHmzJntAp5///vfnHrqqZxwwgm8/fbbPPfccxxwwAEAPPLIIwwaNIif/vSn2ZnermppaeG8887jpZde4rXXXmP06NEcf/zxtLS09Ni9mabJHXfcwcKFC7n33nv573//yxVXXNHunFgsxg033MC9997Lyy+/THNzM2eddVaP9aHN9ddfz7nnnsv8+fPZa6+9OPvss7n44ou5+uqreeuttwD41re+lT3/6aef5pxzzuHSSy/l/fff56677mLWrFnccMMNnb7Giy++yJgxYygsLMy23XHHHfzrX//i4YcfZtGiRdx///3ZLz88z+OEE06gtraWJ598krlz57Lffvtx9NFHU19fD+x4/CGzxP+tt97iX//6F6+++iqe53H88ceTTqez58RiMf7v//6P++67jxdffJGVK1fygx/8IHv8l7/8Jffccw933303c+bMob6+nkcffTR7fN26dXzpS1/iggsu4IMPPuD555/n1FNPbfc5Peigg1i1ahUrVqzo7tCIiEh/5YmIiPQDhx56qHf77bd7nud56XTaKysr82bPnp09PnnyZO/LX/5yp88fOnSod9ttt7Vru+aaa7xJkya1a7vtttu8oUOHdnod27a9goIC7/HHH8+2Ad6jjz7a6XPOO+887+STT+70+LYefvhhb8CAAdnHM2fO9ADvtddey7Z98MEHHuC9/vrrO73ekUce6X3nO9/p0L7tewJ4P/rRj7KPX331VQ/w7r777mzbgw8+6IVCoezjww8/3LvxxhvbXfe+++7zqqqqOu3Pd77zHe+oo45q1/btb3/bO+qoozzXdTuc/9xzz3mFhYVeIpFo1z5y5Ejvrrvu8jxvx+P/0UcfeYD38ssvZ9s2btzohcNh7+GHH/Y8b8t7vGTJkuw5v/nNb7yKiors46qqKu/nP/959nE6nfYGDRqUHdu5c+d6gLd8+fJO772pqckDvOeff77Tc0RE5NNFM90iIpLzFi1axBtvvJGd2fX5fJx55pncc8892XPmz5/P0Ucf3eOvXVdXx9e//nXGjBlDUVERRUVFtLa29uie8v/9738cc8wx1NTUUFBQwLnnnsumTZvaLUv2+XztZm732msviouL+eCDD3qsHwCf+cxnsv9dUVEBwMSJE9u1JRIJmpubAZg7dy4//elPyc/Pz/607R+PxWLbfY14PE4oFGrXdv755zN//nzGjh3LpZdeyjPPPJM9NnfuXFpbWxkwYEC711m2bFl2qfuOxv+DDz7A5/Nx8MEHZ9sGDBjA2LFj271/kUiEkSNHZh9XVVVRV1cHZJa3t+2Pb7PtmEyaNImjjz6aiRMncvrpp/PHP/6RhoaGdn0Jh8MAnb43IiLy6ePr6w6IiIjszN13341t29TU1GTbPM/D7/fT0NBASUlJNpjpDtM0O+zJ3Xq5MWSCwQ0bNnD77bczdOhQgsEgkydPJpVK7drNbGPFihUcf/zxfP3rX+f666+ntLSUOXPm8NWvfrVDX9r2ou+s7ZPw+/0drr29Ntd1s39ed9117fZPt9k2sG5TVlbGggUL2rXtt99+LFu2jKeeeopnn32WM844g2nTpvH3v/8d13Wpqqri+eef73Ct4uJigB2O/7ZjvHX71u/f1vcJmXvt7LnbY1kWs2fP5pVXXuGZZ57hzjvv5Ic//CGvv/46w4cPB8guhx84cGCXrysiIv2bZrpFRCSn2bbNn//8Z375y18yf/787M8777zD0KFD+ctf/gJkZmife+65Tq8TCARwHKdd28CBA6mtrW0XWM2fP7/dOS+99BKXXnopxx9/POPHjycYDLJx48Yeu7+33noL27b55S9/ySGHHMKYMWNYu3Zth/Ns287uqYbM7H9jYyN77bVXj/VlV+y3334sWrSIUaNGdfgxze3/mrHvvvvy4YcfdghoCwsLOfPMM/njH//IX//6V/7xj39QX1/PfvvtR21tLT6fr8NrlJWVATse/7333hvbtnn99dezbZs2beKjjz5i3LhxXbrPoqIiqqqqeO2117Jttm0zd+7cducZhsGUKVO47rrrePvttwkEAu32fS9cuBC/38/48eO79LoiItL/aaZbRERy2hNPPEFDQwNf/epXKSoqanfsi1/8InfffTff+ta3uOaaazj66KMZOXIkZ511FrZt89RTT2UTkg0bNowXX3yRs846i2AwSFlZGVOnTmXDhg3ccsstfPGLX+Q///kPTz31VLsEX6NGjeK+++7jgAMOoLm5mcsvv3yXZtWbmpo6BPSlpaWMHDkS27a58847Oemkk3j55Ze3W1LK7/fz7W9/mzvuuAO/38+3vvUtDjnkEA466KBu96Un/eQnP+HEE09k8ODBnH766ZimybvvvsuCBQv42c9+tt3nfPaznyUajfLee+8xYcIEAG677TaqqqrYZ599ME2Tv/3tb1RWVlJcXMy0adOYPHkyp5xyCjfffDNjx45l7dq1PPnkk5xyyikccMABOxz/0aNHc/LJJ3PRRRdx1113UVBQwFVXXUVNTQ0nn3xyl+/1O9/5Dj//+c8ZPXo048aN49Zbb6WxsTF7/PXXX+e5555j+vTplJeX8/rrr7Nhw4Z2gf1LL73E4YcfvkufIRER6Z800y0iIjnt7rvvZtq0aR0CboDTTjuN+fPnM2/ePKZOncrf/vY3/vWvf7HPPvtw1FFHtZvZ/OlPf8ry5csZOXJkdmnvuHHj+O1vf8tvfvMbJk2axBtvvNEuWzVkaoM3NDSw77778pWvfIVLL72U8vLybt/H888/z7777tvu5yc/+Qn77LMPt956KzfffDMTJkzgL3/5S7tSWW0ikQhXXnklZ599NpMnTyYcDvPQQw91ux897dhjj+WJJ55g9uzZHHjggRxyyCHceuutDB06tNPnDBgwgFNPPTW7SgEgPz+fm2++mQMOOIADDzyQ5cuX8+STT2KaJoZh8OSTT3LEEUdwwQUXMGbMGM466yyWL1+e3Xe+s/GfOXMm+++/PyeeeCKTJ0/G8zyefPLJDkvKd+T73/8+5557Lueffz6TJ0+moKCAL3zhC9njhYWFvPjiixx//PGMGTOGH/3oR/zyl7/kuOOOy57z4IMPctFFF3X5NUVEpP8zvO5sVhIREZHdbtasWVx22WXtZlX7uwULFjBt2jSWLFlCQUFBX3dnt/j3v//N5ZdfzrvvvovPp8WGIiJ7Cs10i4iIyG43ceJEbrnlFpYvX97XXdltotEoM2fOVMAtIrKH0b/6IiIi0ifOO++8vu7CbnXGGWf0dRdERKQPaHm5iIiIiIiISC/R8nIRERERERGRXqKgW0RERERERKSXKOgWERERERER6SUKukVERERERER6iYJuERERERERkV6ioFtERERERESklyjoFhEREREREeklCrpFREREREREeomCbhEREREREZFe8v8BN7cbTcTm/DUAAAAASUVORK5CYII=",
|
|
"text/plain": [
|
|
"<Figure size 1000x600 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Print results\n",
|
|
"print(\"\\nModel Performance:\")\n",
|
|
"for name, metrics in results.items():\n",
|
|
" print(f\"\\n{name}:\")\n",
|
|
" print(f\"RMSE: {metrics['RMSE']:.2f} seconds\")\n",
|
|
" print(f\"R2 Score: {metrics['R2']:.3f}\")\n",
|
|
"\n",
|
|
"# Visualize predictions vs actual values for the best model\n",
|
|
"plt.figure(figsize=(10, 6))\n",
|
|
"best_model_name = max(results.items(), key=lambda x: x[1]['R2'])[0]\n",
|
|
"best_model = models[best_model_name]\n",
|
|
"y_pred = best_model.predict(X_test_scaled)\n",
|
|
"\n",
|
|
"plt.scatter(y_test, y_pred, alpha=0.5)\n",
|
|
"plt.plot([y_test.min(), y_test.max()], [y_test.min(), y_test.max()], 'r--', lw=2)\n",
|
|
"plt.xlabel('Actual Lap Time (seconds)')\n",
|
|
"plt.ylabel('Predicted Lap Time (seconds)')\n",
|
|
"plt.title(f'Actual vs Predicted Lap Times\\n{best_model_name}')\n",
|
|
"plt.tight_layout()\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 45,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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ONCQZERHR1+3pqx9r169+rrt/i4jI8NIT083XnvtNaNs2bK2a90wrn1eFovF2Lt3r9027dq1M7y8vIzU1NSb2kdOP9//XPf3Yxs3blyO126DBg0MScaaNWtsy9LT041y5coZXbt2tS2bOnWqUaJECWPXrl1223/88ceGJGP9+vWGYRjGzJkzDUnGuXPnbuo4ANyZGOkGgCLugw8+0K5du+wmZ2dnff3117p69ap69+5tNwru5uamVq1a2d26euHCBY0cOVLVq1eXs7OznJ2dZbValZqaqvj4eFPq7tatm938tm3bdPbsWfXp08eu3szMTLVv3167du3KdlvnzercubPdfHBwsCRlG6UPDg62u6U+S9euXe2euc4awd68ebMyMjKUmpqqH3/8UY8++qisVqutnZOTk5588kn99ttvOnz48HWP/0Z+/fVXRUREyNfXV05OTnJxcVGrVq0kKdtnZLFYso2A33PPPXbH9uWXX8rNze26t8F+8cUXslgs6tWrl91n4uvrq/r16+f77dq+vr5q2rTpdeu7nvXr18vFxUUuLi4KCAjQqlWrNGTIkGyj0I888ohcXFxs80ePHtV//vMfPfHEE5Jkd0wdO3ZUUlKS7XPauHGj2rZtqwoVKti2d3JyuqkR45s5t/lxM5/rpk2bVKpUKbuXkElSz549C7SWDRs26MEHH5S3t7ftehw7dqzOnDmjU6dO2bWtU6eO6tevb7csIiJCKSkp+umnnwq0rn/K6WffYrGoQ4cOtmXOzs6qXr263Xn84osvVLduXTVo0MDuOgkLC7O79f/ee++VdG1EfdWqVfr9999NPR4ARdOd+cYaAChGgoODc3yRWtatv1n/KfynEiX+7/euERER+v777zVmzBjde++98vLyksViUceOHXXp0iVT6v7nG62z6n300Udz3ebs2bPy9PTM877KlCljN1+yZMlcl1++fDnb9r6+vjkuu3Llii5cuKDz58/LMIwc39Kd9Sb5M2fO2C3Pyxu9L1y4oAceeEBubm6aNGmSatasKQ8PD504cUJdu3bN9hl5eHhkezGbq6ur3bGdPn1alSpVsrsO/unPP/+UYRh2wfPvAgMDb/oY/q5s2bLZlrm6ut70tXb//fdr9uzZslgs8vDw0N133237TP8ut2tsxIgRuX6tXtbjFGfOnMn1c7+Rmzm3+XEzn+uZM2dy/Lxy+wzzY+fOnXrooYfUunVrLVy4UFWqVFHJkiW1du1aTZ48OdvneL3z+M+fi4KW0894TuexZMmSSklJsc3/+eefOnr0qN0vbf4u6zpp2bKl1q5dq7feeku9e/dWWlqa6tSpo1GjRhX4LzoAFF2EbgAopu666y5J0scff6xq1arl2i45OVlffPGFxo0bp1deecW2PC0tTWfPnr3p/bm5uWV7oZN07T+nWbX8ncViybHet99+O9c3ERdkcMiLkydP5risZMmSslqtcnZ2VokSJZSUlJSt3R9//CFJ2c7BP4//ejZs2KA//vhDsbGxttFtSbf0fd7lypXT1q1blZmZmWs4vOuuu2SxWLRly5Yc3/ptxpvAb4a3t/dNvbE/t2ssKipKXbt2zXGboKAgSdd+MZDb534jN3NuzVK2bFnt3Lkz2/KbqftmrVixQi4uLvriiy/swmtO3zme276zluX0C5jbwV133SV3d3ctXrw41/VZwsPDFR4errS0NO3YsUNTp05VRESE/P39FRISUlglA7iNEboBoJgKCwuTs7OzEhISrnsrs8VikWEY2QLU+++/r4yMDLtlWW1yGpH09/fX/v377ZYdOXJEhw8fzjF0/1OLFi3k4+OjQ4cOafDgwTdsX5jWrFmjGTNm2ALG+fPn9fnnn+uBBx6Qk5OTPD091axZM61Zs0YzZ86Uu7u7JCkzM1NLly5VlSpVVLNmzRvuJ7fzmxUe//kZLViwIN/H1KFDBy1fvlwxMTG53gbduXNnvf766/r999/VvXv3fO/rdhEUFKQaNWpo3759tpcC5iY0NFSfffaZ/vzzT9svezIyMnJ8Kd4/3cy5lfI2un+zWrVqpVWrVunLL7+0u4V6xYoVBbaPrK/3c3Jysi27dOmSPvzwwxzbHzx4UPv27bO7xfyjjz5SqVKlbC8KvN107txZU6ZMUdmyZRUQEHBT27i6uqpVq1by8fHR119/rT179hC6AUgidANAseXv76/XXntNo0aN0q+//qr27durdOnS+vPPP7Vz5055enpqwoQJ8vLyUsuWLTVjxgzddddd8vf316ZNm7Ro0SL5+PjY9Vm3bl1J0nvvvadSpUrJzc1NAQEBKlu2rJ588kn16tVLzz77rLp166b//ve/mj59+k1/T7PVatXbb7+tPn366OzZs3r00UdVvnx5nT59Wvv27dPp06c1b968gj5NN8XJyUnt2rXT8OHDlZmZqWnTpiklJUUTJkywtZk6daratWun0NBQjRgxQiVLltTcuXP1888/a/ny5Tc1sl2vXj1J0pw5c9SnTx+5uLgoKChIzZs3V+nSpTVo0CCNGzdOLi4uWrZsmfbt25fvY+rZs6eio6M1aNAgHT58WKGhocrMzNSPP/6o4OBgPf7442rRooWefvppPfXUU9q9e7datmwpT09PJSUlaevWrapXr16u34t9u1qwYIE6dOigsLAw9e3bV5UrV9bZs2cVHx+vn376SatXr5YkjR49Wp999pnatGmjsWPHysPDQ+++++5NvVfgZs6tdO3zjo2N1eeff66KFSuqVKlStpH2/OrTp49mz56tXr16adKkSapevbq+/PJLff3115J00yPvO3bsyHF5q1at1KlTJ73xxhuKiIjQ008/rTNnzmjmzJm53vlQqVIlPfLIIxo/frwqVqyopUuX6ttvv9W0adPk4eGRvwM12dChQ/XJJ5+oZcuWGjZsmO655x5lZmbq+PHj+uabb/Tiiy+qWbNmGjt2rH777Te1bdtWVapU0blz5zRnzhy7dy4AAKEbAIqxqKgo1a5dW3PmzNHy5cuVlpYmX19f3XvvvRo0aJCt3UcffaQXXnhBL7/8sq5evaoWLVro22+/zfaisYCAAL355puaM2eOWrdurYyMDEVHR6tv376KiIjQH3/8ofnz5ys6Olp169bVvHnz7ILpjfTq1UtVq1bV9OnTNXDgQJ0/f17ly5dXgwYNcvwO8MIyePBgXb58Wc8//7xOnTqlOnXqaN26dWrRooWtTatWrbRhwwaNGzdOffv2VWZmpurXr6/PPvss28ucctO6dWtFRUVpyZIlWrhwoTIzM7Vx40a1bt1a69at04svvqhevXrJ09NT4eHhWrlyZb5HCp2dnbV+/XpNnTpVy5cv15tvvqlSpUqpfv36di/hWrBgge677z4tWLBAc+fOVWZmpipVqqQWLVpkexlaURAaGqqdO3dq8uTJGjp0qP766y+VLVtWtWvXthvNr1u3rr777ju9+OKL6tOnj0qXLq0nn3xS3bp109NPP33dfdzsuZ0zZ46ee+45Pf7447avqMrvy+myeHp6asOGDRo6dKhefvllWSwWPfTQQ5o7d646duyY7RdpuZk1a1aOyzdu3Kg2bdpo8eLFmjZtmh5++GFVrlxZAwYMUPny5dW/f/9s2zRo0EBPPfWUxo0bp19++UWVKlXSG2+8oWHDht3KoZrK09NTW7Zs0euvv6733ntPx44dk7u7u6pWraoHH3xQ/v7+kqRmzZpp9+7dGjlypE6fPi0fHx81adJEGzZsUJ06dRx7EABuGxbD+P9fNAgAAOwkJiYqICBAM2bMyPXFW0BRMGXKFI0ePVrHjx9XlSpVCm2//v7+qlu3rr744otC2ycA3G4Y6QYAAChG3nnnHUlSrVq1lJ6erg0bNuitt95Sr169CjVwAwCuIXQDAAAUIx4eHpo9e7YSExOVlpamqlWrauTIkRo9erSjSwOAOxK3lwMAAAAAYJLC/fJIAAAAAADuIIRuAAAAAABMQugGAAAAAMAkvEitGMrMzNQff/yhUqVKyWKxOLocAAAAACh2DMPQ+fPnValSJZUokft4NqG7GPrjjz/k5+fn6DIAAAAAoNg7ceLEdb+SkdBdDJUqVUrStQ/fy8vLwdUAAAAAQPGTkpIiPz8/W/7KDaG7GMq6pdzLy4vQDQAAAAAmutEjvbxIDQAAAAAAkxC6AQAAAAAwCbeXF2MtRy+Xk6u7o8sAAAAAgDyLm9Hb0SUUCEa6AQAAAAAwCaEbAAAAAACTELoBAAAAADAJoRsAAAAAAJMQugEAAAAAMAmhGwAAAAAAkxC6AQAAAAAwCaEbAAAAAACTELoBAAAAADAJoRsAAAAAAJMQugEAAAAAMAmhGwAAAAAAkxC6AQAAAAAwCaEbAAAAAACTELoLWWJioiwWi/bu3evoUgAAAAAAJiu2ofvUqVMaOHCgqlatKldXV/n6+iosLEzbt293dGl2cgrhL7zwgho3bixXV1c1aNDAYbUBAAAAAG6Ns6MLMEu3bt2Unp6uJUuWKDAwUH/++ae+//57nT171tGl3ZBhGOrXr59+/PFH7d+/39HlAAAAAADyqViOdJ87d05bt27VtGnTFBoaqmrVqqlp06aKiopSp06dJEkWi0Xz5s1Thw4d5O7uroCAAK1evdqun99//109evRQ6dKlVbZsWYWHhysxMdGuTXR0tIKDg+Xm5qZatWpp7ty5dut37typhg0bys3NTU2aNNGePXtuWP9bb72l5557ToGBgbd2IgAAAAAADlUsQ7fVapXVatXatWuVlpaWa7sxY8aoW7du2rdvn3r16qWePXsqPj5eknTx4kWFhobKarVq8+bN2rp1q6xWq9q3b68rV65IkhYuXKhRo0Zp8uTJio+P15QpUzRmzBgtWbJEkpSamqrOnTsrKChIcXFxGj9+vEaMGGH+CQAAAAAA3BaKZeh2dnZWTEyMlixZIh8fH7Vo0UKvvvpqtlu1H3vsMUVGRqpmzZqaOHGimjRporfffluStGLFCpUoUULvv/++6tWrp+DgYEVHR+v48eOKjY2VJE2cOFGzZs1S165dFRAQoK5du2rYsGFasGCBJGnZsmXKyMjQ4sWLVadOHXXu3FkvvfRSgR9vWlqaUlJS7CYAAAAAgOMVy9AtXXum+48//tBnn32msLAwxcbGqlGjRoqJibG1CQkJsdsmJCTENtIdFxeno0ePqlSpUraR8zJlyujy5ctKSEjQ6dOndeLECfXv39+23mq1atKkSUpISJAkxcfHq379+vLw8Mh1nwVh6tSp8vb2tk1+fn4Fvg8AAAAAQN4V2xepSZKbm5vatWundu3aaezYsYqMjNS4cePUt2/fXLexWCySpMzMTDVu3FjLli3L1qZcuXK6fPmypGu3mDdr1sxuvZOTk6RrL0QrDFFRURo+fLhtPiUlheANAAAAALeBYh26/6l27dpau3atbX7Hjh3q3bu33XzDhg0lSY0aNdLKlStVvnx5eXl5ZevL29tblStX1q+//qonnngi1/19+OGHunTpktzd3W37KGiurq5ydXUt8H4BAAAAALemWN5efubMGbVp00ZLly7V/v37dezYMa1evVrTp09XeHi4rd3q1au1ePFiHTlyROPGjdPOnTs1ePBgSdITTzyhu+66S+Hh4dqyZYuOHTumTZs26YUXXtBvv/0mSRo/frymTp2qOXPm6MiRIzpw4ICio6P1xhtvSJIiIiJUokQJ9e/fX4cOHdL69es1c+bMG9Z/9OhR7d27VydPntSlS5e0d+9e7d271/YCNwAAAABA0VAsR7qtVquaNWum2bNnKyEhQenp6fLz89OAAQP06quv2tpNmDBBK1as0LPPPitfX18tW7ZMtWvXliR5eHho8+bNGjlypLp27arz58+rcuXKatu2rW3kOzIyUh4eHpoxY4ZefvlleXp6ql69eho6dKitjs8//1yDBg1Sw4YNVbt2bU2bNk3dunW7bv2RkZHatGmTbT5r9P3YsWPy9/cvwDMFAAAAADCT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AAAAAJMQugEAAAAAMAmh20SJiYmyWCzau3evo0sBAAAAADhAsQjdp06d0sCBA1W1alW5urrK19dXYWFh2r59u6NLy+aTTz5Rs2bN5O3trVKlSqlOnTp68cUXJUmtW7eWxWLJdfL393ds8QAAAACAPHF2dAEFoVu3bkpPT9eSJUsUGBioP//8U99//73Onj3r6NLsfPfdd3r88cc1ZcoUPfLII7JYLDp06JC+//57SdKaNWt05coVSdKJEyfUtGlTfffdd6pTp44kycnJyWG1AwAAAADyrsiPdJ87d05bt27VtGnTFBoaqmrVqqlp06aKiopSp06dJEkWi0Xz5s1Thw4d5O7uroCAAK1evdqun99//109evRQ6dKlVbZsWYWHhysxMdGuTXR0tIKDg+Xm5qZatWpp7ty5dut37typhg0bys3NTU2aNNGePXvs1n/xxRe6//779dJLLykoKEg1a9ZUly5d9Pbbb0uSypQpI19fX/n6+qpcuXKSpLJly2ZbBgAAAAAoGop86LZarbJarVq7dq3S0tJybTdmzBh169ZN+/btU69evdSzZ0/Fx8dLki5evKjQ0FBZrVZt3rxZW7duldVqVfv27W0jzwsXLtSoUaM0efJkxcfHa8qUKRozZoyWLFkiSUpNTVXnzp0VFBSkuLg4jR8/XiNGjLCrwdfXVwcPHtTPP/9coOcgLS1NKSkpdhMAAAAAwPGKfOh2dnZWTEyMlixZIh8fH7Vo0UKvvvqq9u/fb9fuscceU2RkpGrWrKmJEyeqSZMmthHmFStWqESJEnr//fdVr149BQcHKzo6WsePH1dsbKwkaeLEiZo1a5a6du2qgIAAde3aVcOGDdOCBQskScuWLVNGRoYWL16sOnXqqHPnznrppZfsahgyZIjuvfde1atXT/7+/nr88ce1ePHi6/6y4GZMnTpV3t7etsnPz++W+gMAAAAAFIwiH7qla890//HHH/rss88UFham2NhYNWrUSDExMbY2ISEhdtuEhITYRrrj4uJ09OhRlSpVyjZyXqZMGV2+fFkJCQk6ffq0Tpw4of79+9vWW61WTZo0SQkJCZKk+Ph41a9fXx4eHrnu09PTU+vWrdPRo0c1evRoWa1Wvfjii2ratKkuXryY7+OPiopScnKybTpx4kS++wIAAAAAFJxi8SI1SXJzc1O7du3Url07jR07VpGRkRo3bpz69u2b6zYWi0WSlJmZqcaNG2vZsmXZ2pQrV06XL1+WdO0W82bNmtmtz3q5mWEYN13r3XffrbvvvluRkZEaNWqUatasqZUrV+qpp5666T7+ztXVVa6urvnaFgAAAABgnnyNdCckJGj06NHq2bOnTp06JUn66quvdPDgwQIt7lbUrl1bqamptvkdO3bYrd+xY4dq1aolSWrUqJF++eUXlS9fXtWrV7ebvL29VaFCBVWuXFm//vprtvUBAQG2/e3bt0+XLl3KdZ858ff3l4eHh12tAAAAAIDiIc+he9OmTapXr55+/PFHrVmzRhcuXJAk7d+/X+PGjSvwAm/kzJkzatOmjZYuXar9+/fr2LFjWr16taZPn67w8HBbu9WrV2vx4sU6cuSIxo0bp507d2rw4MGSpCeeeEJ33XWXwsPDtWXLFh07dkybNm3SCy+8oN9++02SNH78eE2dOlVz5szRkSNHdODAAUVHR+uNN96QJEVERKhEiRLq37+/Dh06pPXr12vmzJl2tY4fP14vv/yyYmNjdezYMe3Zs0f9+vVTenq62rVrV0hnDAAAAABQWPIcul955RVNmjRJ3377rUqWLGlbHhoaqu3btxdocTfDarWqWbNmmj17tlq2bKm6detqzJgxGjBggN555x1buwkTJmjFihW65557tGTJEi1btky1a9eWJHl4eGjz5s2qWrWqunbtquDgYPXr10+XLl2Sl5eXJCkyMlLvv/++YmJiVK9ePbVq1UoxMTG2kW6r1arPP/9chw4dUsOGDTVq1ChNmzbNrtZWrVrp119/Ve/evVWrVi116NBBJ0+e1DfffKOgoKBCOmMAAAAAgMJiMfLyMLKuhcsDBw4oICBApUqV0r59+xQYGKjExETVqlXL9vzz7cRisejTTz9Vly5dHF1KoUhJSZG3t7fqD5kvJ1d3R5eDQhA3o7ejSwAAAADuKFm5Kzk52TZYm5M8j3T7+PgoKSkp2/I9e/aocuXKee0OAAAAAIBiK8+hOyIiQiNHjtTJkydlsViUmZmpH374QSNGjFDv3oy2AQAAAACQJc9fGTZ58mT17dtXlStXlmEYql27tjIyMhQREaHRo0ebUeMty+Md9AAAAAAAFIg8hW7DMPTHH39o4cKFmjhxon766SdlZmaqYcOGqlGjhlk1AgAAAABQJOU5dNeoUUMHDx5UjRo1FBgYaFZdAAAAAAAUeXl6prtEiRKqUaOGzpw5Y1Y9AAAAAAAUG3l+kdr06dP10ksv6eeffzajHgAAAAAAio08v0itV69eunjxourXr6+SJUvK3d3+e6DPnj1bYMUBAAAAAFCU5Tl0v/nmmyaUAQAAAABA8ZPn0N2nTx8z6gAAAAAAoNjJc+g+fvz4dddXrVo138UAAAAAAFCc5Dl0+/v7y2Kx5Lo+IyPjlgoCAAAAAKC4yHPo3rNnj918enq69uzZozfeeEOTJ08usMIAAAAAACjqLIZhGAXR0bp16zRjxgzFxsYWRHe4BSkpKfL29lZycrK8vLwcXQ4AAAAAFDs3m7vy/D3dualZs6Z27dpVUN0BAAAAAFDk5fn28pSUFLt5wzCUlJSk8ePHq0aNGgVWGAAAAAAARV2eQ7ePj0+2F6kZhiE/Pz+tWLGiwAoDAAAAAKCoy3Po3rhxo918iRIlVK5cOVWvXl3OznnuDgAAAACAYivPKdlisah58+bZAvbVq1e1efNmtWzZssCKAwAAAACgKMvzi9RCQ0N19uzZbMuTk5MVGhpaIEUBAAAAAFAc5Dl0G4aR7ZluSTpz5ow8PT0LpCgAAAAAAIqDm769vGvXrpKu3V7et29fubq62tZlZGRo//79at68ecFXCAAAAABAEXXTodvb21vStZHuUqVKyd3d3bauZMmSuu+++zRgwICCrxAAAAAAgCLqpkN3dHS0JMnf318jRozgVnIAAAAAAG7AYhiG4egiULBSUlLk7e2t+kPmy8nV/cYb3IS4Gb0LpB8AAAAAKA6ycldycrK8vLxybZevL9b++OOPtWrVKh0/flxXrlyxW/fTTz/lp0sAAAAAAIqdPL+9/K233tJTTz2l8uXLa8+ePWratKnKli2rX3/9VR06dDCjRgAAAAAAiqQ8h+65c+fqvffe0zvvvKOSJUvq5Zdf1rfffqvnn39eycnJZtQIAAAAAECRlOfQffz4cdtXg7m7u+v8+fOSpCeffFLLly8v2OoAAAAAACjC8hy6fX19debMGUlStWrVtGPHDknSsWPHxDvZAAAAAAD4P3kO3W3atNHnn38uSerfv7+GDRumdu3aqUePHvrXv/5V4AUCAAAAAFBU5fnt5e+9954yMzMlSYMGDVKZMmW0detWPfzwwxo0aFCBFwgAAAAAQFGV59BdokQJlSjxfwPk3bt3V/fu3Qu0KAAAAAAAioM8314uSVu2bFGvXr0UEhKi33//XZL04YcfauvWrQVaHAAAAAAARVmeQ/cnn3yisLAwubu7a8+ePUpLS5MknT9/XlOmTCnwAgEAAAAAKKryHLonTZqk+fPna+HChXJxcbEtb968uX766acCLQ4AAAAAgKIsz6H78OHDatmyZbblXl5eOnfuXEHUBAAAAABAsZDn0F2xYkUdPXo02/KtW7cqMDCwQIoCAAAAAKA4yHPoHjhwoF544QX9+OOPslgs+uOPP7Rs2TKNGDFCzz77rBk1FrjY2FhZLBZG5gEAAAAAprqp0L1//37bd3O//PLL6tKli0JDQ3XhwgW1bNlSkZGRGjhwoAYPHmxqsXm1bds2OTk5qX379nbLmzdvrqSkJHl7e+e6rb+/vywWS65T69atTa4eAAAAAFDUWQzDMG7UyMnJSUlJSSpfvrwCAwO1a9cuubm5KT4+XpmZmapdu7asVmth1JsnkZGRslqtev/993Xo0CFVrVr1prbLyMjQ//73P2Wdmm3btqlbt246fPiwvLy8JEklS5ZUmTJlTKv9VqSkpMjb21v1h8yXk6t7gfQZN6N3gfQDAAAAAMVBVu5KTk625cSc3NRIt4+Pj44dOyZJSkxMVGZmpjw9PdWkSRM1bdr0tgzcqampWrVqlZ555hl17txZMTExtnX/vL08JiZGPj4++uKLL1S7dm25urrq4sWL8vX1la+vry1cly9f3rbsP//5j1q2bCl3d3f5+fnp+eefV2pqqm0f/v7+mjRpknr37i2r1apq1arp3//+t06fPq3w8HBZrVbVq1dPu3fvtm2TVcfatWtVs2ZNubm5qV27djpx4kShnDMAAAAAQMG6qdDdrVs3tWrVSgEBAbJYLGrSpIkCAwNznG4XK1euVFBQkIKCgtSrVy9FR0freoP6Fy9e1NSpU/X+++/r4MGDKl++fK5tDxw4oLCwMHXt2lX79+/XypUrtXXr1my318+ePVstWrTQnj171KlTJz355JPq3bu3evXqpZ9++knVq1dX79697eq6ePGiJk+erCVLluiHH35QSkqKHn/88Vs/IQAAAACAQud8M43ee+89de3aVUePHtXzzz+vAQMGqFSpUmbXdksWLVqkXr16SZLat2+vCxcu6Pvvv9eDDz6YY/v09HTNnTtX9evXv2HfM2bMUEREhIYOHSpJqlGjht566y21atVK8+bNk5ubmySpY8eOGjhwoCRp7Nixmjdvnu6991499thjkqSRI0cqJCREf/75p3x9fW11vPPOO2rWrJkkacmSJQoODtbOnTvVtGnTHOtJS0tTWlqabT4lJeWGxwAAAAAAMN9NhW5JtpeRxcXF6YUXXritQ/fhw4e1c+dOrVmzRpLk7OysHj16aPHixbmG7pIlS+qee+65qf7j4uJ09OhRLVu2zLbMMAxlZmbq2LFjCg4OliS7/ipUqCBJqlevXrZlp06dsoVuZ2dnNWnSxNamVq1a8vHxUXx8fK6he+rUqZowYcJN1Q4AAAAAKDw3HbqzREdHm1FHgVq0aJGuXr2qypUr25YZhiEXFxf99ddfOW7j7u4ui8VyU/1nZmZq4MCBev7557Ot+/vL2lxcXGx/zuo7p2VZb4b/5/IbLcsSFRWl4cOH2+ZTUlLk5+d3o8MAAAAAAJgsz6H7dnf16lV98MEHmjVrlh566CG7dd26ddOyZctUt27dW9pHo0aNdPDgQVWvXv2W+snJ1atXtXv3btuo9uHDh3Xu3DnVqlUr121cXV3l6upa4LUAAAAAAG7NTb1IrSj54osv9Ndff6l///6qW7eu3fToo49q0aJFt7yPkSNHavv27Xruuee0d+9e/fLLL/rss880ZMiQW+7bxcVFQ4YM0Y8//qiffvpJTz31lO67775cby0HAAAAANy+il3oXrRokR588EF5e3tnW9etWzft3btXP/300y3t45577tGmTZv0yy+/6IEHHlDDhg01ZswYVaxY8Zb6lSQPDw+NHDlSERERCgkJkbu7u1asWHHL/QIAAAAACp/FuN73aKFQxcTEaOjQobbvD8+vrC9prz9kvpxc3QuktrgZvQukHwAAAAAoDrJyV3Jysry8vHJtV+xGugEAAAAAuF0QugEAAAAAMAmh+zbSt2/fW761HAAAAABw+yB0AwAAAABgEkI3AAAAAAAmIXQDAAAAAGASQjcAAAAAACYhdAMAAAAAYBJCNwAAAAAAJiF0AwAAAABgEkI3AAAAAAAmIXQDAAAAAGASQjcAAAAAACYhdAMAAAAAYBJnRxcA82ye1FNeXl6OLgMAAAAA7liMdAMAAAAAYBJCNwAAAAAAJiF0AwAAAABgEkI3AAAAAAAmIXQDAAAAAGASQjcAAAAAACYhdAMAAAAAYBJCNwAAAAAAJiF0AwAAAABgEmdHFwDztBy9XE6u7rmuj5vRuxCrAQAAAIA7DyPdAAAAAACYhNANAAAAAIBJCN0AAAAAAJiE0A0AAAAAgEkI3QAAAAAAmITQDQAAAACASQjdAAAAAACYhNANAAAAAIBJCN0AAAAAAJiE0A0AAAAAgEkI3QAAAAAAmITQDQAAAACASQjdAAAAAACYhNANAAAAAIBJ7ujQnZiYKIvFor179zq6FAAAAABAMXTbhG6LxXLdqW/fvoVaT2xs7A1riomJKdSaAAAAAABFi7OjC8iSlJRk+/PKlSs1duxYHT582LbM3d3drn16erpcXFxMq6d58+Z2Nb3wwgtKSUlRdHS0bZm3t7dp+wcAAAAAFH23zUi3r6+vbfL29pbFYrHNX758WT4+Plq1apVat24tNzc3LV26VGfOnFHPnj1VpUoVeXh4qF69elq+fLldv5mZmZo2bZqqV68uV1dXVa1aVZMnT86xhszMTA0YMEA1a9ZUUlKSXU3u7u5ydXW1zVeoUEFvv/22AgMD5e7urvr16+vjjz+29ZU1Uv7111+rYcOGcnd3V5s2bXTq1Cl9+eWXCg4OlpeXl3r27KmLFy/atmvdurUGDx6swYMHy8fHR2XLltXo0aNlGIY5Jx4AAAAAYJrbZqT7ZowcOVKzZs1SdHS0XF1ddfnyZTVu3FgjR46Ul5eX1q1bpyeffFKBgYFq1qyZJCkqKkoLFy7U7Nmzdf/99yspKUn/+c9/svV95coVRUREKCEhQVu3blX58uWvW8vo0aO1Zs0azZs3TzVq1NDmzZvVq1cvlStXTq1atbK1Gz9+vN555x15eHioe/fu6t69u1xdXfXRRx/pwoUL+te//qW3335bI0eOtG2zZMkS9e/fXz/++KN2796tp59+WtWqVdOAAQNyrCUtLU1paWm2+ZSUlDydVwAAAACAOYpU6B46dKi6du1qt2zEiBG2Pw8ZMkRfffWVVq9erWbNmun8+fOaM2eO3nnnHfXp00eSdPfdd+v++++36+PChQvq1KmTLl26pNjY2BveNp6amqo33nhDGzZsUEhIiCQpMDBQW7du1YIFC+xC96RJk9SiRQtJUv/+/RUVFaWEhAQFBgZKkh599FFt3LjRLnT7+flp9uzZslgsCgoK0oEDBzR79uxcQ/fUqVM1YcKE69YMAAAAACh8t83t5TejSZMmdvMZGRmaPHmy7rnnHpUtW1ZWq1XffPONjh8/LkmKj49XWlqa2rZte91+e/bsqQsXLuibb765qee0Dx06pMuXL6tdu3ayWq226YMPPlBCQoJd23vuucf25woVKsjDw8MWuLOWnTp1ym6b++67TxaLxTYfEhKiX375RRkZGTnWExUVpeTkZNt04sSJGx4DAAAAAMB8RWqk29PT025+1qxZmj17tt58803Vq1dPnp6eGjp0qK5cuSIp+8vXctOxY0ctXbpUO3bsUJs2bW7YPjMzU5K0bt06Va5c2W6dq6ur3fzfX/ZmsViyvfzNYrHY+ssvV1fXbPsFAAAAADhekQrd/7RlyxaFh4erV69ekq6F4V9++UXBwcGSpBo1asjd3V3ff/+9IiMjc+3nmWeeUd26dfXII49o3bp1dreH56R27dpydXXV8ePHb9g2P3bs2JFtvkaNGnJycirwfQEAAAAAzFOkQ3f16tX1ySefaNu2bSpdurTeeOMNnTx50ha63dzcNHLkSL388ssqWbKkWrRoodOnT+vgwYPq37+/XV9DhgxRRkaGOnfurC+//DLbc99/V6pUKY0YMULDhg1TZmam7r//fqWkpGjbtm2yWq2258fz68SJExo+fLgGDhyon376SW+//bZmzZp1S30CAAAAAApfkQ7dY8aM0bFjxxQWFiYPDw89/fTT6tKli5KTk+3aODs7a+zYsfrjjz9UsWJFDRo0KMf+hg4dqszMTHXs2FFfffWVmjdvnuu+J06cqPLly2vq1Kn69ddf5ePjo0aNGunVV1+95ePq3bu3Ll26pKZNm8rJyUlDhgzR008/fcv9AgAAAAAKl8XgC6BvK61bt1aDBg305ptv5ruPlJQUeXt7q/6Q+XJyzf259rgZvfO9DwAAAAC4k2XlruTkZHl5eeXarki9vRwAAAAAgKKE0A0AAAAAgEmK9DPdxVFsbKyjSwAAAAAAFBBGugEAAAAAMAmhGwAAAAAAkxC6AQAAAAAwCaEbAAAAAACTELoBAAAAADAJoRsAAAAAAJMQugEAAAAAMAmhGwAAAAAAkxC6AQAAAAAwCaEbAAAAAACTELoBAAAAADCJs6MLgHk2T+opLy8vR5cBAAAAAHcsRroBAAAAADAJoRsAAAAAAJMQugEAAAAAMAmhGwAAAAAAkxC6AQAAAAAwCaEbAAAAAACTELoBAAAAADAJoRsAAAAAAJMQugEAAAAAMImzowuAeVqOXi4nV/dsy+Nm9HZANQAAAABw52GkGwAAAAAAkxC6AQAAAAAwCaEbAAAAAACTELoBAAAAADAJoRsAAAAAAJMQugEAAAAAMAmhGwAAAAAAkxC6AQAAAAAwCaEbAAAAAACTELoBAAAAADAJoRsAAAAAAJMQugEAAAAAMAmhGwAAAAAAkxC6AQAAAAAwCaE7HxITE2WxWLR3795c28TGxspisejcuXOSpJiYGPn4+BRKfQAAAACA20ORDd19+/ZVly5dsi3/Z9g1g5+fn5KSklS3bt2b3qZHjx46cuSIbX78+PFq0KCBCdUBAAAAAG4Xzo4uoChycnKSr69vnrZxd3eXu7u7SRUBAAAAAG5HRXak+2bkNJr85ptvyt/f3zafNWI+ZcoUVahQQT4+PpowYYKuXr2ql156SWXKlFGVKlW0ePFi2zY53V6+fv161axZU+7u7goNDVViYqLdfv9+e3lMTIwmTJigffv2yWKxyGKxKCYmRv369VPnzp3ttrt69ap8fX3t9g8AAAAAKBoY6Za0YcMGValSRZs3b9YPP/yg/v37a/v27WrZsqV+/PFHrVy5UoMGDVK7du3k5+eXbfsTJ06oa9euGjRokJ555hnt3r1bL774Yq7769Gjh37++Wd99dVX+u677yRJ3t7eqlmzplq2bKmkpCRVrFhR0rUwf+HCBXXv3j3X/tLS0pSWlmabT0lJye+pAAAAAAAUoCI90v3FF1/IarXaTR06dMhzP2XKlNFbb72loKAg9evXT0FBQbp48aJeffVV1ahRQ1FRUSpZsqR++OGHHLefN2+eAgMDNXv2bAUFBemJJ55Q3759c92fu7u7rFarnJ2d5evrK19fX7m7u6t58+YKCgrShx9+aGsbHR2txx57TFarNdf+pk6dKm9vb9uU0y8GAAAAAACFr0iH7tDQUO3du9duev/99/PcT506dVSixP+digoVKqhevXq2eScnJ5UtW1anTp3Kcfv4+Hjdd999slgstmUhISF5rkOSIiMjFR0dLUk6deqU1q1bp379+l13m6ioKCUnJ9umEydO5GvfAAAAAICCVaRvL/f09FT16tXtlv3222+2P5coUUKGYditT09Pz9aPi4uL3bzFYslxWWZmZo51/HMft6J37956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paenO7oEAABMwe3lAADcQf5+e7m/v78mTZqk3r17y2q1qlq1avr3v/+t06dPKzw8XFarVfXq1dPu3btt28fExMjHx0dr165VzZo15ebmpnbt2unEiRN2+5k3b57uvvtulSxZUkFBQfrwww/t1lssFs2fP1/h4eHy9PRUZGSkQkNDJUmlS5eWxWJR3759JUlfffWV7r//fvn4+Khs2bLq3LmzEhISbH0lJibKYrFozZo1Cg0NlYeHh+rXr6/t27fb7fOHH35Qq1at5OHhodKlSyssLEx//fWXJMkwDE2fPl2BgYFyd3dX/fr19fHHHxfIOQcA3NkI3QAA3MFmz56tFi1aaM+ePerUqZOefPJJ9e7dW7169dJPP/2k6tWrq3fv3vr702gXL17U5MmTtWTJEv3www9KSUnR448/blv/6aef6oUXXtCLL76on3/+WQMHDtRTTz2ljRs32u173LhxCg8P14EDB/Taa6/pk08+kSQdPnxYSUlJmjNnjiQpNTVVw4cP165du/T999+rRIkS+te//qXMzEy7/kaNGqURI0Zo7969qlmzpnr27KmrV69Kkvbu3au2bduqTp062r59u7Zu3aqHH35YGRkZkqTRo0crOjpa8+bN08GDBzVs2DD16tVLmzZtKviTDgC4o/BMNwAAd5DWrVurQYMGevPNN+Xv768HHnjANgp98uRJVaxYUWPGjNFrr70mSdqxY4dCQkKUlJQkX19fxcTE6KmnntKOHTvUrFkzSdJ//vMfBQcH68cff1TTpk3VokUL1alTR++9955tv927d1dqaqrWrVsn6dpI99ChQzV79mxbm5t9pvv06dMqX768Dhw4oLp16yoxMVEBAQF6//331b9/f0nSoUOHVKdOHcXHx6tWrVqKiIjQ8ePHtXXr1mz9paam6q677tKGDRsUEhJiWx4ZGamLFy/qo48+yufZBgCAkW4AAO5o99xzj+3PFSpUkCTVq1cv27JTp07Zljk7O6tJkya2+Vq1asnHx0fx8fGSpPj4eLVo0cJuPy1atLCtz/L3Pq4nISFBERERCgwMlJeXlwICAiRJx48fz/VYKlasaFd31kh3Tg4dOqTLly+rXbt2slqttumDDz6wu40dAID84EVqAADcwVxcXGx/tlgsuS77563cWctzW/bP9YZhZFvm6el5UzU+/PDD8vPz08KFC1WpUiVlZmaqbt26unLlyg2PJatud3f3XPvParNu3TpVrlzZbp2rq+tN1QgAQG4Y6QYAAHly9epVu5erHT58WOfOnVOtWrUkScHBwdlu4962bZuCg4Ov22/JkiUlyfactSSdOXNG8fHxGj16tNq2bavg4GDby8/y4p577tH333+f47ratWvL1dVVx48fV/Xq1e0mPz+/PO8LAIC/Y6QbAADkiYuLi4YMGaK33npLLi4uGjx4sO677z41bdpUkvTSSy+pe/fuatSokdq2bavPP/9ca9as0XfffXfdfqtVqyaLxaIvvvhCHTt2lLu7u0qXLq2yZcvqvffeU8WKFXX8+HG98sorea45KipK9erV07PPPqtBgwapZMmS2rhxox577DHdddddGjFihIYNG6bMzEzdf//9SklJ0bZt22S1WtWnT598nScAACRGugEAQB55eHho5MiRioiIUEhIiNzd3bVixQrb+i5dumjOnDmaMWOG6tSpowULFig6OlqtW7e+br+VK1fWhAkT9Morr6hChQoaPHiwSpQooRUrViguLk5169bVsGHDNGPGjDzXXLNmTX3zzTfat2+fmjZtqpCQEP373/+Ws/O18YeJEydq7Nixmjp1qoKDgxUWFqbPP//c9vw4AAD5xdvLAQDATYuJidHQoUN17tw5R5cCAECRwEg3AAAAAAAmIXQDAAAAAGASbi8HAAAAAMAkjHQDAAAAAGASQjcAAAAAACYhdAMAAAAAYBJCNwAAAAAAJiF0AwAAAABgEkI3AAAAAAAmIXQDAAAAAGASQjcAAAAAACYhdAMAAAAAYJL/Bw4eMsNihmWQAAAAAElFTkSuQmCC",
|
|
"text/plain": [
|
|
"<Figure size 1000x600 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Feature importance for Random Forest\n",
|
|
"if 'Random Forest' in models:\n",
|
|
" rf_model = models['Random Forest']\n",
|
|
" feature_importance = pd.DataFrame({\n",
|
|
" 'feature': feature_columns,\n",
|
|
" 'importance': rf_model.feature_importances_\n",
|
|
" }).sort_values('importance', ascending=False)\n",
|
|
" \n",
|
|
" plt.figure(figsize=(10, 6))\n",
|
|
" sns.barplot(x='importance', y='feature', data=feature_importance)\n",
|
|
" plt.title('Feature Importance in Predicting Lap Times')\n",
|
|
" plt.tight_layout()\n",
|
|
" plt.show()"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "csci349",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.10.13"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|