{ "cells": [ { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "view-in-github" }, "source": [ "\"Open" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "TOvht7vqQGdR" }, "source": [ "# Exploratory data analysis in Python." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "mhA_0CQOTDQy" }, "source": [ "## Let us understand how to explore the data in python.\n" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "TEfC0QszTKX_" }, "source": [ "\n", "![alt text](https://moriohcdn.b-cdn.net/ff3cc511fb.png)\n" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "NMyUUHXcHdqt" }, "source": [ "Image Credits: Morioh" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "dB_j6LtTTO5j" }, "source": [ "## Introduction" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "8hg00soETQ3z" }, "source": [ "**What is Exploratory Data Analysis ?**\n", "\n", "Exploratory Data Analysis or (EDA) is understanding the data sets by summarizing their main characteristics often plotting them visually. This step is very important especially when we arrive at modeling the data in order to apply Machine learning. Plotting in EDA consists of Histograms, Box plot, Scatter plot and many more. It often takes much time to explore the data. Through the process of EDA, we can ask to define the problem statement or definition on our data set which is very important." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "ZfelutoyTS25" }, "source": [ "**How to perform Exploratory Data Analysis ?**\n", "\n", "This is one such question that everyone is keen on knowing the answer. Well, the answer is it depends on the data set that you are working. There is no one method or common methods in order to perform EDA, whereas in this tutorial you can understand some common methods and plots that would be used in the EDA process." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "n3VfNkBBw15s" }, "source": [ "**What data are we exploring today ?**\n", "\n", "\n", "\n", "Since I am a huge fan of cars, I got a very beautiful data-set of cars from Kaggle. The data-set can be downloaded from [here](https://www.kaggle.com/CooperUnion/cardataset). To give a piece of brief information about the data set this data contains more of 10, 000 rows and more than 10 columns which contains features of the car such as Engine Fuel Type, Engine HP, Transmission Type, highway MPG, city MPG and many more. So in this tutorial, we will explore the data and make it ready for modeling." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "CQDO4JCqTThV" }, "source": [ "\n", "\n", "---\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "FPSqz1wzTXvz" }, "source": [ "## 1. Importing the required libraries for EDA" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "9eLMx1Ebwa92" }, "source": [ "Below are the libraries that are used in order to perform EDA (Exploratory data analysis) in this tutorial." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "colab": {}, "colab_type": "code", "id": "GGyDovL2QDLa" }, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import seaborn as sns #visualisation\n", "import matplotlib.pyplot as plt #visualisation\n", "%matplotlib inline \n", "sns.set(color_codes=True)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "Ye6eXuohTd5Q" }, "source": [ "\n", "\n", "---\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "8Y3Z2DbKTfJt" }, "source": [ "## 2. Loading the data into the data frame." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "ko5zGJFCySaz" }, "source": [ "Loading the data into the pandas data frame is certainly one of the most important steps in EDA, as we can see that the value from the data set is comma-separated. So all we have to do is to just read the CSV into a data frame and pandas data frame does the job for us." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "LgzUzD61IM8h" }, "source": [ "To get or load the dataset into the notebook, all I did was one trivial step. In Google Colab at the left-hand side of the notebook, you will find a > (greater than symbol). When you click that you will find a tab with three options, you just have to select Files. Then you can easily upload your file with the help of the Upload option. No need to mount to the google drive or use any specific libraries just upload the data set and your job is done. One thing to remember in this step is that uploaded files will get deleted when this runtime is recycled. This is how I got the data set into the notebook." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 430 }, "colab_type": "code", "id": "0oVZnezwQ159", "outputId": "f1e0fe18-8fa0-482a-e2b9-2ecd87d97d9d" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
MakeModelYearEngine Fuel TypeEngine HPEngine CylindersTransmission TypeDriven_WheelsNumber of DoorsMarket CategoryVehicle SizeVehicle Stylehighway MPGcity mpgPopularityMSRP
0BMW1 Series M2011premium unleaded (required)335.06.0MANUALrear wheel drive2.0Factory Tuner,Luxury,High-PerformanceCompactCoupe2619391646135
1BMW1 Series2011premium unleaded (required)300.06.0MANUALrear wheel drive2.0Luxury,PerformanceCompactConvertible2819391640650
2BMW1 Series2011premium unleaded (required)300.06.0MANUALrear wheel drive2.0Luxury,High-PerformanceCompactCoupe2820391636350
3BMW1 Series2011premium unleaded (required)230.06.0MANUALrear wheel drive2.0Luxury,PerformanceCompactCoupe2818391629450
4BMW1 Series2011premium unleaded (required)230.06.0MANUALrear wheel drive2.0LuxuryCompactConvertible2818391634500
\n", "
" ], "text/plain": [ " Make Model Year Engine Fuel Type Engine HP \\\n", "0 BMW 1 Series M 2011 premium unleaded (required) 335.0 \n", "1 BMW 1 Series 2011 premium unleaded (required) 300.0 \n", "2 BMW 1 Series 2011 premium unleaded (required) 300.0 \n", "3 BMW 1 Series 2011 premium unleaded (required) 230.0 \n", "4 BMW 1 Series 2011 premium unleaded (required) 230.0 \n", "\n", " Engine Cylinders Transmission Type Driven_Wheels Number of Doors \\\n", "0 6.0 MANUAL rear wheel drive 2.0 \n", "1 6.0 MANUAL rear wheel drive 2.0 \n", "2 6.0 MANUAL rear wheel drive 2.0 \n", "3 6.0 MANUAL rear wheel drive 2.0 \n", "4 6.0 MANUAL rear wheel drive 2.0 \n", "\n", " Market Category Vehicle Size Vehicle Style \\\n", "0 Factory Tuner,Luxury,High-Performance Compact Coupe \n", "1 Luxury,Performance Compact Convertible \n", "2 Luxury,High-Performance Compact Coupe \n", "3 Luxury,Performance Compact Coupe \n", "4 Luxury Compact Convertible \n", "\n", " highway MPG city mpg Popularity MSRP \n", "0 26 19 3916 46135 \n", "1 28 19 3916 40650 \n", "2 28 20 3916 36350 \n", "3 28 18 3916 29450 \n", "4 28 18 3916 34500 " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv(\"https://service.tib.eu/ldmservice/dataset/02a90a88-19c9-4542-9410-6741782427bf/resource/0dca08cd-fc99-43e1-a85f-c1cebfcc8628/download/cars_data.csv\")\n", "# To display the top 5 rows \n", "df.head(5) " ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 413 }, "colab_type": "code", "id": "Fm-9dzdTRKpe", "outputId": "7892eaf7-0605-4b92-e139-cf0553041e51" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
MakeModelYearEngine Fuel TypeEngine HPEngine CylindersTransmission TypeDriven_WheelsNumber of DoorsMarket CategoryVehicle SizeVehicle Stylehighway MPGcity mpgPopularityMSRP
11909AcuraZDX2012premium unleaded (required)300.06.0AUTOMATICall wheel drive4.0Crossover,Hatchback,LuxuryMidsize4dr Hatchback231620446120
11910AcuraZDX2012premium unleaded (required)300.06.0AUTOMATICall wheel drive4.0Crossover,Hatchback,LuxuryMidsize4dr Hatchback231620456670
11911AcuraZDX2012premium unleaded (required)300.06.0AUTOMATICall wheel drive4.0Crossover,Hatchback,LuxuryMidsize4dr Hatchback231620450620
11912AcuraZDX2013premium unleaded (recommended)300.06.0AUTOMATICall wheel drive4.0Crossover,Hatchback,LuxuryMidsize4dr Hatchback231620450920
11913LincolnZephyr2006regular unleaded221.06.0AUTOMATICfront wheel drive4.0LuxuryMidsizeSedan26176128995
\n", "
" ], "text/plain": [ " Make Model Year Engine Fuel Type Engine HP \\\n", "11909 Acura ZDX 2012 premium unleaded (required) 300.0 \n", "11910 Acura ZDX 2012 premium unleaded (required) 300.0 \n", "11911 Acura ZDX 2012 premium unleaded (required) 300.0 \n", "11912 Acura ZDX 2013 premium unleaded (recommended) 300.0 \n", "11913 Lincoln Zephyr 2006 regular unleaded 221.0 \n", "\n", " Engine Cylinders Transmission Type Driven_Wheels Number of Doors \\\n", "11909 6.0 AUTOMATIC all wheel drive 4.0 \n", "11910 6.0 AUTOMATIC all wheel drive 4.0 \n", "11911 6.0 AUTOMATIC all wheel drive 4.0 \n", "11912 6.0 AUTOMATIC all wheel drive 4.0 \n", "11913 6.0 AUTOMATIC front wheel drive 4.0 \n", "\n", " Market Category Vehicle Size Vehicle Style highway MPG \\\n", "11909 Crossover,Hatchback,Luxury Midsize 4dr Hatchback 23 \n", "11910 Crossover,Hatchback,Luxury Midsize 4dr Hatchback 23 \n", "11911 Crossover,Hatchback,Luxury Midsize 4dr Hatchback 23 \n", "11912 Crossover,Hatchback,Luxury Midsize 4dr Hatchback 23 \n", "11913 Luxury Midsize Sedan 26 \n", "\n", " city mpg Popularity MSRP \n", "11909 16 204 46120 \n", "11910 16 204 56670 \n", "11911 16 204 50620 \n", "11912 16 204 50920 \n", "11913 17 61 28995 " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.tail(5) # To display the botton 5 rows" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "JjQnr4SPzaL5" }, "source": [ "\n", "\n", "---\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "vAmC369yTpMF" }, "source": [ "## 3. Checking the types of data" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "9ESKxikIzA1d" }, "source": [ "Here we check for the datatypes because sometimes the MSRP or the price of the car would be stored as a string, if in that case, we have to convert that string to the integer data only then we can plot the data via a graph. Here, in this case, the data is already in integer format so nothing to worry." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 312 }, "colab_type": "code", "id": "qPbKQ0noRptD", "outputId": "6a5aea47-ad0c-4118-8471-d91b6432b339" }, "outputs": [ { "data": { "text/plain": [ "Make object\n", "Model object\n", "Year int64\n", "Engine Fuel Type object\n", "Engine HP float64\n", "Engine Cylinders float64\n", "Transmission Type object\n", "Driven_Wheels object\n", "Number of Doors float64\n", "Market Category object\n", "Vehicle Size object\n", "Vehicle Style object\n", "highway MPG int64\n", "city mpg int64\n", "Popularity int64\n", "MSRP int64\n", "dtype: object" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.dtypes" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "beRJyQAezdX8" }, "source": [ "\n", "\n", "---\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "QoHuBhXxT5E9" }, "source": [ "## 4. Dropping irrelevant columns" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "_3cy877Mze4H" }, "source": [ "This step is certainly needed in every EDA because sometimes there would be many columns that we never use in such cases dropping is the only solution. In this case, the columns such as Engine Fuel Type, Market Category, Vehicle style, Popularity, Number of doors, Vehicle Size doesn't make any sense to me so I just dropped for this instance." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 202 }, "colab_type": "code", "id": "uvSkK8swTr9H", "outputId": "1734f538-a4a1-45b9-d656-7ddc0124dc35" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
MakeModelYearEngine HPEngine CylindersTransmission TypeDriven_Wheelshighway MPGcity mpgMSRP
0BMW1 Series M2011335.06.0MANUALrear wheel drive261946135
1BMW1 Series2011300.06.0MANUALrear wheel drive281940650
2BMW1 Series2011300.06.0MANUALrear wheel drive282036350
3BMW1 Series2011230.06.0MANUALrear wheel drive281829450
4BMW1 Series2011230.06.0MANUALrear wheel drive281834500
\n", "
" ], "text/plain": [ " Make Model Year Engine HP Engine Cylinders Transmission Type \\\n", "0 BMW 1 Series M 2011 335.0 6.0 MANUAL \n", "1 BMW 1 Series 2011 300.0 6.0 MANUAL \n", "2 BMW 1 Series 2011 300.0 6.0 MANUAL \n", "3 BMW 1 Series 2011 230.0 6.0 MANUAL \n", "4 BMW 1 Series 2011 230.0 6.0 MANUAL \n", "\n", " Driven_Wheels highway MPG city mpg MSRP \n", "0 rear wheel drive 26 19 46135 \n", "1 rear wheel drive 28 19 40650 \n", "2 rear wheel drive 28 20 36350 \n", "3 rear wheel drive 28 18 29450 \n", "4 rear wheel drive 28 18 34500 " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = df.drop(['Engine Fuel Type', 'Market Category', 'Vehicle Style', 'Popularity', 'Number of Doors', 'Vehicle Size'], axis=1)\n", "df.head(5)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "20OeQBpWz89v" }, "source": [ "\n", "\n", "---\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "caAownWdUZso" }, "source": [ "## 5. Renaming the columns" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "UABLiEcyz-2G" }, "source": [ "In this instance, most of the column names are very confusing to read, so I just tweaked their column names. This is a good approach it improves the readability of the data set." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 202 }, "colab_type": "code", "id": "1wHW41whURub", "outputId": "dec9b1b3-e344-4b33-92fd-6e9f4c03c878" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
MakeModelYearHPCylindersTransmissionDrive ModeMPG-HMPG-CPrice
0BMW1 Series M2011335.06.0MANUALrear wheel drive261946135
1BMW1 Series2011300.06.0MANUALrear wheel drive281940650
2BMW1 Series2011300.06.0MANUALrear wheel drive282036350
3BMW1 Series2011230.06.0MANUALrear wheel drive281829450
4BMW1 Series2011230.06.0MANUALrear wheel drive281834500
\n", "
" ], "text/plain": [ " Make Model Year HP Cylinders Transmission Drive Mode \\\n", "0 BMW 1 Series M 2011 335.0 6.0 MANUAL rear wheel drive \n", "1 BMW 1 Series 2011 300.0 6.0 MANUAL rear wheel drive \n", "2 BMW 1 Series 2011 300.0 6.0 MANUAL rear wheel drive \n", "3 BMW 1 Series 2011 230.0 6.0 MANUAL rear wheel drive \n", "4 BMW 1 Series 2011 230.0 6.0 MANUAL rear wheel drive \n", "\n", " MPG-H MPG-C Price \n", "0 26 19 46135 \n", "1 28 19 40650 \n", "2 28 20 36350 \n", "3 28 18 29450 \n", "4 28 18 34500 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = df.rename(columns={\"Engine HP\": \"HP\", \"Engine Cylinders\": \"Cylinders\", \"Transmission Type\": \"Transmission\", \"Driven_Wheels\": \"Drive Mode\",\"highway MPG\": \"MPG-H\", \"city mpg\": \"MPG-C\", \"MSRP\": \"Price\" })\n", "df.head(5)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "5tcGiOmV0afN" }, "source": [ "\n", "\n", "---\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "uiW7x_O4WIDX" }, "source": [ "## 6. Dropping the duplicate rows" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "9LpR5NW70hXm" }, "source": [ "This is often a handy thing to do because a huge data set as in this case contains more than 10, 000 rows often have some duplicate data which might be disturbing, so here I remove all the duplicate value from the data-set. For example prior to removing I had 11914 rows of data but after removing the duplicates 10925 data meaning that I had 989 of duplicate data." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 35 }, "colab_type": "code", "id": "1nBN_BCDWSmv", "outputId": "9a070a7d-a4d4-45c7-cac8-acb2c4db0e72" }, "outputs": [ { "data": { "text/plain": [ "(11914, 10)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.shape" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 35 }, "colab_type": "code", "id": "yB8t6o0wH7If", "outputId": "d4778cd1-5372-4e27-db62-20635493786e" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "number of duplicate rows: (989, 10)\n" ] } ], "source": [ "duplicate_rows_df = df[df.duplicated()]\n", "print(\"number of duplicate rows: \", duplicate_rows_df.shape)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "chhNvMFCIzqI" }, "source": [ "Now let us remove the duplicate data because it's ok to remove them." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 208 }, "colab_type": "code", "id": "kuobmetTV820", "outputId": "c6d6ce5c-6a38-4cd2-ee99-151124a1f84d" }, "outputs": [ { "data": { "text/plain": [ "Make 11914\n", "Model 11914\n", "Year 11914\n", "HP 11845\n", "Cylinders 11884\n", "Transmission 11914\n", "Drive Mode 11914\n", "MPG-H 11914\n", "MPG-C 11914\n", "Price 11914\n", "dtype: int64" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.count() # Used to count the number of rows" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "_MJKjbzHI40K" }, "source": [ "So seen above there are 11914 rows and we are removing 989 rows of duplicate data." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 202 }, "colab_type": "code", "id": "OiOsEF6WVTSj", "outputId": "a527c1a2-5d74-42bb-99e2-8112ebffb871" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
MakeModelYearHPCylindersTransmissionDrive ModeMPG-HMPG-CPrice
0BMW1 Series M2011335.06.0MANUALrear wheel drive261946135
1BMW1 Series2011300.06.0MANUALrear wheel drive281940650
2BMW1 Series2011300.06.0MANUALrear wheel drive282036350
3BMW1 Series2011230.06.0MANUALrear wheel drive281829450
4BMW1 Series2011230.06.0MANUALrear wheel drive281834500
\n", "
" ], "text/plain": [ " Make Model Year HP Cylinders Transmission Drive Mode \\\n", "0 BMW 1 Series M 2011 335.0 6.0 MANUAL rear wheel drive \n", "1 BMW 1 Series 2011 300.0 6.0 MANUAL rear wheel drive \n", "2 BMW 1 Series 2011 300.0 6.0 MANUAL rear wheel drive \n", "3 BMW 1 Series 2011 230.0 6.0 MANUAL rear wheel drive \n", "4 BMW 1 Series 2011 230.0 6.0 MANUAL rear wheel drive \n", "\n", " MPG-H MPG-C Price \n", "0 26 19 46135 \n", "1 28 19 40650 \n", "2 28 20 36350 \n", "3 28 18 29450 \n", "4 28 18 34500 " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = df.drop_duplicates()\n", "df.head(5)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 208 }, "colab_type": "code", "id": "2gMM4lb0Vzor", "outputId": "f04e1803-e7de-4cbf-fdeb-8449a8051a07" }, "outputs": [ { "data": { "text/plain": [ "Make 10925\n", "Model 10925\n", "Year 10925\n", "HP 10856\n", "Cylinders 10895\n", "Transmission 10925\n", "Drive Mode 10925\n", "MPG-H 10925\n", "MPG-C 10925\n", "Price 10925\n", "dtype: int64" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.count()" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "zCLUdZOQ1PDP" }, "source": [ "\n", "\n", "---\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "JkXUQtyQW3Dy" }, "source": [ "## 7. Dropping the missing or null values." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "K5pKvJi41YCp" }, "source": [ "This is mostly similar to the previous step but in here all the missing values are detected and are dropped later. Now, this is not a good approach to do so, because many people just replace the missing values with the mean or the average of that column, but in this case, I just dropped that missing values. This is because there is nearly 100 missing value compared to 10, 000 values this is a small number and this is negligible so I just dropped those values." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 208 }, "colab_type": "code", "id": "Tzdlg-1OWjMz", "outputId": "7375ab6e-1473-4346-e5b5-0c61189cc716" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Make 0\n", "Model 0\n", "Year 0\n", "HP 69\n", "Cylinders 30\n", "Transmission 0\n", "Drive Mode 0\n", "MPG-H 0\n", "MPG-C 0\n", "Price 0\n", "dtype: int64\n" ] } ], "source": [ "print(df.isnull().sum())" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "iWJqTVxTJQnO" }, "source": [ "This is the reason in the above step while counting both Cylinders and Horsepower (HP) had 10856 and 10895 over 10925 rows." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 208 }, "colab_type": "code", "id": "KbbV0xHPWoad", "outputId": "17dda8ec-1282-4814-de79-8f5e1aff3a5f" }, "outputs": [ { "data": { "text/plain": [ "Make 10827\n", "Model 10827\n", "Year 10827\n", "HP 10827\n", "Cylinders 10827\n", "Transmission 10827\n", "Drive Mode 10827\n", "MPG-H 10827\n", "MPG-C 10827\n", "Price 10827\n", "dtype: int64" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = df.dropna() # Dropping the missing values.\n", "df.count()" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "2t7L9l2mJSoX" }, "source": [ "Now we have removed all the rows which contain the Null or N/A values (Cylinders and Horsepower (HP))." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 208 }, "colab_type": "code", "id": "V-DmX1O4Wtox", "outputId": "2d50fc20-3535-413b-e317-75a7f94fa2a2" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Make 0\n", "Model 0\n", "Year 0\n", "HP 0\n", "Cylinders 0\n", "Transmission 0\n", "Drive Mode 0\n", "MPG-H 0\n", "MPG-C 0\n", "Price 0\n", "dtype: int64\n" ] } ], "source": [ "print(df.isnull().sum()) # After dropping the values" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "bk8RAHqQJVJK" }, "source": [ "\n", "\n", "---\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "8Py3sQc_ZxyU" }, "source": [ "## 8. Detecting Outliers" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "1g6CJPofZzHN" }, "source": [ "An outlier is a point or set of points that are different from other points. Sometimes they can be very high or very low. It's often a good idea to detect and remove the outliers. Because outliers are one of the primary reasons for resulting in a less accurate model. Hence it's a good idea to remove them. The outlier detection and removing that I am going to perform is called IQR score technique. Often outliers can be seen with visualizations using a box plot. Shown below are the box plot of MSRP, Cylinders, Horsepower and EngineSize. Herein all the plots, you can find some points are outside the box they are none other than outliers. The technique of finding and removing outlier that I am performing in this assignment is taken help of a tutorial from[ towards data science](https://towardsdatascience.com/ways-to-detect-and-remove-the-outliers-404d16608dba)." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 309 }, "colab_type": "code", "id": "vtxX_y6zZ2ri", "outputId": "e3f93522-9244-4c32-c34c-103e0834e93b" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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K/XGG28oMzNTmzdv1tatW1VXV6cPPvggTK8Et7ODBw+qsrJSTz75pHJzc7V7926Vl5erublZ3333naZNm6YtW7YoJSVFb775ZsDx+LaPbqOxsVG5ubmSpJaWFiUlJWnVqlU6ffq0hg4dqr59+7bbZ//+/Vq4cKEkqV+/fvryyy8lSd98841+/vln/z3hxsZGo1eBnqalpUWPPfaYlixZIunKx2e2tLTo119/VVpamh544AFJUlZWll588cWA4xFddBvX3tNttXnzZsXHx193n5iYmDYfyVddXa2kpCT5fD69++67GjJkiCTp7NmzfBQkOuThhx/W+++/r7y8PN11111avny5UlNTNWfOHJ05c0a//fabhg0bpj179igzMzPgeNxewG1t5MiR+uKLLyRJ586d08yZM1VRUaExY8boww8/lHNOly9fVl5enj7++OMwny1uR8OGDdP8+fM1c+ZMeb1e+Xw+zZ07V3FxcVqzZo2WLFkir9ergwcPqqCgIOB4XOnitvbqq69q+fLlys7OlnNO8+bN0/Dhw7V48WIVFhYqOztbTU1NGjVqlGbPnh3u08VtZM+ePf7/nzp1qqZOndruOQ8++OB1f63xZviUMQAwxO0FADBEdAHAENEFAENEFwAMEV0AMER0AcAQ0QUAQ0QXAAz9Gxt9WUCqHXnDAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.boxplot(x=df['Price'])" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 309 }, "colab_type": "code", "id": "9HtvQYVHZ8u5", "outputId": "3dc30a01-6fb1-41d9-dec8-0ceeead6a358" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.boxplot(x=df['HP'])" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 309 }, "colab_type": "code", "id": "Xz3MwIjbaBUr", "outputId": "335d1e55-55a3-4e61-8401-a414580d9d62" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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iC4AGCK6AGCI6AKAIaILAIaILgAYIroAYIjoAoAhogsAhoguABgiugBgiOgCgCGiCwCGiC4AGCK6AGCI6AKAIaILAIYu+eN6goODLvvgf+dt/SlQd0mBu41dzcOu5rmadl3qbYIcx3EudxAAoHm4vQAAhoguABgiugBgiOgCgCGiCwCGiC4AGCK6AGCI6AKAIaILAIb8Et1NmzZpxIgRGjZsmFavXu2PU1yWN998U/Hx8YqPj1dmZqbbc/4gIyNDqampbs/w2r59u0aPHq3hw4dryZIlbs/xys3N9f53zMjIcHuOqqurlZCQoJMnT0qSdu3apcTERA0bNkxZWVkBs2vNmjVKSEhQYmKiFixYoPr6+oDYdcH777+vxx9/3JVN0h937d27V4899pji4+M1d+5c3328HB/77rvvnMGDBztnzpxxfvrpJycxMdEpLi729WmaraCgwBk/frxTV1fn1NfXO1OmTHG2bNni9iyvXbt2Of369XNSUlLcnuI4juOUlZU5cXFxTnl5uVNfX+9MnDjR2blzp9uznJqaGqdv377Ojz/+6DQ0NDhjx451CgoKXNuzb98+JyEhwYmJiXFOnDjh1NbWOoMGDXLKysqchoYGZ9q0aa583H6/6+jRo87QoUOdqqoqp7Gx0Zk/f76Tk5Pj+q4LiouLnfvvv9+ZPHmy+aY/21VVVeUMHDjQOXTokOM4jpOcnOysXr3aJ+fy+ZXurl27dN9996l169aKiIjQww8/rE8//dTXp2m2qKgopaamKiwsTKGhoerSpYu+/fZbt2dJks6ePausrCzNmDHD7SleW7du1YgRI9SxY0eFhoYqKytLsbGxbs+Sx+NRY2Ojamtrdf78eZ0/f14tW7Z0bc/atWu1aNEitW/fXpK0f/9+3XrrrercubNatGihxMREV57/v98VFhamRYsWKTIyUkFBQbrrrrtcef7/fpck1dfXa+HChZo9e7b5novtKigoUO/evdW9e3dJUnp6uoYOHeqTc13yVcaa6/vvv1dUVJT3cfv27bV//35fn6bZ7rzzTu+vjx8/rs2bN+vDDz90cdGvFi5cqOTkZJWXl7s9xau0tFShoaGaMWOGysvL9eCDD+rZZ591e5YiIyM1Z84cDR8+XNddd5369u2rPn36uLbnlVdeafL4z57/p06dsp71h10333yzbr75ZknS6dOntXr1ai1btsz1XZL02muvacyYMerUqZP5ngt+v6u0tFQRERFKTk7W0aNH1adPH5/d+vP5lW5jY6OCgn59aTPHcZo8dltxcbGmTZum+fPn67bbbnN7jtatW6fo6Gj179/f7SlNeDweFRYWaunSpVqzZo3279+vjRs3uj1Lhw8f1scff6wdO3bos88+U3BwsN555x23Z3kF+vP/1KlTeuKJJzRmzBj169fP7TkqKChQeXm5xowZ4/aUJjwej/Lz8zV37lxt2LBBtbW1evvtt31ybJ9Ht2PHjqqoqPA+rqioaPKphJu++OILTZ06VfPmzdOoUaPcniNJ+uSTT1RQUKCkpCS98cYb2r59u5YuXer2LLVr1079+/dXmzZtFB4eriFDhgTEZyz5+fnq37+/2rZtq7CwMI0ePVq7d+92e5ZXID//v/76a02YMEGjRo3SzJkz3Z4jScrLy1NxcbGSkpKUnp6uAwcOBMRnVO3atVNsbKw6d+6skJAQDR8+3GfPf59Hd8CAASosLNTp06dVW1urLVu26IEHHvD1aZqtvLxcM2fO1IoVKxQfH+/2HK+cnBzl5eUpNzdXs2fP1kMPPaS0tDS3Z2nw4MHKz8/XuXPn5PF49NlnnykmJsbtWerevbt27dqlmpoaOY6j7du3q2fPnm7P8oqNjdWxY8dUWloqj8ejvLy8gHj+V1dX68knn9ScOXM0bdo0t+d4LVu2TJs3b1Zubq6WLFmie+65R6+//rrbsxQXF6eioiLvLb8dO3b47Pnv83u6HTp0UHJysqZMmaKGhgaNHTtWvXr18vVpmu2dd95RXV2dli9f7v29CRMmaOLEiS6uClyxsbF66qmnNGnSJDU0NGjgwIEB8SlgXFycDh48qNGjRys0NFQ9e/bU9OnT3Z7l1bJlSy1fvlyzZs1SXV2dBg0apEceecTtWVq/fr1++OEH5eTkKCcnR5L00EMPac6cOS4vC0zR0dF66aWXNGPGDNXV1enuu+9WSkqKT47NT44AAEN8RxoAGCK6AGCI6AKAIaILAIaILgAYIrrwG4/Ho5ycHI0ePVpJSUkaMWKEXn311b98tabU1FTvd5glJSXp3LlzzTpnQkKCPv/887+1G/Anogu/Wbx4sfbu3av33ntPubm5Wr9+vY4dO6bnn3/+//X2ubm5atWqlZ9XArZ8/s0RgCSdPHlSmzZtUn5+viIjIyVJERERevHFF1VYWKi+fftq7dq1uv322yVJU6dO1eTJk5sco1u3biosLNTOnTu1detWBQcHq7S0VOHh4crIyFCXLl1UUlKitLQ01dbW6o477lBNTY337b/88kutWLFCtbW1Cg4O1jPPPKPBgwdrw4YNWr9+vWpraxUZGamVK1cqJSVFZ86ckSQNGjQoIL4VFVcnrnThF0VFReratas3uBdERUXp0Ucf1ciRI7Vu3TpJUllZmY4fP67Bgwdf9Hh79uzRCy+8oLy8PMXGxnpffOS5557TuHHjtGnTJk2ZMsX7coWVlZVasGCBMjMztXHjRmVnZ2vx4sXePy8pKdGqVau0atUqrV27Vp06ddLGjRu1evVqlZaWqqqqyh8fFoArXfhHcHCwGhsbL/rnkyZN0uTJk5WcnKw1a9Zo7NixCgkJuei/HxMTo44dO0qSevTooa1bt+rMmTM6cuSIRo4cKUm69957vS/huW/fPlVUVDR5YZegoCAdOXJE0i9X0Rf+h3D//fdr+vTpKi8v14ABAzRv3jzdcMMNf+v9By6GK134Ra9evXT06FFVV1c3+f1Tp05p+vTpio6OVrdu3bRt2zbl5eVp3Lhxf3m88PBw76+DgoL02+9e/+2vW7T45TrC4/GoS5cuys3N9f6zZs0axcXFSfrlVsdvt27btk3jx4/XN998o3HjxunAgQOX/84Df4Howi86dOigxMREpaWlecNbXV2txYsXq3Xr1goPD9ekSZOUmZmpXr16qUOHDs0+x0033aSYmBjvbYqioiJ99dVXkqTevXurtLRUe/bskSQdOnRIDz/88J++oPiKFSuUnZ2tIUOG6Pnnn1fXrl1VXFx8ue868Je4vQC/WbRokbKzszVhwgSFhISovr5eQ4YM0axZsyT98vKR6enpmjBhwmWfY+XKlVqwYIE++ugj3XLLLbrjjjskSW3atNEbb7yhzMxM1dXVyXEcZWZmqlOnTn94/d0nnnhCqampSkhIUFhYmLp16xZQL/+JqwuvMgbX7N27V+np6crLywuon64A+BNXunBFSkqKdu/eraysLIKLawpXugBgiL9IAwBDRBcADBFdADBEdAHAENEFAENEFwAM/R+LJ3voiF5MvQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.boxplot(x=df['Cylinders'])" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 139 }, "colab_type": "code", "id": "cFG9hck7aHUx", "outputId": "7c09ff98-3725-4d56-9b97-ef6b43d0e17b" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Year 9.0\n", "HP 130.0\n", "Cylinders 2.0\n", "MPG-H 8.0\n", "MPG-C 6.0\n", "Price 21327.5\n", "dtype: float64\n" ] } ], "source": [ "Q1 = df.quantile(0.25)\n", "Q3 = df.quantile(0.75)\n", "IQR = Q3 - Q1\n", "print(IQR)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "kCv110_cJiDz" }, "source": [ "Don't worry about the above values because it's not important to know each and every one of them because it's just important to know how to use this technique in order to remove the outliers." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 35 }, "colab_type": "code", "id": "igh_mRXeaJrI", "outputId": "44660b71-2eb7-4387-c599-e527640a7c21" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\BrunetM\\AppData\\Local\\Temp/ipykernel_12020/4147643536.py:1: FutureWarning: Automatic reindexing on DataFrame vs Series comparisons is deprecated and will raise ValueError in a future version. Do `left, right = left.align(right, axis=1, copy=False)` before e.g. `left == right`\n", " df = df[~((df < (Q1 - 1.5 * IQR)) |(df > (Q3 + 1.5 * IQR))).any(axis=1)]\n" ] }, { "data": { "text/plain": [ "(9191, 10)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = df[~((df < (Q1 - 1.5 * IQR)) |(df > (Q3 + 1.5 * IQR))).any(axis=1)]\n", "df.shape" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "9Nh93DCGJkqT" }, "source": [ "As seen above there were around 1600 rows were outliers. But you cannot completely remove the outliers because even after you use the above technique there maybe 1–2 outlier unremoved but that ok because there were more than 100 outliers. Something is better than nothing." ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "Z87kHbgvaQbb" }, "source": [ "\n", "\n", "---\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "WqFPRda8eEp_" }, "source": [ "## 9. Plot different features against one another (scatter), against frequency (histogram)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "Z-W6Q9-hJosZ" }, "source": [ "### Histogram\n", "\n", "Histogram refers to the frequency of occurrence of variables in an interval. In this case, there are mainly 10 different types of car manufacturing companies, but it is often important to know who has the most number of cars. To do this histogram is one of the trivial solutions which lets us know the total number of car manufactured by a different company." ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 431 }, "colab_type": "code", "id": "dAnd4DSyeHDb", "outputId": "44b04e39-9dc7-40fc-9ddb-b7182f4f6e1f" }, "outputs": [ { "data": { "image/png": "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0nEiIiKi4qbAtqYKCgpSup2YmAgLCwvFbUtLSyQkJOQ5bmFhgYSEBLx8+RJly5aFiYmJ0nFtmZuXVfw7I1OKkiWMlX5uYVFO5c/UkbfTRVG0ZbwF25bxFmzbjy1efdoy3oJty3gLti3jLbi2hbaXqEwmg0QiUdwWBAESiUTlcfn/c8p9W4wXL94o9uyysCgH57F78r1f+AJXJCWlinpMC4tyou9rCG0Zb8G2ZbwF2/Zji1eftoy3YNsy3oJty3j1a2tkJFHqZMrzc53OpoPKlSsjKSlJcTspKQmWlpZ5jj9//hyWlpaoWLEiUlNTIZVKle5PREREVNwUWsLWsGFD3Lt3Dw8ePIBUKsXevXvh4OCAatWqwdTUFGfPngUA7NmzBw4ODihRogSaNm2KiIgIAEBoaCgcHBwKK1wiIiIig1FoQ6KmpqaYM2cOfHx8kJ6ejhYtWsDR0REAEBwcDH9/f7x58wb169dH7969AQCBgYGYOHEiVq5ciSpVqmDhwoWFFS4RERGRwSjwhO3gwYOKf9vZ2SEsLCzPfaysrLBz5848x6tVq4YNGzYUaHxEREREho47HRAREREZOCZsRERERAaOCRsRERGRgWPCRkRERGTgmLARERERGTgmbEREREQGjgkbERERkYFjwkZERERk4JiwERERERk4JmxEREREBo4JGxEREZGBY8JGREREZOCYsBEREREZOCZsRERERAaOCRsRERGRgWPCRkRERGTgmLARERERGTgmbEREREQGjgkbERERkYFjwkZERERk4JiwERERERk4JmxEREREBo4JGxEREZGBY8JGREREZOCYsBEREREZOCZsRERERAaOCRsRERGRgWPCRkRERGTgmLARERERGTgmbEREREQGjgkbERERkYFjwkZERERk4JiwERERERk4JmxEREREBo4JGxEREZGBY8JGREREZOCYsBEREREZOCZsRERERAaOCRsRERGRgWPCRkRERGTgmLARERERGTgmbEREREQGjgkbERERkYErkoRtz5496NSpEzp16oS5c+cCAGJjY+Hs7Iz27dtj0aJFivtev34dHh4e6NChAyZPnoysrKyiCJmIiIioyBR6wvb+/XsEBQVhw4YN2LNnD86cOYODBw/Cz88PK1asQEREBK5cuYLDhw8DAMaPH4+AgABERUVBEARs3769sEMmIiIiKlKF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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.Make.value_counts().nlargest(40).plot(kind='bar', figsize=(10,5))\n", "plt.title(\"Number of cars by make\")\n", "plt.ylabel('Number of cars')\n", "plt.xlabel('Make');" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "c37WtYYWJuAQ" }, "source": [ "### Heat Maps\n", "\n", "Heat Maps is a type of plot which is necessary when we need to find the dependent variables. One of the best way to find the relationship between the features can be done using heat maps. In the below heat map we know that the price feature depends mainly on the Engine Size, Horsepower, and Cylinders." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 544 }, "colab_type": "code", "id": "yhHfLVTj6nmy", "outputId": "50a65ae0-841a-42ec-87e6-1a99da1ea57b" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
YearHPCylindersMPG-HMPG-CPrice
Year1.0000000.326726-0.1339200.3784790.3381450.592983
HP0.3267261.0000000.715237-0.443807-0.5445510.739042
Cylinders-0.1339200.7152371.000000-0.703856-0.7555400.354013
MPG-H0.378479-0.443807-0.7038561.0000000.939141-0.106320
MPG-C0.338145-0.544551-0.7555400.9391411.000000-0.180515
Price0.5929830.7390420.354013-0.106320-0.1805151.000000
\n", "
" ], "text/plain": [ " Year HP Cylinders MPG-H MPG-C Price\n", "Year 1.000000 0.326726 -0.133920 0.378479 0.338145 0.592983\n", "HP 0.326726 1.000000 0.715237 -0.443807 -0.544551 0.739042\n", "Cylinders -0.133920 0.715237 1.000000 -0.703856 -0.755540 0.354013\n", "MPG-H 0.378479 -0.443807 -0.703856 1.000000 0.939141 -0.106320\n", "MPG-C 0.338145 -0.544551 -0.755540 0.939141 1.000000 -0.180515\n", "Price 0.592983 0.739042 0.354013 -0.106320 -0.180515 1.000000" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAikAAAE1CAYAAAAib3BjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAABpcUlEQVR4nO3dd3xN9//A8de92XtHltp7K2LvFStWa1NVdMSqUVtRtbfaLWprjaApilIzhLbUVi1iZEtkiCT3/v7w6+V+ExGXO5K8n4/Hecj5nM855/257k3e9/P5nHMUarVajRBCCCGEiVEaOwAhhBBCiKxIkiKEEEIIkyRJihBCCCFMkiQpQgghhDBJkqQIIYQQwiRJkiKEEEIIkyRJihBCCCFyLDExkTZt2hAeHp5p25UrV+jYsSMtWrRg3LhxpKenv9G5JEkRQgghRI78+eefdOvWjX///TfL7SNHjmTixIns378ftVrNtm3b3uh8kqQIIYQQIke2bdvGpEmT8PT0zLTt3r17PHnyhMqVKwPQsWNH9u3b90bnM3+jvYUQQgiR6yUkJJCQkJCp3NHREUdHR836tGnTXnqMyMhIPDw8NOseHh5ERES8UVwGTVIU9aoY8nS51sGtO40dQq5RKf6YsUPIFX6xrGrsEHIFZysbY4eQayw78ZuxQ8gVdnf5wKDn0/Xv7KL3P2TJkiWZyoOCghg0aFCOjqFSqVAoFJp1tVqtta4L6UkRQggh8gqlbrM4+vTpQ4cOHTKVv9iL8ipeXl5ERUVp1qOjo7McFnodkqQIIYQQeYVCtyTlf4d1dOHr64uVlRXnzp3j3XffJTg4mPr167/RMWXirBBCCJFXKBW6LW+gf//+XLx4EYA5c+Ywffp0WrZsSXJyMr17936jY0tPihBCCJFX6Djc87oOHz6s+XnVqlWan0uXLs2PP/741s4jSYoQQgiRV+g43GOqJEkRQggh8goD9aQYiiQpQgghRF4hSYoQQgghTNIb3pfE1EiSIoQQQuQV0pMihBBCCJMkE2eFEEIIYZKkJ0UIIYQQJimPJSmvbM2RI0cMEIYQQggh3pRCodBpMVWvTFJmz55tiDiEEEII8aaUSt0WE/XK4Z6CBQsyZswYKlWqhLW1taa8ffv2+oxLCCGEEK/LhBMOXbwySXFxcQHgzz//1CqXJEUIIYQwMfnt6p7p06dnKnvy5IleghFCCCGE+M8rk5TDhw+zYMECkpOTUavVqFQqnjx5wqlTpwwRn96tHTuFi7duMHfLemOHYhQXT4USvHoN6Wlp+BYtQs+Rw7Cxs9Oqc2RnMMeC94JCgYePNz1GDMPBxZmUxCQ2zJ7Hwzt3UavV1GzRlObduhipJfp3MuwGy9f/ytO0dIoXLsCYoDbY2VplWVetVvPVot0UK+RJ9/a1AEhMesL0JXu5fS8GtUpNQOOK9OxY25BNMIjrZ8I4uHYjGWlpFChSiHZDP8Pa1larTuieEMJ+2g8KcPX2ou3gT7B3dkaVkUHIstX8e/ESACWqV6V5vz4mPbFPV5dOn2Hv/3/2fIoWoduIoVj/z2fv2K7dnNj9EygUuPt40+XzITi4OGvV+W7SVBzd3Og8+FMDRm9Y1bz96F2xKuZKM27Hx7HozAlS0tO06nxYuRp1/Arz+OlTAO49jmf2qaPYW1ryybu1KOLsSmpGOgf/ucFPN64aoxmGkceGe17ZmunTpzN27FiKFSvGnDlzaNWqFQEBAYaITa9KFyrCoQUr6NywqbFDMZrHjx6xftZcBkyewJfff4u7txe7Vn6nVefOtRsc3LqdEUsWMGHNSjz8fNnz3ToA9ny3DmcPdyasWckXyxbzW/BP3Lp02RhN0bu4+CSmLd7DtC86s2Xpp/gUcGbZ94ezrPvv3WgGT9zAkZPavwhXbTqKh5sjGxYNZPWcD9n58zn+uhpuiPANJik+nl3zl9Bl3EgGrVqCi1cBDq7R/gJw/8bfnNweTL+5X/PZsoW4+njz6/rNAPx5+CjR4ff4dOl8PvlmHrcvXuLy8bzxhehFiY8esXn2PD78cjzj1q3GzduLPavXaNW5e/0Gh7dtZ8iieYz+djkevj6ErPleq86hLT/w98W/DBm6wTlaWTG4Rh2mn/iVT3/eycPEx/Sp9G6meqXdPJl96ihDD+xm6IHdzD51FICPKtfgSXoaQft2MfLgT7zr5Uc1bz9DN8NwlArdFhP1yiTFwcGBmjVrUqlSJR4/fszIkSM5ffq0IWLTq886vM/qvTv54cgvxg7FaK6cPU+hUqXw9PMFoH5gG84eOoxardbUeadUCSZv+A4bezvSnj4lPjoGO0cHAN4b9AkdPxkAQHxsDOlpaZl6YfKKM3/cokxxHwr6uALQoeW7HPjtL63X6j/bfw6jbdMqNKpdRqt86EfNCer7LCmOiUskLT0DO7use2Jyq7/P/4FvyeK4+foAUK11Sy7+ekzrdfIpUYzBq7/B2u7Ze+pxTCw2Ds/eU2qVirQnqaSnpZOelkZGejrmlhZGaYs+XQ07zzulSuLx/5+9Ou3acO7Qr1qvU8GSJRj//beaz96j6BjsHB0122/8cYGrZ89Rp21rg8dvSFW8fLkRG82DxMcA/HzzGg3eKapVx1yppKiLGx1LV2BRi0BG126Iu+2z30XFXN349d9bqNRq0lUqwh6EU6dgYUM3w3AUSt0WE/XKyKytrfnnn38oVqwYZ86c4enTp6Slpb1qN5M3aMFMNh/cZ+wwjCouKgoXT3fNurOHB0+SknmSnKxVz8zcnD+On2Tsez24ceEitQJaAM+uxzczM2PNtJl81XcgJStXpEDBvPkNJTI6AU/3538gPNwdSUpOJTnlaaa6wwe0pHmD8pnKFQoF5mZKJs/fRa/BK6hS/h3e8XHTa9yGFh8Vg6P78/eUo7sbqcnJpKakaNUzMzfnyslQ5vXuz+2/LlOlWWMAKjdthLWDHfN6f8Tcnv1w9famlH91g7bBEB5FRePs4aFZd/Zw50lSMqlZfPYuHD/Jl116cevCX/i3bAZAfHQMO79ZTs+xo1Dkse79/+VuY0f0C69LdEoSdpaW2Jg/T17dbGy5EPGADX+dZ/D+YK7FRDG+7rP31PWYKBoVLoqZQoG1uTm1/QrhYm1j8HYYTB67BPmVkQ0dOpQFCxbQqFEjTp06RZ06dWjaNP8OkeQlapUqy7F+pdIsU1nlurWZHfwDrfv0ZPGosahUKs22vuO+YFbwDyQlPCbk+416jdlYVCp1lg8XVerQTTppWHt++n44CY+fsGbbsbcQnelQq1/2nsr8q6ZMbX++2LKOhj26sH7CVFQqFUc2bcPO0YkRG7/j8+9XkZKYyMkdwYYI3aDUKhVk8dZRZPHZq1i3NtN2bqVlnx4sHz2e9KdP+X7aDNp/OgAnN1cDRGtczz5imXssVS/0OkUkJTLl2EHuxD8CYOe1S3jZO1DAzp7v/ghDDSxo0Y6xdRrzR8R90l/4/ZXn5LEk5ZUTZ2vUqEGNGjUA2L59O/Hx8Tg5Oek9MKF/LgU8+ffK83kTj6KisXWwx8rm+f1wIu/dIyE2juIVnvUM1A5oweb5i0l+nMida9fxKVoEZ3c3rG1sqNakIb//dtzg7dCXVZuOcPzMDQCSU1IpWshTsy06JgEHe2tsrC1zfLzQ3/+maCFPPFwdsLWxpGm9chw9lbcm8Dl5eHDv2g3N+uPoGKzt7bF84R5LMfcfkBj3iELlng2HVWnWmL1LVvAkMYkrJ0/T6uOPMLewwNzCgkpNGnL5+Clqdww0eFv0ycXTk9tXr2nW46Mzf/ai7t3ncWwsRf//s+ffsjnbFizhzvUbxDx4yK5lqwB4HBuHSpVB+tOndB0x1KDtMISo5CRKuj3vdXKzseVxaiqpGemassJOLhR2duHI7Vsv7KkgXaXCxsKCtX+Gkfj/E2rfK1OBB4kJhgrf8Ex46EYXr2zNvXv36Nu3L82bNycqKopBgwYRHp63JvvlV2Wrvcs/V64SGX4PgGN7fqJinVpadRJiYvluynQS4+MBOHPwMD6FC2Hv5Mi5I78Rsm4DarWatKdPOX/kN0pVqWzoZuhN/+4NWbegP+sW9GflzL5cunaPu/djAdi5/zz1apR8reMdPn6ZNVt+Q61W8zQtncMnLlO1YmE9RG48xapWIvzqdWLu3QcgLOQApWtqD9ckxsbx44y5JMU/+0Nx4chveBYqiK2jA97FinLp2EkAMtLTuRZ6Fr/Sr/c65walqlXl38tXifr/z96JPSGUr535s7fuqxmaz17YoV/xLlyIouXL8eWW9Yxa+Q2jVn5D7batqNKwQZ5MUAB+f3ifUm4eeNs/m7cUUKwUoffvaNVRoWZAVX8K2Nk/q1O8FLfjY4lJSSagWCl6lK8CgLOVNc2KluTonVvkWXls4qxCndXMvxf069ePvn37MmfOHHbu3MkPP/xAcHAwGze+fre+ol4VnQPVlzVjJ/PXrZsmdQnywa07DXauv06fIXjVd6Snp+Ph402fMSOJfvCQjbPnM3b1MgB+C97D0V17MDMzw8ndjS5DgnD39iI5MZHN8xZx/59/Aahcrw6tP+iVZde+vlSKN9xwycmwm6zYcJi09Ax8vVyYMCQQRwcbrty8z4wlP7FuQX+t+l8t3E3RQh6aS5AfJz5h9vIQbt2JAqC+fyk+6tZApyGj1/WLZVW9n+M/18+e49DaDWSkp+Pi5UWHEYOJexDB7kVL+WTJPADO/rSPM3t/RmlmhoOrK60/7Y+LVwGSEx4TsmwVD/7+B6VSSZHKFWjerw/mFoaZPOtsZbi5CpdDz7B39VrS09Nx9/amx+gRxDx4wJa5Cxm18hsAju/ey/HgvSjNzHByc6Xz4M9w8/bSOs7P6zaQFJ9g8EuQl534zWDnetfbl94V38VcqeRh4mPmhx7Dy86BoOp1GHpgNwANCxWlU5kKKBUKYpKTWXT2BNHJSdiYmzPMvz7eDg4ogB+vXPyfHhf92t3lA4OdC0DZv6dO+6lWbXjLkbwdr0xSOnbsyI4dO2jfvj27du0CIDAwkODg1x8nNsUkxRQZMknJ7QyZpORmhkxScjNDJim5nSGTlNzM4EnKgN467ada+f2rKxnBS7/yJv//bGpra2sePnyomQwXFhaGpWXOx+GFEEIIYRgKpVKn5XXs2bOHVq1a0bx58yxHVS5dukSnTp1o164dAwcOJCFB9zlAL40sMDCQsLAwxowZw8CBA/n3338JDAxkxIgRjB8/XucTCiGEEEI/lEqlTktORUREMH/+fDZt2sSuXbvYunUrN2/e1Kozbdo0Bg8ezO7duylSpAjffvutzu156dU9kyZNYsyYMTRp0oSNGzfy4MEDMjIyKFq0qPSkCCGEECZI1zmBCQkJWfZ4ODo64vjCTQRPnjxJzZo1cXZ2BqBFixbs27ePoKAgTR2VSkVSUhIAKSkpb3RF8EtbU7duXXbvfjYhqXv37sTHx+Po6Eh0dDT379/X+YRCCCGE0A9de1LWrVtHkyZNMi3r1q3TOn5kZCQeL9yI0NPTk4iICK06o0ePZvz48dStW5eTJ0/StWtXnduT7X1SbGxsGDJkCA8fPuSTTz7B0dERtVqNQqHg0KFDOp9UCCGEEG+frj0pffr0oUOHDpnKX+xFgWe9JC/esPG/nOA/T548Ydy4caxdu5aKFSuyZs0avvjiC1auXKlTXNkmKb/++itTp06lbt26/Prrr9jb2+t0EiGEEELon65Jyv8O67yMl5cXYWFhmvWoqCg8PZ/f6PL69etYWVlRsWJFALp06cLChQt1igmySVIGDx7M5cuXmTZtGrVq1XpZNSGEEEKYCGVWz+94i2rXrs3ixYuJjY3FxsaGAwcOMHXqVM32QoUK8fDhQ27dukXRokU5dOgQFSpU0Pl8L01SPDw82L17N7a2tjofXAghhBB5R4ECBRg2bBi9e/cmLS2Nzp07U7FiRfr378/gwYOpUKEC06dPZ+jQoajVatzc3Pj66691Pt9Lk5QJEybofFAhhBBCGJ4h7vjdtm1b2rZtq1W2atUqzc8NGjSgQYMGb+Vcr3zAoBBCCCFyB0M+lsQQJEkRQggh8ghJUoQQQghhkiRJEUIIIYRJkiRFCCGEECZJkhQhhBBCmCQzSVKEEEIIYYqkJ0UIIYQQJkmSFCGEEEKYJElS3sDBrTsNebpcq2mXzE+iFFkr0rKNsUPIFRYlTH11JcE/d6OMHUKuca7EAGOHILIgSYoQQgghTJIkKUIIIYQwSfp+CrKhSZIihBBC5BHSkyKEEEIIkyRJihBCCCFMUl5LUvJWa4QQQgiRZ0hPihBCCJFH5LWeFElShBBCiDxCkhQhhBBCmCRJUoQQQghhkuQpyEIIIYQwSZKkCCGEEMIk5bUkJW+1RgghhMjHzJRKnZbXsWfPHlq1akXz5s3ZuHFjpu23bt2iV69etGvXjn79+hEfH69zeyRJEUIIIfIIMzOlTktORUREMH/+fDZt2sSuXbvYunUrN2/e1GxXq9V88skn9O/fn927d1OmTBlWrlypc3tkuEcIIYTII3Qd7klISCAhISFTuaOjI46Ojpr1kydPUrNmTZydnQFo0aIF+/btIygoCIBLly5ha2tL/fr1Afj444+zPG5OSZIihBBC5BG6Jinr1q1jyZIlmcqDgoIYNGiQZj0yMhIPDw/NuqenJxcuXNCs37lzB3d3d8aOHcuVK1coWrQoEyZM0CkmkCRFCCGEyDN0TVL69OlDhw4dMpW/2IsCoFKpUCgUmnW1Wq21np6ezpkzZ9iwYQMVKlRgwYIFzJgxgxkzZugUV7ZJSnJyMitWrOD69etUqVKFDz74AEtLS51OZGgXT4USvHoN6Wlp+BYtQs+Rw7Cxs9Oqc2RnMMeC94JCgYePNz1GDMPBxZmUxCQ2zJ7Hwzt3UavV1GzRlObduhipJaZh7dgpXLx1g7lb1hs7FKNpVLwkIxs2w9LcnKuRDxm9dxeJT1M12ztUqEw//9qadQcra7wcHKmzeDaPU1OZ0rINFb39UCgU/Hn/LhP37SU1Pd0YTdE7z9INKd3yc5TmliQ8uMaFH8eSnpr00voFyjalStdZ7JtYNdO2d3stITUhkr+Cp+gzZKMoVLk5NbtORGluSczdS/y6cjBpKY8z1avdYyrF/NuTmhgHwKMHNziwuJ9WnZZDvyfp0UOOrR1lkNgNqUmJ0oxu2hIrc3OuRDxgePCPJKY+/+x1rlSVAbXqadYdrK3xdnSi2tyviU5K1JSv6tKLiMcJjA8JNmj8hqTrzdz+d1jnZby8vAgLC9OsR0VF4enpqVn38PCgUKFCVKhQAYA2bdowePBgnWKCV0ycHTNmDP/88w9169YlNDSU2bNn63wiQ3r86BHrZ81lwOQJfPn9t7h7e7Fr5Xdade5cu8HBrdsZsWQBE9asxMPPlz3frQNgz3frcPZwZ8KalXyxbDG/Bf/ErUuXjdEUoytdqAiHFqygc8Omxg7FqFxtbZnZpgOfbt9M0+ULuRsXx6jGzbTq7Lz4B21WL6XN6qW0/245UYmP+XL/XqKTkvisTgPMFGa0WvUNrVYtwdrcgk9q1zdSa/TL0s6FSu9N59z6QRyZ05Lk2LuUDhjx0vp2boUo2/oLQJFpW7EGH+FauJoeozUeawc3Gg1cwr4Fvdk8ogYJEbep1XVSlnW9Stbgl8X92Da2PtvG1s+UoFRuMxjv0rUMEbbBudraMa/9ewzYup76i+dwOy6WsU0DtOr8+Od5mi9fSPPlC2m1cjFRiY8ZHxKslaB8UqcB/oUKGzh6w9P31T21a9fm1KlTxMbGkpKSwoEDBzTzTwCqVKlCbGwsV69eBeDw4cOUK1dO5/ZkG9mNGzdYtGgRPXr0YPHixZw+fVrnExnSlbPnKVSqFJ5+vgDUD2zD2UOHUavVmjrvlCrB5A3fYWNvR9rTp8RHx2Dn6ADAe4M+oeMnAwCIj40hPS0tUy9MfvFZh/dZvXcnPxz5xdihGFW9IsW5+OAe/8bFArDh/BkCy1V6af2BteoRk5zE5t+ffeM4c+dfvjlxBDVqVGo1lx4+wNfJ2RChG5xHibo8unuRpJjbANw+vRnfKu2yrKu0sKZy1zlc3js90za3ojXwKFmP26Gb9RqvsRSs2JioW78T//AWAJcOfkuJOu9lqqc0t8S9UEUqtx1MlxknaDF0HfZufprtPmXq8E6lJlw6tMZgsRtSg2Il+PP+Xf6JjQHg+7On6VCxykvrf1a3IdFJiWwIC9WU1SpclEbFS7L+hbK8St9JSoECBRg2bBi9e/emffv2tGnThooVK9K/f38uXryItbU133zzDePHj6d169aEhoYyevRonduT7XCPlZWV5mdbW1vMzMx0PpEhxUVF4eLprll39vDgSVIyT5KTtZINM3Nz/jh+ko2z52NuaUGbvr0BUCgUmJmZsWbaTH4/eozK9epQoKBfpvPkB4MWzASgeY28+S0tp7wdnXiQ8Pxa/4cJCThYW2NvaaU15APgYmPLR/51aPfdMk3Z8X/+1vzs4+hE3xq1GJdHu5ytnb15Ev9As/4k/iEW1g6YW9llGvKp2HEqd0K3kPDwmla5lYMn5dqOJ/S7fhTy72qQuA3N3tWXxJh7mvXE2PtY2TpiYeOgNeRj5+LFvcvHOLNtGrHhV6jcZhABwzfyw9gG2Dp7Ubf3DPbO7Ey5Jh8YoRX65+PkzP0X7rPxICEeR2tr7K2stIZ8AFxsbRlQux4BKxZrygo4ODAloC091n9Hz2r+BovbWAxxM7e2bdvStm1brbJVq1Zpfq5UqRI//vjjWznXa7Xmxckxpkz9PxN7/qNUZk6yKtetzezgH2jdpyeLR41FpVJptvUd9wWzgn8gKeExId9nvmGNyD+UCgUvdMRpZKhVmcq6VanGL9evcPdRXKZt5b182Nb7I9aHhXL45nV9hGp0CoVSq9fyP2qV9mtVqGZ31Kp07oZt195faU7V7vO4tPdrUh9H6TVWY1IolajJ6nXK0Fp/HHWHn2a9T2z4FQD+2LsYJ8/COHkVpdmg1ZxYP5bkRxEGidkYlApFlq9ThirzZ6/nu/4cuHqZO//f42muVPJN5+58uW8vkYmZ5/rkRWZmCp0WU5VtT8q///5L797PehfUarVm/b/ZvN9//71BgnxdLgU8+ffKVc36o6hobB3ssbKx1pRF3rtHQmwcxSuUB6B2QAs2z19M8uNE7ly7jk/RIji7u2FtY0O1Jg35/bfjBm+HMB33EuKp5Pu8N62AgwOPUpJJSUvLVLd12QpMPvBTpvI2ZSswpWUbvtz/E7svXci0PTcr2WwwBco2AcDcyp7HL/SMWDsW4GnyIzLSUrT2KVitI0oLa+oNCUZpZoHZ///8167J2LoWpGybMQBYObijUJihNLfiwvZxhmuUHlTvPIYiVZ/Np7CwdSD2zvO5bnauPjxJjCM9NVlrH7eC5XArVJ7rx7c+L1QosHUqgJNnYer0nAaArbMnCqUZZhZWHFk1RP+NMZB78Y+o4ldQs+7l4EhcctafvXblKzIhZLdmvZKPH4VcXJnUog0AHvYOmCkVWJmbM3L39kz7C9OTbZKyYsWKXNN78qKy1d5lx7KVRIbfw9PPl2N7fqJiHe3hioSYWL6bOoOxq5di7+TEmYOH8SlcCHsnR84d+Y0/jp2g2+eDSU9L4/yR3yj9buarDkT+cfzWTcY1aUlhF1f+jYulR9UaHLx+NVM9R2trCrm4cj78jlZ54xKlmNi8FX02r+Pig/uGCttgrv+yiOu/LALA0s6VBsP2YudWiKSY2xSq2Y2Iy4cy7XN8SWfNzzYuvjQYtpdjCwMBODS9gWZbyaaDsLRzyRNX95z9cTpnf3w2/8bG0Z0uM0/g5FWU+Ie3KN+kL/+cC8m0j1qtom6fGTy4dorHUXco17QfMXcu8+DaKb4fVF5Tr3qnL7B2cMtzV/cc/fs6E1u0poirG//ExtCrek0OXMt8IYOTtQ2FXd0Ju3tbU3Yu/A7V5z2f7/R5w6a42trl6at78tqze7JNUnr37o1CodD0nPzvv1euXDFUnK/FwcWZXqOGs2rSVNLT0/Hw8abPmJHcvnadjbPnM3b1MopXrEDLnl2ZP3QkZmZmOLm7MfCrLwHo9OkANs9bxFcfDgSgcr06NOrU3ngNEkYXk5zEqL07+KZTNyzMzLgTF8vw3dup4O3D9NbtabN6KQCFXdyITHxM+v90RY9t0hIFCqa3bq8pO3f3DpP27zVkMwziaVIsf/4whnd7LkZhbkFyzB3+2PrsD6eTb3kqdp6mSUbys5SEaA6vCKLFkHWYmVsQH/Evh5Z9DIBHkco06r+IbWPrExt+heNrv6DViC0olUoSY+/zy5KPjBy94cQkJfH5rh9Y2aUnFmbm3I6NYcjOrVT08WVOu840X74QgMKubkQ8Tsj02ctv8lqSolBnNXichfbt27Nr1643Otmh+/++0f75RdMumW+oI7JWpGUbY4eQKyxK2PrqSoI7d/PuHJi3bVqJAcYOIVe4N3mmQc/X/8BOnfZb1dw0/+7k+I6zuXHYRwghhMhP8lpPSo6TlBx2uAghhBDCSPJtkiI9KUIIIYRpy1dJSuPGjTXJSUREBE2aPLvE8L+Js4cOZZ6xL4QQQgjjyFdJyvr1+fdhckIIIURuk6+SFF9fX0PFIYQQQog3ZGaWj5IUIYQQQuQe+aonRQghhBC5hyQpQgghhDBJkqQIIYQQwiQpJUkRQgghhCkyy2P3NJMkRQghhMgjzBTSkyKEEEIIEyQ9KUIIIYQwSXktSclb/UJCCCGEyDOkJ0UIIYTII5QyJ0UIIYQQpkiGe4QQQghhksyUSp2W17Fnzx5atWpF8+bN2bhx40vrHTlyhMaNG79Rewzak1Ip/pghT5drFWnZxtgh5Br/7Ntr7BByhV0Zt40dQq4Qn6I2dgi5xrIZHxk7BJEFffekREREMH/+fHbs2IGlpSVdu3bF39+f4sWLa9WLjo5m5syZb3w+6UkRQggh8gilQqHTkpCQQHh4eKYlISFB6/gnT56kZs2aODs7Y2trS4sWLdi3b1+mOMaPH09QUNAbtydHPSlPnz7l1q1blC5dmj179nD58mX69++Pq6vrGwcghBBCiLdD15u5rVu3jiVLlmQqDwoKYtCgQZr1yMhIPDw8NOuenp5cuHBBa5/vv/+esmXLUqlSJZ1ieVGOkpSRI0fi5+dHamoqixcvJjAwkDFjxrBixYo3DkAIIYQQb4euwz19+vShQ4cOmcodHR211lUqFYoXzqFWq7XWr1+/zoEDB1i7di0PHz7UKZYX5ShJCQ8PZ+HChcyePZvOnTszYMAAOnXq9MYnF0IIIcTbo2tPiqOjY6aEJCteXl6EhYVp1qOiovD09NSs79u3j6ioKDp16kRaWhqRkZF0796dTZs26RRXjlqTkZFBbGwsBw8epGHDhkRFRZGamqrTCYUQQgihH2YKhU5LTtWuXZtTp04RGxtLSkoKBw4coH79+prtgwcPZv/+/QQHB7Ny5Uo8PT11TlAgh0nKRx99xPvvv0+DBg0oWbIkPXv25NNPP9X5pEIIIYR4+3SdOJtTBQoUYNiwYfTu3Zv27dvTpk0bKlasSP/+/bl48eJbb0+Ohntu3LjBwYMHNeshISGYmZm99WCEEEIIobvXveeJLtq2bUvbtm21ylatWpWpnp+fH4cPH36jc+WoNb/++itq9fP7B0iCIoQQQpgefQ/3GFqOelKcnZ1p2bIl5cqVw8rKSlM+ffp0vQUmhBBCiNej68RZU5WjJCWry5KEEEIIYVpMuVdEFzlOUsLDw7l58yZ169blwYMHFCxYUN+xCSGEEOI15LWnIOeoNSEhIXzyySdMmzaN+Ph4unbtSnBwsL5jE0IIIcRryGtzUnKUpKxatYrNmzdjZ2eHm5sbO3fuZOXKlfqOTQghhBD5WI6Ge5RKJfb29pp1T09PlAa4zEkIIYQQOWfKvSK6yFGSUqJECTZs2EB6ejpXrlxh06ZNlC5dWt+xCSGEEOI1GOI+KYaUo9ZMnDiRiIgIrKysGDt2LPb29kyaNEnfsQkhhBDiNej7jrOGlqOeFFtbW4YPH87w4cP1HY8QQgghdJSv7pNSunRprUcwm5ubY2ZmRmpqKvb29pw9e1bvAb6Jk2E3WL7+V56mpVO8cAHGBLXBztYqy7pqtZqvFu2mWCFPurevBUBi0hOmL9nL7XsxqFVqAhpXpGfH2oZsgt41Kl6SkQ2bYWluztXIh4zeu4vEp88fHtmhQmX6+T9vs4OVNV4OjtRZPJvHqalMadmGit5+KBQK/rx/l4n79pKanm6MppiMtWOncPHWDeZuWW/sUExChdoBdPp4KuYWVoT/fZG1Xw/kSfJjrTq1WvagWdchmnUbeydcPH0ZFViUhLhIQ4dsMFXrBtB90FdYWFpx+8ZFlk0eQEqS9mtTv01P2vZ8/trY2jvi6unHxy2LEB8bSfP3BtKkw4dYWtlw68p5lk0eQHraU0M3Ra+uhJ4l5Nt1ZKSl4V2kMO8NH4K1na1WnRO79nBq78+gADdvb94bNgh7F2cAJnXqjpO7m6Zuw/c7UrVJI0M2wWDy1ZyUq1evAjBp0iSqVq1Ku3btUCgU7N+/n2PHjhkkQF3FxScxbfEelk//gII+rixdd4hl3x9mxMcBmer+ezeauSt/5vL1+xQr9PyR06s2HcXDzZFpX3Qm5clTeg5aQeWy71C+tJ8hm6I3rra2zGzTgffXreLfuFi+aNScUY2bMXHfXk2dnRf/YOfFPwAwVyrZ0qsfy0/+RnRSEp83aIKZwoxWq75BoYD5gZ35pHZ9Fvz2Zs9qyK1KFyrCN8NG41+2Ahdv3TB2OCbB3tmdvuNWMmNgIyLDb9Lp02l0+nQaG+cM1qp3at9GTu3bCICZmTmjlh3i5/Wz83SC4ujizqeTVzG+b0Me3rlJj8Ff02PwNFZP135tftu7gd/2bgDAzNycKd8eZuea2cTHRlKjcXsCun7GhL4NSHr8iM9nb6FNzyHsWjPbCC3Sj8RH8Wyds4DP5s/Cw8+Xn1atIeTbtXQc/Pwht+HXb3L0x50MW7EYGzs79qz4ln3rNtB5aBCRd8OxdbDn8xWLjdgKw1GSt5KUHPULXbhwgcDAQE2vSosWLfjrr7/0GtibOvPHLcoU96GgjysAHVq+y4Hf/tJ6BtF/tv8cRtumVWhUu4xW+dCPmhPUtykAMXGJpKVnYGeXdU9MblSvSHEuPrjHv3GxAGw4f4bAcpVeWn9grXrEJCex+fcwAM7c+ZdvThxBjRqVWs2lhw/wdXI2ROgm6bMO77N6705+OPKLsUMxGeVqNOXfK+eIDL8JwJEdK/Fv3jXbfVr2GkFCXBS/Ba82RIhGU7FmM/6+FMbDO89emwM/rKBeQLds9wn8YCTxsVEc3P7stWnQpid7NswnMSEOtVrNqmmf8dvejXqP3ZCunztPwZIl8PDzBaBW21b8fuiI1u9yv5LF+WLtSmzs7Eh7+pSE6BjsHBwAuH3pCkqlkqXDRjF3QBC/rN+MKiPDKG0xBKVCt8VU5WhOio2NDdu3bycgIACVSkVwcDBOTk76ju2NREYn4OnuqFn3cHckKTmV5JSnmYZ8hg9oCTxLbF6kUCgwN1Mwef4ujpy8Qv2apXjHx428wtvRiQcJ8Zr1hwkJOFhbY29ppTXkA+BiY8tH/nVo990yTdnxf/7W/Ozj6ETfGrUYF5J/b/I3aMFMAJrXqGXkSEyHawE/YiPCNetxUeHY2jthbeuQacgHwN7JjeZdhzL1w7z/Grp7+RH9wmsTExmOrYMTNnYOmYZ8AByc3WjbayhfdK+pKfMpVIKbf3kybskeXDx8uPL7cTYsGGOQ+A3lUVQ0zh7umnUnD3eeJCeTmpyiNeRjZm7OXydO8cO8xZhbmNO8Tw8AVKoMSlStTKt+H5CRkc634yZjbWdLvY6BBm+LISjyY0/K7Nmz+eWXX6hTpw7169fn9OnTzJo1S9+xvRGVSk1WQ3NKHVLGScPa89P3w0l4/IQ120x7mOt1KBUKsuhYIkOtylTWrUo1frl+hbuP4jJtK+/lw7beH7E+LJTDN6/rI1SRSykUSrJ6k6lUWX+TrR/Yjz+O7SH6/j/6Ds3oXvravORbftOOHxF2ZA+R956/Nmbm5lSs2YR5X3RndI+a2Du50i1oit5iNga1Sk1Wv8yzuldX+Tq1mLx9E817d2f1mImoVCr8W7WkfdDHWNpYY2NvT/3O7fnr+ClDhG4U+fLqHl9fX5YvX67vWN7Yqk1HOH7m2VyA5JRUir4wvyQ6JgEHe2tsrC1zfLzQ3/+maCFPPFwdsLWxpGm9chw9dfWtx20s9xLiqeT7fH5NAQcHHqUkk5KWlqlu67IVmHzgp0zlbcpWYErLNny5/yd2X7qg13hF7hD40UQq1W0DgI2dI+G3ng8NO3v4kpQQy9MnyVnuW73Je2ye/7lB4jSGLp9MolqD/14bB+7cvKTZ5urpS2J8LKkveW1qt3iPNbOGaZXFRT0g9PAuTc/LsZ820XnAOD1FbxzOnh7cuXpNs54QHYONgz2WNtaasuh793kcF0eR8uUAqN6iGdsXLiUlMZGroWF4FyuCT9Eizyqr1SjNzQzaBkPKW9f25LA9x44do1OnTjRt2pQmTZpoFlPTv3tD1i3oz7oF/Vk5sy+Xrt3j7v1n8y127j9PvRolX+t4h49fZs2W31Cr1TxNS+fwictUrVhYD5Ebx/FbN6niU5DCLs/m7fSoWoOD1zMnYY7W1hRyceV8+B2t8sYlSjGxeSv6bF4nCYrQCF49hSkf1GDKBzX4ekA9ipWrgadfcQAatu/PH8f2ZLmfrYMznn7F+Pti3v2Wu3XZZEZ2rc7IrtUZ27seJSrUwOudZ69N884DOHsk69fGzsEZr4LFuPan9mtz6uAOajfrjKXVsz/Y1Ru14+9LYfpthIGVercKd65cIyr8HgCn9oZQrlZNrToJsbFsnDaLpPhnw9fnDx/Bq/A72Dk68vDf2xxYtxFVRgZpqamcCN5L5Yb1DN4OQ8mXPSlfffUVo0ePpkSJElqXJJsyF2c7xg5qy/hZP5KWnoGvlwsThjwbg7xy8z4zlvzEugX9sz1GUN9mzF4eQq8hz55TVN+/FO+3qaH32A0lJjmJUXt38E2nbliYmXEnLpbhu7dTwduH6a3b02b1UgAKu7gRmfiYdJX2MNDYJi1RoGB66/aasnN37zBp/16EAHgcF8WaaQP4ZNpmzC0sibx3i++mfAhAodJV6TN6OVM+ePaZ8vQrRnzMQzIy8scl7AlxUSz9sj/DZ2/B3NySiPC/WTLh2WtTtGxVPpm4gpFdqwPgVbAYj6IekPE/l/cf2LYce0dXZm4KRak049bV31k5b5TB26JP9i7OvD9iCOunTicjLR03H2+6jvqcu9du8MO8RXy+YjFFK5SncfcuLBsxBqXSDCc3Vz74cjwAzXp1Y9eS5cwdEIQqPZ2K9etSI6CFkVulP3mtJ0Whzupyl//RtWtXtmzZ8sYni74i943IiRo7ZF5HTv2zTxKinOiXcdnYIeQK8Smv/HUo/l+v4EuvriRo904Jg57vcmyUTvuVdfV4y5G8HTnqSXn33XeZPn069erVw8rq+ZUx1atX11tgQgghhHg9pjx0o4scJSkXLjybb3D58vNvYwqFgu+//14/UQkhhBDiteW14Z4cJSnr18swjRBCCGHq8lVPyoQJE5g6dSq9evXKcsKs9KQIIYQQ+cuePXtYtmwZ6enp9OnThx49emhtP3jwIIsXL0atVuPn58f06dN1vgFstklKly5dABg0aJBOBxdCCCGE4ej72T0RERHMnz+fHTt2YGlpSdeuXfH396d48WeX0icmJvLll1+yfft2ChQowMKFC1m8eDHjx4/X6XzZDl+lpKRw9uxZFApFlosQQgghTIdCoduSkJBAeHh4piUhIUHr+CdPnqRmzZo4Oztja2tLixYt2Ldvn2Z7WloakyZNokCBAgCUKlWKBw8e6NyebHtSFi1alM0LIRNnhRBCCFOia0/KunXrWLJkSabyoKAgrdGUyMhIPDyeX67s6empubgGwMXFhWbNmgHw5MkTVq5cSa9evXSKCV6RpPw3YfbChQtUrFhR55MIIYQQQv90vbqnT58+dOjQIVO5o6Oj1rpKpdIaSVGr1VmOrDx+/JjPPvuM0qVLZ3ncnMrR1T2zZ8/m0aNHBAYGEhgYqJVFCSGEEMI06Hp1j6OjY6aEJCteXl6EhT1/9EJUVBSenp5adSIjI+nXrx81a9Zk7NixOsXznxwlXevXr2f58uU8ffqUDz/8kIEDB7Jv3z7SsngQnRBCCCGMQ4lCpyWnateuzalTp4iNjSUlJYUDBw5Qv359zfaMjAw+/vhjAgICGDdu3BvPX81RTwo8exJy+/btMTc3Z8uWLaxfv5758+czYsQIzfiTEEIIIYxH39e0FChQgGHDhtG7d2/S0tLo3LkzFStWpH///gwePJiHDx9y+fJlMjIy2L9/PwDly5dn2rRpOp0vR0nKDz/8QHBwMFFRUbRv355Nmzbh5eVFREQEHTp0kCRFCCGEMAH6vgQZoG3btrRt21arbNWqVQBUqFCBq1evvrVzvTJJiY+P58CBAwwaNAh/f39CQ0OxtLQEnmVUkyZNemvBCCGEEEJ3ee2Os9nOSbl8+TKtW7emV69e+Pv7A8+ukQ4MDNRkSi1a5N1HXgshhBC5iVLHxVRlG9vMmTOZO3eu1qSYYcOG8fXXXzNjxgy9ByeEEEKInNP3xFlDyzZJSUhI0PSgvKhevXrExcXpLSghhBBCvD5d7zhrqrKdk5Keno5KpUKp1M5lVCqVXH4shBBCmBhT7hXRRbY9KdWrV8/yNrlLly6lfPnyegtKCCGEEK9PqVDotJgqhVqtVr9sY2JiIgMGDODhw4eULl0aKysrLl++jKurK8uWLcPZ2fm1Trb570tvGm++4LBS91sI5ze7jt02dgi5wrdmZY0dQu7g8Oo7bopn4hYPMXYIuYJzsY4GPV9ycpJO+9na2r3lSN6ObId77O3t2bhxI6dPn+bKlSsolUp69OhBtWrVDBWfEEIIIXJKrTJ2BG/VK++TolAoqFWrFrVq1TJEPEIIIYQQwGvcFl8IIYQQpi6f9aQIIYQQIpfIb8M9QgghhMgtJEkRQgghhCmSnhQhhBBCmKZ8lKSULl0aRRY3eVGr1SgUCq5cuaK3wIQQQgjxmvJTT8p/TzoGaN++Pbt27dJ3PEIIIYTQWT5KUl6UVY+KEEIIIUxIfupJeVE2d88XQgghhEnIp0mK9KQIIYQQJi4/9aQ0btxYk5xERETQpEkT4PnE2UOHDuk/QiGEEELkUD5KUtavX2+oOIQQQgjxhhR5bGpGtkmKr69vprLFixczaNAgvQUkhBBCCF3lrZ4U5evucPjwYX3EIYQQQog3pVbptryGPXv20KpVK5o3b87GjRszbb9y5QodO3akRYsWjBs3jvT0dJ2b89pJilzlI4QQQpgqlY5LzkRERDB//nw2bdrErl272Lp1Kzdv3tSqM3LkSCZOnMj+/ftRq9Vs27ZN59a8dpIyePBgnU8mhBBCCD3SsSclISGB8PDwTEtCQoLW4U+ePEnNmjVxdnbG1taWFi1asG/fPs32e/fu8eTJEypXrgxAx44dtba/rldeghwbG0tycjJ+fn6sWbOGpKQkrl27Rr9+/bC0tNT5xPp2/UwYB9duJCMtjQJFCtFu6GdY29pq1QndE0LYT/tBAa7eXrQd/An2zs6oMjIIWbaafy9eAqBE9ao079cnz16G7Vm6IaVbfo7S3JKEB9e48ONY0lOTXlq/QNmmVOk6i30Tq2ba9m6vJaQmRPJX8BR9hmwSKtQOoNPHUzG3sCL874us/XogT5Ifa9Wp1bIHzboO0azb2Dvh4unLqMCiJMRFGjpkk7J27BQu3rrB3C35c4J+q+o1mf7BAKwsLLjwzy36LZjJ45RkrTpBbTsS1LYDKampXLl7h8+WzicuUfs9tn3cVO7HRjNo2UJDhm9wx89cZdna/TxNS6d4ES/GDe2Eva11lnXVajVT5v1AscJe9OxUX1P+ODGFj0etZPzQTpQp6Weo0HOFdevWsWTJkkzlQUFBWvNQIyMj8fDw0Kx7enpy4cKFl2738PAgIiJC57iy7Uk5f/487du31wSwefNmAMLCwkz6yp+k+Hh2zV9Cl3EjGbRqCS5eBTi4Rjve+zf+5uT2YPrN/ZrPli3E1cebX9c/a9+fh48SHX6PT5fO55Nv5nH74iUuHz9ljKbonaWdC5Xem8659YM4MqclybF3KR0w4qX17dwKUbb1F0DmhK1Yg49wLVxNj9GaDntnd/qOW8nSsV0Z360CUff/odOn0zLVO7VvI1M+qMGUD2owrV9tEmIfsmnu0HydoJQuVIRDC1bQuWFTY4diNO6OTqwZNppO0yZQekAvbj28z4y+A7XqNKxYhS/e60aTMZ9TZdBHhISdZuVg7c/myM7dqFe+oiFDN4q4+ES+mv8j08f14IdVw/H1cmXpmqy/nf9zJ5LPxqzm8PG/tMpPnL3Kh8OWcjs8yhAhG5Fuwz19+vTh0KFDmZY+ffpoH12l0vrC/t8tSXK6/XVlm6TMnTuXRYsW0apVKwBsbW0JCgpi5syZ7N69W+eT6tvf5//At2Rx3Hx9AKjWuiUXfz2mNZ/Gp0QxBq/+Bms7O9KePuVxTCw2Dg4AqFUq0p6kkp6WTnpaGhnp6ZhbWhilLfrmUaIuj+5eJCnmNgC3T2/Gt0q7LOsqLayp3HUOl/dOz7TNrWgNPErW43boZr3GayrK1WjKv1fOERn+bCz2yI6V+Dfvmu0+LXuNICEuit+CVxsiRJP1WYf3Wb13Jz8c+cXYoRhN86rVOXv9Kjfv3wNg2U/B9GiknbS9W7wkB38/x72YZ39Ud5z4jbb+tbEwf9YB3qBCZVq+W4PlIcGGDd4IQs/foExJP97xdQegY+ua7Pv1jyznSP649xSBLarTpF4FrfJtu08yeeT7uLs6GCRmo9FxuMfR0RE/P79Mi6Ojo9bhvby8iIp6nuhFRUXh6en50u3R0dFa219XtklKbGysZlwJoFSpUgC4u7uTlpam80n1LT4qBkd3d826o7sbqcnJpKakaNUzMzfnyslQ5vXuz+2/LlOlWWMAKjdthLWDHfN6f8Tcnv1w9famlH91g7bBUKydvXkS/0Cz/iT+IRbWDphb2WWqW7HjVO6EbiHh4TWtcisHT8q1Hc/vW0aAKm9d/vYyrgX8iI0I16zHRYVja++EtW3WvwDtndxo3nUoWxeONFSIJmvQgplsPqj7GHVeUNDDk7vRz3vTwqOjcLKzx8Hm+ZB06LUrNK5UlXc8CwDQt1kAVhaWuDk44u3qxsKBg+gxayoZ+eAzFxEVTwF3J826p7sjScmpJKWkZqo78tNAWjSqnKl84dQPKVuyoD7DNBH6nThbu3ZtTp06RWxsLCkpKRw4cID69Z8Pqfn6+mJlZcW5c+cACA4O1tr+urJNUv73sqGZM2c+31H52nNuDUatVmXZvZRVzGVq+/PFlnU07NGF9ROmolKpOLJpG3aOTozY+B2ff7+KlMRETu7Im99WFApllt9G1P/zi69Qze6oVencDduuvb/SnKrd53Fp79ekPs7r3ajPKRRKyOJ1U6kysqxfP7AffxzbQ/T9f/QdmsgFlAplVm8frYTj+KULTN60lp3jv+LswhWo1GpiEuJRqdVs/mIiw1Yt4WFcrAGjNp6XDRmYmfDfIaPR8yXIBQoUYNiwYfTu3Zv27dvTpk0bKlasSP/+/bl48SIAc+bMYfr06bRs2ZLk5GR69+6tc3OynThbrlw5duzYQceOHbXKd+3aRdmyZXU+qb45eXhw79oNzfrj6Bis7e2xtH4+ySrm/gMS4x5RqFwZAKo0a8zeJSt4kpjElZOnafXxR5hbWGBuYUGlJg25fPwUtTsGGrwt+lCy2WAKlH32iANzK3sev9AzYu1YgKfJj8hI0+51KlitI0oLa+oNCUZpZoHZ///8167J2LoWpGybMQBYObijUJihNLfiwvZxhmuUAQR+NJFKddsAYGPnSPit52Pezh6+JCXE8vRJcpb7Vm/yHpvnf26QOIXpuxMVgX+pMpp1X3d3Yh8nkJz6RFNmb2PD0Yt/8t2BEAB83NyZ2utDinr5UNTLh3kffQaAl4srZmZmWFta0n/hbMM2RI9WrP+FY6FXAEhKfkKxwl6abVHRCTja22BjbboXbxiP/nvW2rZtS9u2bbXKVq1apfm5dOnS/Pjjj2/lXNkmKSNGjKB79+4cO3aMatWqoVAoOHfuHL///rtmEq0pKla1EgdWryXm3n3cfH0ICzlA6ZrawzWJsXH8OHMeHy+Zh52TIxeO/IZnoYLYOjrgXawol46dpEilCmSkp3Mt9Cx+pUsaqTVv3/VfFnH9l0UAWNq50mDYXuzcCpEUc5tCNbsRcTnzM5mOL+ms+dnGxZcGw/ZybOGzpO3Q9AaabSWbDsLSziVPXt0TvHoKwauftcvBxYPJ68/h6VecyPCbNGzfnz+O7clyP1sHZzz9ivH3xbw5+Vq8vgPnzzL3o08p7uPLzfv3+LhVO4JPn9Cq4+PqzqHp8yg7sA+PU5IZ16UXm48e4vTVS7zT5z1NvUk9PsDd0SnPXd0zsFczBvZqBkDso0S6f7qQO/eiecfXnR0hodSrabpflI0qPz1g0M/Pj+DgYLZt28bx48cBqFChAuPHj8fFxcUgAerC3tmZwGFBbPt6Nhnp6bh4edFhxGDuXb/J7kVL+WTJPAqVL0v9rp1ZO3oCSjMzHFxd6TphNAAtB3xIyLJVLB4wCKVSSZHKFajTub1xG6UnT5Ni+fOHMbzbczEKcwuSY+7wx9ZRADj5lqdi52maZEQ89zguijXTBvDJtM2YW1gSee8W3035EIBCpavSZ/RypnxQAwBPv2LExzwkI0P3uy6KvCUq/hF958/gx7FTsDS34O+H9+g952veLVGK1YNHUmXQR1y/d5cZ2zYROn85SqWC45cuErRsgbFDNwpXZ3smDOvEmK83kp6ega+XK5NGvA/AlevhTFu0gw1L5B5ez+StJEWhzsEtZOPj43FycnpVtVfa/PelNz5GfuCwsoOxQ8g1dh27bewQcoVvzeRbZ444OL66jgAgbvGQV1cSOBfr+OpKb1FKxHGd9rMpUPctR/J2ZDvrKDQ0lLp161KzZk1atmzJtWvXsqsuhBBCCCNSqzN0WkxVtknKrFmzmDp1KufOnaNv377MmTPHUHEJIYQQ4jWpVSqdFlP1ykuQGzVqhK2tLV26dOH+/fuGiksIIYQQrymv9aRkO3H2f+8rYsrP6hFCCCHyO/VL7tWUW2WbpKSlpfHgwQPNzb7+d93Hx0f/EQohhBAiR0y5V0QX2SYpycnJ9OzZU7OuVqvp2bOn5u5/hw5lvp+GEEIIIYzEhOeX6CLbJOXFxzP/rzd5qqEQQggh3r581ZMyZswY3NzcqFWrFhYWmZ8C3L59e33FJYQQQojXlK/mpOzcuZOQkBBOnDhB6dKladWqFbVr1zbphwsKIYQQ+VW+6kkpU6YMZcqUYfjw4Vy8eJGQkBDmzZtH+fLlad26Nf7+/oaKUwghhBD5TLZJyosqVKhAhQoVCAsLY86cOezZs4fff/9dn7EJIYQQ4jWY8o3ZdPHKJEWtVnP27Fn27dvHb7/9RpkyZejVqxeNGjUyRHxCCCGEyKF8NdwzadIkjh07RtmyZQkICGDkyJHY2NgYKjYhhBBCvIZ8NXF269atODs7c/nyZS5fvsy8efO0tst9UoQQQgjTka96UiQJEUIIIXKPfDUnxdfX11BxCCGEEOIN5aueFCGEEELkIvlpTooQQgghcg/pSXkDzlZyZVBO/HM3ytgh5BrxKWpjh5A7eDsaO4Lc4XGCsSPINZIf3TF2CLmCs4HPl6/mpAghhBAi9zBWT8r9+/cZOXIkMTExFClShDlz5mBnZ6dVJzIykjFjxhAdHY1SqWTUqFHUqlUr2+PKQ3iEEEKIPEKtytBpeVOTJ0+me/fu7Nu3j/Lly7N06dJMdWbNmkXjxo0JDg5m7ty5jBgxgoyM7M8tSYoQQgiRR6jVGTotCQkJhIeHZ1oSEl49BJqWlsbZs2dp0aIFAB07dmTfvn2Z6jVr1ow2bdoAUKhQIVJTU0lOTs722DLcI4QQQuQRus5JWbduHUuWLMlUHhQUxKBBg7LdNy4uDnt7e8zNn6UUHh4eREREZKr3XxID8O2331KmTBkcHByyPbYkKUIIIUQeoeuclD59+tChQ4dM5Y6O2pPuf/75Z6ZPn65VVqhQIRQKhVbZ/66/aO3atWzdupUNGza8Mi5JUoQQQog8Qtf5JY6OjpkSkqwEBAQQEBCgVZaWloa/vz8ZGRmYmZkRFRWFp6dnlvvPmjWLo0ePsnHjRry8vF55vlfOSYmPjyc2NlazfubMGa11IYQQQpgGXeekvAkLCwuqVatGSEgIALt27aJ+/fqZ6q1du5bQ0FA2b96cowQFXpGkXL58mdatW/PXX39pyk6cOEFgYCBXr159nTYIIYQQIo+aNGkS27Zto1WrVoSFhTF06FAANm/ezMKFC1Gr1XzzzTfExsbSq1cvAgMDCQwMzHLuyouyHe6ZOXMmc+fOxd/fX1M2bNgwqlWrxowZM1i7du0bN0wIIYQQb8fbuJxYF76+vqxfvz5Tebdu3TQ/nz179rWPm21PSkJCglaC8p969eoRFxf32icTQgghhP6oMzJ0WkxVtj0p6enpqFQqlErtXEalUpGWlqbXwIQQQgjxeozVk6Iv2fakVK9ePcvrppcuXUr58uX1FpQQQgghXl++6kn5/PPPGTBgALt27aJ06dJYWVlx6dIl3NzcWLZsmaFiFEIIIUQOqPJYT0q2SYq9vT0bN27k9OnTXLlyBaVSSY8ePahWrZqh4hNCCCFEDplyr4guXnkzN4VCQa1atTRPKly8eLEkKUIIIYQJymtJyms/YPDw4cP6iEMIIYQQb0itStdpMVWvfVt8tVqtjziEEEII8YZUeawn5bWTlMGDB+sjjrfu0ukz7F29hvS0NHyKFqHbiKFY29lp1Tm2azcndv8ECgXuPt50+XwIDi7OWnW+mzQVRzc3Og/+1IDRG1ahys2p2XUiSnNLYu5e4teVg0lLeZypXu0eUynm357UxGf3yHn04AYHFvfTqtNy6PckPXrIsbWjDBK7IVWtG0D3QV9hYWnF7RsXWTZ5AClJ2q9T/TY9adtziGbd1t4RV08/Pm5ZhPjYSJq/N5AmHT7E0sqGW1fOs2zyANLTnhq6KXrVqnpNpn8wACsLCy78c4t+C2byOEX7cexBbTsS1LYDKampXLl7h8+WzicuUfu13D5uKvdjoxm0bKEhwzc5a8dO4eKtG8zdkvlGWfnJqd9vs3rLadLSMyha0I2RAxphZ2uZZV21Ws2M5YcpWtCNLm0qA5ChUrFozTH+vPoAAP/K7/Bx91rZPggvN8pXlyADxMbGEh4eDsCaNWu4fPkyy5Yt4+lT0/3FmvjoEZtnz+PDL8czbt1q3Ly92LN6jVadu9dvcHjbdoYsmsfob5fj4etDyJrvteoc2vIDf1/8i7zM2sGNRgOXsG9BbzaPqEFCxG1qdZ2UZV2vkjX4ZXE/to2tz7ax9TMlKJXbDMa7dC1DhG1wji7ufDp5FXNGdmFIh/JEhP9Dj8HTMtX7be8GRnatzsiu1RndsxaPYiL4duYQ4mMjqdG4PQFdP2Pqxy35vHMlLK1taPNCQpMXuDs6sWbYaDpNm0DpAb249fA+M/oO1KrTsGIVvnivG03GfE6VQR8REnaalYNHaNUZ2bkb9cpXNGToJqd0oSIcWrCCzg2bGjsUo3uUkMKsFYeZPLQF38/tjncBR1ZuOZ1l3dv34hg+bTe/nbmlVf7LsevcffCIb2e+z+rp7/HnlfscDb2V5TFys7x2CXK2Scr58+dp3749Fy5cAJ7dgx8gLCwsy9vfmoqrYed5p1RJPPx8AajTrg3nDv2qNVRVsGQJxn//LTb2dqQ9fcqj6BjsXngC5I0/LnD17DnqtG1t8PgNqWDFxkTd+p34h88+rJcOfkuJOu9lqqc0t8S9UEUqtx1MlxknaDF0HfZufprtPmXq8E6lJlw6tCbTvnlBxZrN+PtSGA/v3ATgwA8rqBfQLdt9Aj8YSXxsFAe3rwagQZue7Nkwn8SEONRqNaumfcZvezfqPXZDal61OmevX+Xm/XsALPspmB6NtP/Ivlu8JAd/P8e9mCgAdpz4jbb+tbEwf9ax26BCZVq+W4PlIcGGDd7EfNbhfVbv3ckPR34xdihGd/bCXUoV9cTP2xmAwKblOHTiRpbTD3Yd+ItWjcrQwL+YVnmGSk1KajppaRmkpatIS1dhaWFmiPANSq3K0GkxVdkmKXPnzmXRokW0atUKAFtbW4KCgpg5cya7d+82SIC6eBQVjbOHh2bd2cOdJ0nJpCZrdzmbmZtz4fhJvuzSi1sX/sK/ZTMA4qNj2PnNcnqOHYVC+dpzi3MVe1dfEmPuadYTY+9jZeuIhY2DVj07Fy/uXT7GmW3T2Dq6DhE3wwgY/uwPrK2zF3V7z+DgNwNM+s3+Jty9/IiOCNesx0SGY+vghI2dQ5b1HZzdaNtrKGvnPO8h8ClUAicXT8Yt2cOcred4b+AEkh4/0nfoBlXQw5O70ZGa9fDoKJzs7HGwsdWUhV67QuNKVXnHswAAfZsFYGVhiZuDI96ubiwcOIges6aSoVIZPH5TMmjBTDYf3GfsMExCVGwinm72mnUPV3uSUp6SnJL5zudD+tajaZ2SmcpbNiiFg50V7332PZ0+XYdvAUdqv1tYn2EbhSojQ6fFVGX7Fzg2NpbKlStr1kuVKgWAu7u7Sd8WX61SQRbDjApl5qy5Yt3aTNu5lZZ9erB89HjSnz7l+2kzaP/pAJzcXA0QrXEplErUZP428r/JxuOoO/w0631iw68A8MfexTh5FsbJqyjNBq3mxPqxJD/K/mmWuZlCoYQsvrW97MPdtONHhB3ZQ+S9fzRlZubmVKzZhHlfdGd0j5rYO7nSLWiK3mI2BqVCmdXLpJVwHL90gcmb1rJz/FecXbgClVpNTEI8KrWazV9MZNiqJTyMizVg1MLUqVTqrH6lo1TmfD7Juu1hODvasGP5B2xb0ovHSals++mPtxajqchrPSmvfHbPi2bOnKn5+X+f52NKXDw9uX31mmY9PjoaWwd7rGysNWVR9+7zODaWohWe3d7fv2Vzti1Ywp3rN4h58JBdy1YB8Dg2DpUqg/SnT+k6YqhB26Ev1TuPoUjVAAAsbB2IvXNZs83O1YcniXGkp2r3OrkVLIdbofJcP771eaFCga1TAZw8C1On57P5GbbOniiUZphZWHFkVe6eb9Hlk0lUa9AGABs7B+7cvKTZ5urpS2J8LKlPkrPct3aL91gza5hWWVzUA0IP79JMtj320yY6Dxinp+iN405UBP6lymjWfd3diX2cQHLqE02ZvY0NRy/+yXcHQgDwcXNnaq8PKerlQ1EvH+Z99BkAXi6umJmZYW1pSf+Fsw3bEGF03/1whpPn/wUgOfkpRd5x02yLik3Cwc4KG2uLHB/v2NlbDO5TDwtzMyzMzWhRrxRHz9zi/daV33LkxmXK80t0kW2SUq5cOXbs2EHHjh21ynft2kXZsmX1GtibKFWtKruWryIq/B4efr6c2BNC+draEzoTYmL5ftoMRq78BnsnJ8IO/Yp34UIULV+OL1+YRf/zug0kxSfkqat7zv44nbM/TgfAxtGdLjNP4ORVlPiHtyjfpC//nAvJtI9araJunxk8uHaKx1F3KNe0HzF3LvPg2im+H/T8OU7VO32BtYNbnri6Z+uyyWxdNhkARxcP5v5wHq93ivPwzk2adx7A2SN7stzPzsEZr4LFuPbnKa3yUwd3ULtZZw7v/I6nqU+o3qgdf18K03s7DOnA+bPM/ehTivv4cvP+PT5u1Y7g0ye06vi4unNo+jzKDuzD45RkxnXpxeajhzh99RLv9Hk+H2pSjw9wd3TK91f35FcfvleDD9+rAUBcfDL9vthG+INH+Hk7s+fQJeq85lBNicIeHDl9kyrlfElPz+Dk+X8pW7yAHiI3LnWG6d7zRBfZJikjRoyge/fuHDt2jGrVqqFQKDh37hy///67ZhKtKXJwcab7qGGsmTyN9PR03L296TF6BHeuXWfL3IWMWvkNxSqWp1mPriz5/AuUZmY4ubnSb8pEY4ducCkJ0RxeEUSLIeswM7cgPuJfDi37GACPIpVp1H8R28bWJzb8CsfXfkGrEVtQKpUkxt7nlyUfGTl6w0mIi2Lpl/0ZPnsL5uaWRIT/zZIJHwJQtGxVPpm4gpFdqwPgVbAYj6IekPE/PZEHti3H3tGVmZtCUSrNuHX1d1bOy/3J3Iui4h/Rd/4Mfhw7BUtzC/5+eI/ec77m3RKlWD14JFUGfcT1e3eZsW0TofOXo1QqOH7pIkHLFhg7dGHCXJxsGTWwEZMWHiA9PQOfAk6M+aQxANduRTJ71RFWT38/22N81qsOi9Yeo/fwzSiVCqqW96Nr28oGiF68CYX6FXdni4uLY9u2bfzxxx8AVKhQgW7duuHi4vLaJ/s5PO9d7qUP/4x619gh5Bq/Xkkydgi5wo/eefPS8LfucYKxI8g17i3oY+wQcgWfd4ca9HxnV7TSab/qAzP3oJuCV97MzcXFha5duzJw4MBXVRVCCCGEEeW1OSnZzn4NDQ2lbt261KxZk5YtW3Lt2rXsqgshhBDCiPLa1T3ZJimzZs1i6tSpnDt3jr59+zJnzhxDxSWEEEKI15Sv7jibnp5Oo0aNsLW1pUuXLty/f99QcQkhhBDiNalUGTotpirbOSn/ey8US8usH+YkhBBCCOMz5V4RXWTbk5KWlsaDBw+4f/8+9+/fz7QuhBBCCNOhVqXrtLyp+/fv06NHD1q2bMknn3xCUtLLr7xMTEykadOmhIaGvvK42fakJCcn07NnT826Wq2mZ8+eqNVqFAoFhw4deo0mCCGEEEKfjNWTMnnyZLp3707r1q355ptvWLp0KSNHjsyy7tSpU0lIyNnl/tkmKYMGDXrpNoUi589MEEIIIYT+6Tq/JCEhIcvEwdHREUdHx2z3TUtL4+zZs3zzzTcAdOzYkZ49e2aZpISEhGBnZ6d5FuCrZJukjBkzBjc3N2rVqoWFReZnJLRv3z5HJxFCCCGE/unak7Ju3TqWLFmSqTwoKCjbDgt4dtNXe3t7zM2fpRQeHh5ERGR+4Oz9+/dZt24d69ato3///jmKK9skZefOnYSEhHDixAlKly5Nq1atqF27tkk/XFAIIYTIr1SqbG8i/1J9+vShQ4cOmcr/txfl559/Zvr06VplhQoVyjS68r/rKpWKcePGMWHCBKytrcmpbJOUMmXKUKZMGYYPH87FixcJCQlh3rx5lC9fntatW+Pv75/jEwkhhBBCv1QqlU775WRYByAgIICAgACtsrS0NPz9/cnIyMDMzIyoqCg8PT216ty6dYtbt24xbtyzJ7/fuXOH8ePHM3XqVGrWrPnS873ytvj/qVChAhUqVCAsLIw5c+awZ88efv/995zuLoQQQgg907Un5U1YWFhQrVo1QkJCaNu2Lbt27aJ+/fpadYoXL87Ro0c167169SIoKOiVnR2vTFLUajVnz55l3759/Pbbb5QpU4ZevXrRqFEjHZsjhBBCCH0wRpICMGnSJEaPHs2yZcvw9vZm3rx5AGzevJnIyEiGDBmi03GzTVImTZrEsWPHKFu2LAEBAYwcORIbGxudTiSEEEII/VKpdRvueVO+vr6sX78+U3m3bt2yrJ9V3axkm6Rs3boVZ2dnLl++zOXLlzWZ0X/kPilCCCGE6TBWT4q+ZJukSBIihBBCCGPJNknx9fU1VBxCCCGEeEO6Xt1jqnJ8dY8QQgghTFu+Gu5525ad+M2Qp8u1zpUYYOwQco1lMz4ydgi5wqq0i8YOIVdIfnTH2CHkGr5D1xk7hFxBfWyoQc8nSYoQQgghTJIM9wghhBDCJElPihBCCCFMkiQpQgghhDBJxrqZm75IkiKEEELkEdKTIoQQQgiTJBNnhRBCCGGSpCdFCCGEECZJkhQhhBBCmCQZ7hFCCCGESZKeFCGEEEKYJElShBBCCGGS8tpwjzInlZ4+fcqyZcsYNWoUiYmJLFmyhKdPn+o7NiGEEEK8BpVardNiqnKUpEyZMoWUlBQuX76MmZkZd+7cYezYsfqOTQghhBD5WI6SlEuXLvH5559jbm6OjY0NM2fO5OrVq/qOTQghhBCvQaVS6bSYqhzNSVEoFDx9+hSFQgFAXFyc5mchhBBCmIZ8OXG2d+/e9O3bl6ioKKZNm8Yvv/xCUFCQvmMTQgghxGvIl0lK+/btKV++PKGhoWRkZLBixQpKlSql79jeSDVvP3pXrIq50ozb8XEsOnOClPQ0rTofVq5GHb/CPP7/ScD3Hscz+9RR7C0t+eTdWhRxdiU1I52D/9zgpxt5c3irSYnSjG7aEitzc65EPGB48I8kpqZqtneuVJUBtepp1h2srfF2dKLa3K+JTkrUlK/q0ouIxwmMDwk2aPyGdCX0LCHfriMjLQ3vIoV5b/gQrO1steqc2LWHU3t/BgW4eXvz3rBB2Ls4AzCpU3ec3N00dRu+35GqTRoZsgkGc/zMVZat3c/TtHSKF/Fi3NBO2NtaZ1lXrVYzZd4PFCvsRc9O9TXljxNT+HjUSsYP7USZkn6GCt2gTv1+m9VbTpOWnkHRgm6MHNAIO1vLLOuq1WpmLD9M0YJudGlTGYAMlYpFa47x59UHAPhXfoePu9fKtz3da8dO4eKtG8zdst7YoRiNsZKU+/fvM3LkSGJiYihSpAhz5szBzs5Oq87Tp0+ZNWsWYWFhpKWlMWbMGOrWrZvtcXM0J+XatWt888039OjRgzp16jBlyhRu3bqle2v0zNHKisE16jD9xK98+vNOHiY+pk+ldzPVK+3myexTRxl6YDdDD+xm9qmjAHxUuQZP0tMI2reLkQd/4l0vP6p5571fkq62dsxr/x4Dtq6n/uI53I6LZWzTAK06P/55nubLF9J8+UJarVxMVOJjxocEayUon9RpgH+hwgaO3rASH8Wzdc4Cek8cw6g1K3D19iLk27VadcKv3+Tojzv5bOFsRqxairuvD/vWbQAg8m44tg72fL5isWbJqwlKXHwiX83/kenjevDDquH4ermydM2+LOv+cyeSz8as5vDxv7TKT5y9yofDlnI7PMoQIRvFo4QUZq04zOShLfh+bne8CziycsvpLOvevhfH8Gm7+e2M9u/dX45d5+6DR3w7831WT3+PP6/c52io6f5u1pfShYpwaMEKOjdsauxQjE6l1m15U5MnT6Z79+7s27eP8uXLs3Tp0kx1Vq9eTVxcHDt37mTBggWMGTMG9SuuLMpRkjJhwgQ6dOgAQLFixfj0008ZN26cDs0wjCpevtyIjeZB4mMAfr55jQbvFNWqY65UUtTFjY6lK7CoRSCjazfE3fZZ1lfM1Y1f/72FSq0mXaUi7EE4dQoWNnQz9K5BsRL8ef8u/8TGAPD92dN0qFjlpfU/q9uQ6KRENoSFaspqFS5Ko+IlWf9CWV50/dx5CpYsgYefLwC12rbi90NHtD5gfiWL88XaldjY2ZH29CkJ0THYOTgAcPvSFZRKJUuHjWLugCB+Wb8ZVUaGUdqib6Hnb1CmpB/v+LoD0LF1Tfb9+keWv4x+3HuKwBbVaVKvglb5tt0nmTzyfdxdHQwSszGcvXCXUkU98fN2BiCwaTkOnbiR5eu068BftGpUhgb+xbTKM1RqUlLTSUvLIC1dRVq6CksLM0OEb1I+6/A+q/fu5Icjvxg7FKPTNUlJSEggPDw805KQkPDKc6alpXH27FlatGgBQMeOHdm3L/MXk59//pn+/fujUCgoUaIEa9aseTtJSkpKCvXrP++GrVOnDikpKTnZ1SjcbeyITk7WrEenJGFnaYmNuYWmzM3GlgsRD9jw13kG7w/mWkwU4+s2BuB6TBSNChfFTKHA2tyc2n6FcLG2MXg79M3HyZn78fGa9QcJ8ThaW2NvZZWproutLQNq1+PLfXs1ZQUcHJgS0Jag7VvIMOHZ4W/Do6honD3cNetOHu48SU4mNVn7c2Bmbs5fJ07xVbcPuHXxL6q1ePbNTqXKoETVynz09RQ+nTeDa2HnORG8l7woIiqeAu5OmnVPd0eSklNJSknNVHfkp4G0aFQ5U/nCqR9StmRBfYZpdFGxiXi62WvWPVztSUp5SnJKWqa6Q/rWo2mdkpnKWzYohYOdFe999j2dPl2HbwFHar9bWJ9hm6RBC2ay+WDWvXX5TYZKrdOybt06mjRpkmlZt27dK88ZFxeHvb095ubPZpB4eHgQERGRqd7t27c5e/Ys3bt3p0uXLkRHR6NUZp+G5GhOiqurK5s3b6Zdu3YAhISE4Obm9oq9jEepAMicnb14w5qIpESmHDuoWd957RJdylWigJ093/0RRt/K1VjQoh1xKSn8EXGf0m6eBojcsJQKBeosXqesEo6e7/pz4Opl7sTFAs96or7p3J0v9+0l8v97rPIytUoNWYzzZ/UBK1+nFuXr1CI0ZB+rx0zki3Wr8G/VUqtO/c7tObFzD/U6BuotZmNRq9VZzokwe8Uvo/xGpVKT1cwRpTLn80nWbQ/D2dGGHcs/IPVpOhPm7WPbT3/wfuvKby1OkbvoOnTTp08fzYjJixwdHbXWf/75Z6ZPn65VVqhQoUyf+ax+B2RkZPDw4UM2btzItWvX+Oijj/j5559xcHh5j2mOkpTp06czefJkZs2ahYWFBdWrV2fatGk52dUoopKTKOnmoVl3s7HlcWoqqRnpmrLCTi4UdnbhyO0Xx28VpKtU2FhYsPbPMBL/f0Lte2Uq8CDx1V1euc29+EdU8Xv+bdXLwZG45GRS0jJ/k2tXviITQnZr1iv5+FHIxZVJLdoA4GHvgJlSgZW5OSN3b9d/8Abm7OnBnavXNOsJ0THYONhjafN8Mmj0vfs8joujSPlyAFRv0YztC5eSkpjI1dAwvIsVwadokWeV1WqU5nmnW37F+l84FnoFgKTkJxQr7KXZFhWdgKO9DTbWWU8IzU++++EMJ8//C0By8lOKvPP8y15UbBIOdlbYWFu8ZO/Mjp29xeA+9bAwN8PC3IwW9Upx9MwtSVLyMV2TFEdHx0wJSVYCAgIICNCeu5iWloa/vz8ZGRmYmZkRFRWFp2fmL/bu7u60bt0ahUJB6dKl8fLy4p9//qFixYovPV+OkhQfHx9WrFiRk6om4feH9/mwcnW87R14kPiYgGKlCL1/R6uOCjUDqvpzJTqSiKREAoqX4nZ8LDEpyfSqUBVbCwtWnA/F2cqaZkVLMuvUEeM0Ro+O/n2diS1aU8TVjX9iY+hVvSYHrl3OVM/J2obCru6E3b2tKTsXfofq855n0583bIqrrV2evbqn1LtV2LviW6LC7+Hh58upvSGUq1VTq05CbCybvp7NsOWLsHNy4vzhI3gVfgc7R0ce/nubi8dP0nviGDLS0zkRvJeqTRoapzF6MLBXMwb2agZA7KNEun+6kDv3onnH150dIaHUq1nWyBGahg/fq8GH79UAIC4+mX5fbCP8wSP8vJ3Zc+gSdV5zqKZEYQ+OnL5JlXK+pKdncPL8v5QtXkAPkYvcwhgX91hYWFCtWjVCQkJo27Ytu3bt0poi8p9GjRoREhJC2bJluXv3Lg8ePKBIkSLZHjvbJGXgwIGsWLGCxo0bZ9l1c+jQoddsimHEpz5h4ZnjjK7TCHOlkoeJj5kfeoziLm4EVa/D0AO7uRP/iJXnQxlfrwlKhYKY5GRmn/oNgB+vXGCYf30WtwxEAWz663du/v/k0rwkJimJz3f9wMouPbEwM+d2bAxDdm6loo8vc9p1pvnyhQAUdnUj4nEC6Xl83kl27F2ceX/EENZPnU5GWjpuPt50HfU5d6/d4Id5i/h8xWKKVihP4+5dWDZiDEqlGU5urnzw5XgAmvXqxq4ly5k7IAhVejoV69elRkALI7dKP1yd7ZkwrBNjvt5IenoGvl6uTBrxPgBXroczbdEONiwZbOQojc/FyZZRAxsxaeEB0tMz8CngxJhPns2Lu3YrktmrjrB6+vvZHuOzXnVYtPYYvYdvRqlUULW8H13bVjZA9MJUGevX9KRJkxg9ejTLli3D29ubefPmAbB582YiIyMZMmQII0aMYMqUKbRu3RqAr776KtuhHgCFOpuptZGRkXh6enLhwoUs56D4+vq+ViPabV37WvXzq3OXrxg7hFxjWb+PjB1CrlA/7aKxQ8gVkh/deXUlAYDv0FdPqBSgPva7Qc83toVuF3l8vd80L4bJtiflvzGlL774gp9//tkgAQkhhBBCN3nshrM5m5NSunRpdu3aRcWKFbG2fj5R0MfHR2+BCSGEEOL15LVR+RwlKX/++ScXLlzQuumKQqEw2TkpQgghRH6Ur3pSIiIimDVrFnZ2dlSpUoURI0bk6BIlIYQQQhheXktSsr270tixY/H09GT48OGkpaVluoGLEEIIIUxHhlqt02KqXtmT8u233wLPboXfvn17Q8QkhBBCCJF9kmJhYaH184vrQgghhDAt+XLi7H+yuqGbEEIIIUxDXpuTkm2ScuPGDZo0aaJZj4iIoEmTJpoHiMnVPUIIIYTpyFdJyv79+w0VhxBCCCHeUL4a7nnd294LIYQQwnhM+UodXbzWnBQhhBBCmK58NdwjhBBCiNwjXw33CCGEECL3kJ4UIYQQQpgkSVKEEEIIYZJk4qwQQgghTJLMSRFCCCGEScprwz0KtTqP9Q0JIYQQIk9QGjsAIYQQQoisSJIihBBCCJMkSYoQQgghTJIkKUIIIYQwSZKkCCGEEMIkSZIihBBCCJMkSYoQQgghTJIkKUIIIYQwSZKkCCGEEMIk5ckkZcqUKQwePFir7Pjx4zRp0oTExEQjRZU7hIeH07hx40zlpUqVIjQ0lCpVqhAYGEj79u1p2bIlgwcPzrWvaWJiIpMnT6ZNmzYEBgbSq1cvLl269NL6vXr1IjQ0lIsXLzJu3LjXOlepUqXeNFyTEh4eTqlSpZg4caJW+ZUrVyhVqhQ7duygcePGtGrVisDAQNq1a0fHjh05ffq0pu7du3cZMmQITZs2pUWLFnTr1o1z58699Hwve1+aMkO/TvD672tTFh4eTvny5TW/c1q3bk3fvn15+PChVr2IiAj69+9vpCiFXqnzoMTERHWjRo3UBw8eVKvVanVSUpK6SZMm6tOnTxs5MtN39+5ddaNGjTKVlyxZUn369Gl1z549tcoHDRqknjNnjqHCe2syMjLUXbt2Vc+fP1+dlpamVqvV6lOnTqlr1aqljo2NzXKfnj176vweKlmypM6xmqK7d++qa9SooW7YsKE6PT1dUz5nzhx1zZo11du3b1c3atRIfffuXc22Q4cOqevUqaNWq9Xq2NhYdd26ddXbtm3TbD9//ry6Tp066qioqCzP97L3pSkz9Ouky/valGX1/z59+nT1sGHDjBSRMLQ82ZNiZ2fHV199xdSpU0lOTmbRokU0btwYGxsbunXrRocOHfjwww+5e/cuAGfOnNGUN2nShIMHDwIwevRoPv74YwICAjh8+LAxm2SyatSowY0bN4wdxmsLDQ3lwYMHDB48GHPzZ8/ZrFmzJtOnT2fkyJFs27ZNU7dXr178+eefWvv26tVLs23WrFl06dKFZs2acfToUeDZN8Bu3boRGBio9S06KSmJL774go4dOxIYGMjevXsB2LFjB7169aJt27bMmzePPXv2EBgYSMeOHRk8eDCpqal6f01el52dHWXKlOHs2bOashMnTlC7du0s6/v7+xMVFUVcXBxbt26latWqvPfee5rtVapUYfTo0aSkpOg9dkMy5OuU3ftalUcej+vv78+NGzdo3LgxQ4cOpUWLFly4cEHT03bv3j169+5NmzZt6Ny5M1evXgVg165ddOjQgcDAQMaOHWuSnymRWZ59CnLt2rWpW7cuY8aM4datW2zatIkePXqwfPlyfHx8OHbsGBMmTGDt2rVs2LCBr776imLFinHq1Cm+/vprmjZtCoCzszPLly83cmsMKzIyksDAwFfWS05O5vDhw9SoUcMAUb1dly9fpnTp0iiV2nl6gwYNsLKyYvHixbz//vvcu3eP2NhYKlWq9NJjpaWlsXXrVg4fPszChQtp0KABU6dOpWPHjrz33nvs2rWLrVu3ArBs2TLKlSvHzJkzSUxMpGvXrppjR0REEBISgrm5OU2aNGHbtm24ubkxc+ZMbt26RZkyZfT3gugoICCA/fv3U7NmTS5cuECpUqVQv+SZpXv37qVw4cK4uLjwxx9/ULdu3Ux12rRp89Jz5fR9aYoM9Tpl977OC9LS0ti/fz+VK1fmxIkT1K9fnwULFhAeHq6pM3nyZFq0aEGPHj04evQoy5YtIygoiG3btrFlyxasrKyYO3cu3377LZ9++qkRWyNyIs8mKfCsJ6Rhw4Z88803PHjwgLt37/LJJ59otv83l2L27Nn8+uuv7Nu3jz///JOkpCRNnYoVKxo8bmPz9PQkODhYq+y/sf+//vpL84ciPT2dmjVr0rdvX4PH+KaUSiVWVlZZbvP392fChAmEh4cTHBz8yj+M9erVA6BEiRI8evQIeNY7N3fuXADatWvH+PHjATh58iRPnjxh+/btwLNE77+eqLJly2q+/TZq1Ihu3bpp5iGYYoIC0LhxYxYsWIBKpeLnn38mICCAkJAQzfYBAwZgYWFBWloa3t7eLFiwQLNNoVBofh41ahTXrl0jOTmZrl270q9fv0znyu59aeoM9Tpl977OrV5MTp8+fUrFihUZPnw4J06cyPLLw9mzZ5k3bx7wLDlr0KABGzZs4Pbt27z//vvAs2SnbNmyhmuE0FmeTlLs7e1xdHTE19eXxMRE/Pz8NL/kMjIyiI6OBqB79+74+/vj7+9PrVq1GDFihOYY1tbWRondVJUvX57169cbO4w3Vr58eTZt2oRardb6IzBv3jxq165N+/bt+emnn/j555/59ttvsz3Wf38UXjwOoPmmrFAoNN9sVSoVs2fPply5cgBER0fj5OTEnj17tN5r48eP5+rVqxw9epSRI0cSFBRkkr0IdnZ2lC5dmnPnznH69GmGDx+u9cd35cqV+Pn5ZdqvQoUKnD9/nh49egAwa9YsABYvXkxycjKHDh1i0aJFwLM/8J06dTJAa/THUK9T7dq1s31f16xZU5/N1IusktP/ZJWQ/Zfow7PP4N9//01GRgYBAQGaLwtJSUlkZGToJ2DxVuXJOSlZKVq0KPHx8YSFhQGwfft2RowYwaNHj/j3338ZMmQI9evX59ChQ/LmzQeqVauGm5sbS5Ys0fx/Hzt2jB07dlC8eHE6duzIli1b8Pb2pkCBAq99/Nq1a7N7924ADhw4oBn/rlmzJps3bwaefUNs164dDx480No3PT2d5s2b4+LiwsCBAwkMDOTKlStv0ly9CggIYO7cuZQvX17rD0R2/rtCZceOHZpkLjo6mj/++AOlUkmTJk0IDg4mODiYIUOG6DN8gzHE6/Sq93V+UK1aNX766SfgWc/lhAkT8Pf355dffiEmJga1Ws2XX37JunXrjBypyIk83ZPyIktLSxYuXMi0adNITU3F3t6emTNn4uzsTOfOnWndujXm5ubUrFmTJ0+ekJycbOyQhR4pFAqWLl3K9OnTadOmDebm5ri4uLBy5Urc3d0B8Pb2pkOHDjodf+LEiYwcOZKtW7dSvnx57OzsAAgKCuLLL7+kTZs2ZGRkMHLkSN555x1N8gzPvgkOHjyYDz/8ECsrK9zc3JgxY8abN1pPGjVqxLhx414rmXB1dWXLli2auQEZGRlYWFjQrl07evfurcdojccQr1NO3td53cSJExk/fjybNm3CxsaGr776iuLFixMUFESfPn1QqVSUKVOGAQMGGDtUkQMK9ctmbwmRT6nVaiIjI+nVqxd79+7F0tLS2CEJIUS+lG+Ge4TIqf379xMYGMjnn38uCYoQQhiR9KQIIYQQwiRJT4oQQgghTJIkKUIIIYQwSZKkCCGEEMIkSZIihBBCCJMkSYoQQgghTJIkKUIIIYQwSf8H+vKUZvwfa/EAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,5))\n", "c= df.corr()\n", "sns.heatmap(c,cmap=\"BrBG\",annot=True)\n", "c" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "1ROThOLQfRZw" }, "source": [ "### Scatterplot\n", "\n", "We generally use scatter plots to find the correlation between two variables. Here the scatter plots are plotted between Horsepower and Price and we can see the plot below. With the plot given below, we can easily draw a trend line. These features provide a good scattering of points." ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 401 }, "colab_type": "code", "id": "2aOfHNFefSrX", "outputId": "4b5286f0-5419-48bc-d2de-476aeb36f022" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(10,6))\n", "ax.scatter(df['HP'], df['Price'])\n", "ax.set_xlabel('HP')\n", "ax.set_ylabel('Price')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "hQXy8o_gKFS5" }, "source": [ "**Hence the above are some of the steps involved in Exploratory data analysis, these are some general steps that you must follow in order to perform EDA. There are many more yet to come but for now, this is more than enough idea as to how to perform a good EDA given any data sets. Stay tuned for more updates.**\n", "\n", "## Thank you." ] } ], "metadata": { "colab": { "collapsed_sections": [], "include_colab_link": true, "name": "Exploratory data Analysis.ipynb", "provenance": [], "version": "0.3.2" }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.7" } }, "nbformat": 4, "nbformat_minor": 1 }