diff --git a/011/data/Social_Network_Ads.csv b/011/data/Social_Network_Ads.csv new file mode 100644 index 00000000..ef8b6963 --- /dev/null +++ b/011/data/Social_Network_Ads.csv @@ -0,0 +1,401 @@ +Age,EstimatedSalary,Purchased +19,19000,0 +35,20000,0 +26,43000,0 +27,57000,0 +19,76000,0 +27,58000,0 +27,84000,0 +32,150000,1 +25,33000,0 +35,65000,0 +26,80000,0 +26,52000,0 +20,86000,0 +32,18000,0 +18,82000,0 +29,80000,0 +47,25000,1 +45,26000,1 +46,28000,1 +48,29000,1 +45,22000,1 +47,49000,1 +48,41000,1 +45,22000,1 +46,23000,1 +47,20000,1 +49,28000,1 +47,30000,1 +29,43000,0 +31,18000,0 +31,74000,0 +27,137000,1 +21,16000,0 +28,44000,0 +27,90000,0 +35,27000,0 +33,28000,0 +30,49000,0 +26,72000,0 +27,31000,0 +27,17000,0 +33,51000,0 +35,108000,0 +30,15000,0 +28,84000,0 +23,20000,0 +25,79000,0 +27,54000,0 +30,135000,1 +31,89000,0 +24,32000,0 +18,44000,0 +29,83000,0 +35,23000,0 +27,58000,0 +24,55000,0 +23,48000,0 +28,79000,0 +22,18000,0 +32,117000,0 +27,20000,0 +25,87000,0 +23,66000,0 +32,120000,1 +59,83000,0 +24,58000,0 +24,19000,0 +23,82000,0 +22,63000,0 +31,68000,0 +25,80000,0 +24,27000,0 +20,23000,0 +33,113000,0 +32,18000,0 +34,112000,1 +18,52000,0 +22,27000,0 +28,87000,0 +26,17000,0 +30,80000,0 +39,42000,0 +20,49000,0 +35,88000,0 +30,62000,0 +31,118000,1 +24,55000,0 +28,85000,0 +26,81000,0 +35,50000,0 +22,81000,0 +30,116000,0 +26,15000,0 +29,28000,0 +29,83000,0 +35,44000,0 +35,25000,0 +28,123000,1 +35,73000,0 +28,37000,0 +27,88000,0 +28,59000,0 +32,86000,0 +33,149000,1 +19,21000,0 +21,72000,0 +26,35000,0 +27,89000,0 +26,86000,0 +38,80000,0 +39,71000,0 +37,71000,0 +38,61000,0 +37,55000,0 +42,80000,0 +40,57000,0 +35,75000,0 +36,52000,0 +40,59000,0 +41,59000,0 +36,75000,0 +37,72000,0 +40,75000,0 +35,53000,0 +41,51000,0 +39,61000,0 +42,65000,0 +26,32000,0 +30,17000,0 +26,84000,0 +31,58000,0 +33,31000,0 +30,87000,0 +21,68000,0 +28,55000,0 +23,63000,0 +20,82000,0 +30,107000,1 +28,59000,0 +19,25000,0 +19,85000,0 +18,68000,0 +35,59000,0 +30,89000,0 +34,25000,0 +24,89000,0 +27,96000,1 +41,30000,0 +29,61000,0 +20,74000,0 +26,15000,0 +41,45000,0 +31,76000,0 +36,50000,0 +40,47000,0 +31,15000,0 +46,59000,0 +29,75000,0 +26,30000,0 +32,135000,1 +32,100000,1 +25,90000,0 +37,33000,0 +35,38000,0 +33,69000,0 +18,86000,0 +22,55000,0 +35,71000,0 +29,148000,1 +29,47000,0 +21,88000,0 +34,115000,0 +26,118000,0 +34,43000,0 +34,72000,0 +23,28000,0 +35,47000,0 +25,22000,0 +24,23000,0 +31,34000,0 +26,16000,0 +31,71000,0 +32,117000,1 +33,43000,0 +33,60000,0 +31,66000,0 +20,82000,0 +33,41000,0 +35,72000,0 +28,32000,0 +24,84000,0 +19,26000,0 +29,43000,0 +19,70000,0 +28,89000,0 +34,43000,0 +30,79000,0 +20,36000,0 +26,80000,0 +35,22000,0 +35,39000,0 +49,74000,0 +39,134000,1 +41,71000,0 +58,101000,1 +47,47000,0 +55,130000,1 +52,114000,0 +40,142000,1 +46,22000,0 +48,96000,1 +52,150000,1 +59,42000,0 +35,58000,0 +47,43000,0 +60,108000,1 +49,65000,0 +40,78000,0 +46,96000,0 +59,143000,1 +41,80000,0 +35,91000,1 +37,144000,1 +60,102000,1 +35,60000,0 +37,53000,0 +36,126000,1 +56,133000,1 +40,72000,0 +42,80000,1 +35,147000,1 +39,42000,0 +40,107000,1 +49,86000,1 +38,112000,0 +46,79000,1 +40,57000,0 +37,80000,0 +46,82000,0 +53,143000,1 +42,149000,1 +38,59000,0 +50,88000,1 +56,104000,1 +41,72000,0 +51,146000,1 +35,50000,0 +57,122000,1 +41,52000,0 +35,97000,1 +44,39000,0 +37,52000,0 +48,134000,1 +37,146000,1 +50,44000,0 +52,90000,1 +41,72000,0 +40,57000,0 +58,95000,1 +45,131000,1 +35,77000,0 +36,144000,1 +55,125000,1 +35,72000,0 +48,90000,1 +42,108000,1 +40,75000,0 +37,74000,0 +47,144000,1 +40,61000,0 +43,133000,0 +59,76000,1 +60,42000,1 +39,106000,1 +57,26000,1 +57,74000,1 +38,71000,0 +49,88000,1 +52,38000,1 +50,36000,1 +59,88000,1 +35,61000,0 +37,70000,1 +52,21000,1 +48,141000,0 +37,93000,1 +37,62000,0 +48,138000,1 +41,79000,0 +37,78000,1 +39,134000,1 +49,89000,1 +55,39000,1 +37,77000,0 +35,57000,0 +36,63000,0 +42,73000,1 +43,112000,1 +45,79000,0 +46,117000,1 +58,38000,1 +48,74000,1 +37,137000,1 +37,79000,1 +40,60000,0 +42,54000,0 +51,134000,0 +47,113000,1 +36,125000,1 +38,50000,0 +42,70000,0 +39,96000,1 +38,50000,0 +49,141000,1 +39,79000,0 +39,75000,1 +54,104000,1 +35,55000,0 +45,32000,1 +36,60000,0 +52,138000,1 +53,82000,1 +41,52000,0 +48,30000,1 +48,131000,1 +41,60000,0 +41,72000,0 +42,75000,0 +36,118000,1 +47,107000,1 +38,51000,0 +48,119000,1 +42,65000,0 +40,65000,0 +57,60000,1 +36,54000,0 +58,144000,1 +35,79000,0 +38,55000,0 +39,122000,1 +53,104000,1 +35,75000,0 +38,65000,0 +47,51000,1 +47,105000,1 +41,63000,0 +53,72000,1 +54,108000,1 +39,77000,0 +38,61000,0 +38,113000,1 +37,75000,0 +42,90000,1 +37,57000,0 +36,99000,1 +60,34000,1 +54,70000,1 +41,72000,0 +40,71000,1 +42,54000,0 +43,129000,1 +53,34000,1 +47,50000,1 +42,79000,0 +42,104000,1 +59,29000,1 +58,47000,1 +46,88000,1 +38,71000,0 +54,26000,1 +60,46000,1 +60,83000,1 +39,73000,0 +59,130000,1 +37,80000,0 +46,32000,1 +46,74000,0 +42,53000,0 +41,87000,1 +58,23000,1 +42,64000,0 +48,33000,1 +44,139000,1 +49,28000,1 +57,33000,1 +56,60000,1 +49,39000,1 +39,71000,0 +47,34000,1 +48,35000,1 +48,33000,1 +47,23000,1 +45,45000,1 +60,42000,1 +39,59000,0 +46,41000,1 +51,23000,1 +50,20000,1 +36,33000,0 +49,36000,1 \ No newline at end of file diff --git a/011/exercise/readme.md b/011/exercise/readme.md new file mode 100644 index 00000000..74146e81 --- /dev/null +++ b/011/exercise/readme.md @@ -0,0 +1,21 @@ + Exercise goal +- Learn the basics of Machine Learning +- Learn what an ML model +- Learn Decision Trees Model +- Learn how to evaluate models using cross validation score checking. +- Learn how to use feature scaling for better performance + +# Data + +The file `Social_Network_Ads.csv` (see [./Social_Network_Ads.csv](https://raw.githubusercontent.com/gimseng/99-ML-Learning-Projects/master/011/data/Social_Network_Ads.csv)). + + +# Task +- Follow the Jupyter Notebook in this section(exercie)and complete the required tasks: + + +`Socialads.ipynb` + + +Note: Try doing the tasks first yourself only use solution file as a reference document. + diff --git a/011/exercise/socialads (1).ipynb b/011/exercise/socialads (1).ipynb new file mode 100644 index 00000000..255465d0 --- /dev/null +++ b/011/exercise/socialads (1).ipynb @@ -0,0 +1,869 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "socialads.ipynb", + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "lv5_B6OGCloF" + }, + "source": [ + "**Hi - Welcome to the Decision trees exercise.**** This is a reference notebook for the tasks given in exercise section.\n", + "The first half of this notebook is meant for data preprocessing, it's not require but heavily encouraged to go over them and understand what is going on.\n", + "The main task of the assignment is in the second half of the notebook\n", + "\n", + "Run cells below which import all required libraries**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Lz6zPtogMMOz" + }, + "source": [ + "#Importing Libraries\n" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "PQywqqybLxk8" + }, + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "%matplotlib inline" + ], + "execution_count": 2, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "s7Z_QxClMpml" + }, + "source": [ + "# Importing dataset\n", + "\n", + "And viewing first and last rows" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "nsMq20W_Mw_-" + }, + "source": [ + "dataset = pd.read_csv(\"/content/Social_Network_Ads.csv\")\n", + "dataset.head()\n" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 200 + }, + "id": "Lh8zkiheNfBV", + "outputId": "b05f23d7-4aa7-4880-b58e-066ff44768d0" + }, + "source": [ + "dataset.tail()" + ], + "execution_count": 4, + "outputs": [ + { + "output_type": "execute_result", + "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", + "
AgeEstimatedSalaryPurchased
39546410001
39651230001
39750200001
39836330000
39949360001
\n", + "
" + ], + "text/plain": [ + " Age EstimatedSalary Purchased\n", + "395 46 41000 1\n", + "396 51 23000 1\n", + "397 50 20000 1\n", + "398 36 33000 0\n", + "399 49 36000 1" + ] + }, + "metadata": {}, + "execution_count": 4 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "5RPHn1cBOo4m" + }, + "source": [ + "# Performing Analysis and Checking For null values\n" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "GbMxXvnaO2jA", + "outputId": "dfbbcc84-dcde-4682-a7f5-a374b19335f4" + }, + "source": [ + "dataset.shape" + ], + "execution_count": 5, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(400, 3)" + ] + }, + "metadata": {}, + "execution_count": 5 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "p--_2qNPPPWs" + }, + "source": [ + "We are having three columns named Age, EstimatedSalary and purchased. Age is the age of viewer viewing adds and EstimatedSalary is their salaries. Purchase(0) signifies the viwer did not purchased it , while purchase(1) signifies he/she purchased it." + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "KnQMaYZ-P1NU", + "outputId": "e7712380-a704-4f0d-b57c-44fb0b8bce89" + }, + "source": [ + "#lets check-out for null values\n", + "dataset.isnull().sum()" + ], + "execution_count": 6, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Age 0\n", + "EstimatedSalary 0\n", + "Purchased 0\n", + "dtype: int64" + ] + }, + "metadata": {}, + "execution_count": 6 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "manbGD_nP_pA" + }, + "source": [ + " **Luckily in our dataset we dont have any null values(empty). **\n", + " Please note that in most of the projects you will get values which you need to address and remove first, before moving forward." + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 290 + }, + "id": "EVYsMh0SQhap", + "outputId": "749e7376-b926-4465-8a30-c85ec31f9106" + }, + "source": [ + "#let's view the statistical information regarding the dataset\n", + "dataset.describe()" + ], + "execution_count": 7, + "outputs": [ + { + "output_type": "execute_result", + "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", + "
AgeEstimatedSalaryPurchased
count400.000000400.000000400.000000
mean37.65500069742.5000000.357500
std10.48287734096.9602820.479864
min18.00000015000.0000000.000000
25%29.75000043000.0000000.000000
50%37.00000070000.0000000.000000
75%46.00000088000.0000001.000000
max60.000000150000.0000001.000000
\n", + "
" + ], + "text/plain": [ + " Age EstimatedSalary Purchased\n", + "count 400.000000 400.000000 400.000000\n", + "mean 37.655000 69742.500000 0.357500\n", + "std 10.482877 34096.960282 0.479864\n", + "min 18.000000 15000.000000 0.000000\n", + "25% 29.750000 43000.000000 0.000000\n", + "50% 37.000000 70000.000000 0.000000\n", + "75% 46.000000 88000.000000 1.000000\n", + "max 60.000000 150000.000000 1.000000" + ] + }, + "metadata": {}, + "execution_count": 7 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 347 + }, + "id": "8noZtNWcRVBk", + "outputId": "1d14ebfc-51a3-45ac-88d5-b19419dc68e1" + }, + "source": [ + "sns.countplot(dataset[\"Purchased\"])" + ], + "execution_count": 8, + "outputs": [ + { + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.7/dist-packages/seaborn/_decorators.py:43: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n", + " FutureWarning\n" + ], + "name": "stderr" + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 8 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "s-eN7U4BShqi" + }, + "source": [ + "We can see around 1/3 of total peoples are actually purchasing adds." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "tcPPB6B7StDY" + }, + "source": [ + "#Let's Try analyzing data by visualization" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 607 + }, + "id": "B26Y02DFS7gc", + "outputId": "ed3b9058-5705-4c03-bd07-9ca6b89daaa9" + }, + "source": [ + "plt.figure(figsize=(20,10))\n", + "dataset.groupby(['Age'])['Purchased'].count().plot.bar()\n", + "#plt.ylabel('Avg Salary')\n", + "#plt.title(\"Top 10 Highest Paying Jobs\",fontsize=20)\n", + "plt.show()" + ], + "execution_count": 9, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zDZ3Cu9RElhQ" + }, + "source": [ + "# Proceed with any different visual data analysis in the next two cells \n", + "(Optional but encouraged)" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "jfW7pvyPE6jO" + }, + "source": [ + "" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "BKbCNrvzE6uh" + }, + "source": [ + "" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "4t6R5J__FM-f" + }, + "source": [ + "# After you have done visualisation and analysis\n", + " Try to write some concluding points you understood from data,like which among the two factors does our output most depend, is there any particular trend or not,etc." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Auvnj9MLF8uc" + }, + "source": [ + "" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "WpEJrTXqdszq" + }, + "source": [ + "**Splitting dataset into dependent and independent variable.**\n", + " Here age and estimated salary are the two independent variable(x) and Purchased(y) is dependent variable based on two factors age and estimated salary." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "2wwZ7eJuWa9T" + }, + "source": [ + "y= dataset.pop(\"Purchased\")\n", + "x= dataset" + ], + "execution_count": 12, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "aWilK5DDfKS4" + }, + "source": [ + "# Now let split dataset into training testing for model." + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "HRo1A8B2fffF", + "outputId": "72ce3ce6-9a9f-4bbf-bbd9-4e7dbf3952f7" + }, + "source": [ + "from sklearn.model_selection import train_test_split\n", + "x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.25, random_state=3)\n", + "\n", + "\n", + "print(x_train.shape)\n", + "print(x_test.shape)\n", + "print(y_train.shape)\n", + "print(y_test.shape)" + ], + "execution_count": 13, + "outputs": [ + { + "output_type": "stream", + "text": [ + "(300, 2)\n", + "(100, 2)\n", + "(300,)\n", + "(100,)\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Eq0TTLwEgyQ_" + }, + "source": [ + "# Feature Scaling\n", + "Before feeding and fitting we'll normalise the range of the independent data or features of data,for better results." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Oaq2oVFkGfdg" + }, + "source": [ + "**Task 1** \n", + "your task here is to use ant type of feature scaling methods from sklearn, and standardise or normalise the input features for both training as well as testing data. And print them to see the changes when there was'nt any scaling." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "8qH2GoqFHNRZ" + }, + "source": [ + "" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "ud_Kql6CHNZv" + }, + "source": [ + "" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "logsVHF2HNiM" + }, + "source": [ + "" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "x-MQ4r-li5lq" + }, + "source": [ + "# Building model" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "2P9IrAPJi98A", + "outputId": "8462df33-7f1b-4ea2-baa4-de84db949997" + }, + "source": [ + "from sklearn.tree import DecisionTreeClassifier\n", + "classifier = DecisionTreeClassifier(criterion = 'entropy', random_state = 0)\n", + "classifier.fit(X_train, y_train)" + ], + "execution_count": 17, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "DecisionTreeClassifier(ccp_alpha=0.0, class_weight=None, criterion='entropy',\n", + " max_depth=None, max_features=None, max_leaf_nodes=None,\n", + " min_impurity_decrease=0.0, min_impurity_split=None,\n", + " min_samples_leaf=1, min_samples_split=2,\n", + " min_weight_fraction_leaf=0.0, presort='deprecated',\n", + " random_state=0, splitter='best')" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "B--we8lejjaa", + "outputId": "bbf8f4db-68e7-4ecc-b6c4-95ee638463e0" + }, + "source": [ + "y_pred = classifier.predict(X_test)\n", + "y_pred" + ], + "execution_count": 18, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", + " 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,\n", + " 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0,\n", + " 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0,\n", + " 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0])" + ] + }, + "metadata": {}, + "execution_count": 18 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "i9bEGgC4kLRp", + "outputId": "b8e15315-d089-40e4-8bfc-60022f374b89" + }, + "source": [ + "y_test" + ], + "execution_count": 19, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "376 0\n", + "16 1\n", + "365 1\n", + "82 0\n", + "107 0\n", + " ..\n", + "324 1\n", + "80 0\n", + "271 1\n", + "395 1\n", + "5 0\n", + "Name: Purchased, Length: 100, dtype: int64" + ] + }, + "metadata": {}, + "execution_count": 19 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "WvpPLZfzkoZE", + "outputId": "66583e32-0415-43d5-a99c-72697f94f7ff" + }, + "source": [ + "round(np.mean(y_pred), 2)" + ], + "execution_count": 20, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.4" + ] + }, + "metadata": {}, + "execution_count": 20 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "htr37gEXqTF3" + }, + "source": [ + "# Model Evaluation:" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "3DyKMZHtHX6y" + }, + "source": [ + "**Task 2**\n", + "Your next task is to check the accuracy of our model, on both training as well as testing data. try to implement score or accuracy function(method), also find out cross validation score of model." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "7jLLocuVrhx_" + }, + "source": [ + "# Checking results visually" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 347 + }, + "id": "qVNvjoD5l7J4", + "outputId": "1cec2853-d824-46d5-b3a9-2cda9f7bfa81" + }, + "source": [ + "from matplotlib.colors import ListedColormap\n", + "X_set, y_set = sc.inverse_transform(X_train), y_train\n", + "X1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 10, stop = X_set[:, 0].max() + 10, step = 0.25),\n", + " np.arange(start = X_set[:, 1].min() - 1000, stop = X_set[:, 1].max() + 1000, step = 0.25))\n", + "plt.contourf(X1, X2, classifier.predict(sc.transform(np.array([X1.ravel(), X2.ravel()]).T)).reshape(X1.shape),\n", + " alpha = 0.75, cmap = ListedColormap(('red', 'green')))\n", + "plt.xlim(X1.min(), X1.max())\n", + "plt.ylim(X2.min(), X2.max())\n", + "for i, j in enumerate(np.unique(y_set)):\n", + " plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1], c = ListedColormap(('red', 'green'))(i), label = j)\n", + "plt.title('Decision Tree Classification (Training set)')\n", + "plt.xlabel('Age')\n", + "plt.ylabel('Estimated Salary')\n", + "plt.legend()\n", + "plt.show()" + ], + "execution_count": 30, + "outputs": [ + { + "output_type": "stream", + "text": [ + "*c* argument looks like a single numeric RGB or RGBA sequence, which should be avoided as value-mapping will have precedence in case its length matches with *x* & *y*. Please use the *color* keyword-argument or provide a 2-D array with a single row if you intend to specify the same RGB or RGBA value for all points.\n", + "*c* argument looks like a single numeric RGB or RGBA sequence, which should be avoided as value-mapping will have precedence in case its length matches with *x* & *y*. Please use the *color* keyword-argument or provide a 2-D array with a single row if you intend to specify the same RGB or RGBA value for all points.\n" + ], + "name": "stderr" + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "cS2QSTJQIbos" + }, + "source": [ + "# **Task 3**\n", + "Your third and final task is to, use the same method as in above cell and try to visulaise the result for training set." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "IVkTxy8SItEo" + }, + "source": [ + "" + ], + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/011/solution/readme.md b/011/solution/readme.md new file mode 100644 index 00000000..52d58579 --- /dev/null +++ b/011/solution/readme.md @@ -0,0 +1,7 @@ +# My solution +- Follow the solution notebook: + +`Socialads.ipynb`(In this solution section.) + +It contains solution to all of the tasks listed in the exercise section notebook. +Note: After completing exercise and solution , do Import the dataset again , and try practicing building projrct on our own. Only try to come at solution notebook, when you feel to cross-check. \ No newline at end of file diff --git a/011/solution/socialads (1).ipynb b/011/solution/socialads (1).ipynb new file mode 100644 index 00000000..c365cfb5 --- /dev/null +++ b/011/solution/socialads (1).ipynb @@ -0,0 +1,1521 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "socialads.ipynb", + "provenance": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "lv5_B6OGCloF" + }, + "source": [ + "**Hi - Welcome to the Decision trees exercise\n", + "solution. This is a reference notebook for the tasks given in exercise section. \n", + "Run cells below which import all required libraries**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Lz6zPtogMMOz" + }, + "source": [ + "#Importing Libraries\n" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "PQywqqybLxk8" + }, + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "%matplotlib inline" + ], + "execution_count": 2, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "s7Z_QxClMpml" + }, + "source": [ + "# Importing dataset\n", + "\n", + "And viewing first and last rows" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 200 + }, + "id": "nsMq20W_Mw_-", + "outputId": "683f2242-c51f-42a9-adc6-fd22c606ca78" + }, + "source": [ + "dataset = pd.read_csv(\"/content/Social_Network_Ads.csv\")\n", + "dataset.head()\n" + ], + "execution_count": 3, + "outputs": [ + { + "output_type": "execute_result", + "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", + "
AgeEstimatedSalaryPurchased
019190000
135200000
226430000
327570000
419760000
\n", + "
" + ], + "text/plain": [ + " Age EstimatedSalary Purchased\n", + "0 19 19000 0\n", + "1 35 20000 0\n", + "2 26 43000 0\n", + "3 27 57000 0\n", + "4 19 76000 0" + ] + }, + "metadata": {}, + "execution_count": 3 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "id": "Lh8zkiheNfBV", + "outputId": "b05f23d7-4aa7-4880-b58e-066ff44768d0" + }, + "source": [ + "dataset.tail()" + ], + "execution_count": 4, + "outputs": [ + { + "output_type": "execute_result", + "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", + "
AgeEstimatedSalaryPurchased
39546410001
39651230001
39750200001
39836330000
39949360001
\n", + "
" + ], + "text/plain": [ + " Age EstimatedSalary Purchased\n", + "395 46 41000 1\n", + "396 51 23000 1\n", + "397 50 20000 1\n", + "398 36 33000 0\n", + "399 49 36000 1" + ] + }, + "metadata": {}, + "execution_count": 4 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "5RPHn1cBOo4m" + }, + "source": [ + "# Performing Analysis and Checking For null values\n" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "GbMxXvnaO2jA", + "outputId": "dfbbcc84-dcde-4682-a7f5-a374b19335f4" + }, + "source": [ + "dataset.shape" + ], + "execution_count": 5, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(400, 3)" + ] + }, + "metadata": {}, + "execution_count": 5 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "p--_2qNPPPWs" + }, + "source": [ + "We are having three columns named Age, EstimatedSalary and purchased. Age is the age of viewer viewing adds and EstimatedSalary is their salaries. Purchase(0) signifies the viwer did not purchased it , while purchase(1) signifies he/she purchased it." + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "KnQMaYZ-P1NU", + "outputId": "e7712380-a704-4f0d-b57c-44fb0b8bce89" + }, + "source": [ + "#lets check-out for null values\n", + "dataset.isnull().sum()" + ], + "execution_count": 6, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "Age 0\n", + "EstimatedSalary 0\n", + "Purchased 0\n", + "dtype: int64" + ] + }, + "metadata": {}, + "execution_count": 6 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "manbGD_nP_pA" + }, + "source": [ + " **Luckily in our dataset we dont have any null values(empty). **\n", + " Please note that in most of the projects you will get values which you need to address and remove first, before moving forward." + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 300 + }, + "id": "EVYsMh0SQhap", + "outputId": "749e7376-b926-4465-8a30-c85ec31f9106" + }, + "source": [ + "#let's view the statistical information regarding the dataset\n", + "dataset.describe()" + ], + "execution_count": 7, + "outputs": [ + { + "output_type": "execute_result", + "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", + "
AgeEstimatedSalaryPurchased
count400.000000400.000000400.000000
mean37.65500069742.5000000.357500
std10.48287734096.9602820.479864
min18.00000015000.0000000.000000
25%29.75000043000.0000000.000000
50%37.00000070000.0000000.000000
75%46.00000088000.0000001.000000
max60.000000150000.0000001.000000
\n", + "
" + ], + "text/plain": [ + " Age EstimatedSalary Purchased\n", + "count 400.000000 400.000000 400.000000\n", + "mean 37.655000 69742.500000 0.357500\n", + "std 10.482877 34096.960282 0.479864\n", + "min 18.000000 15000.000000 0.000000\n", + "25% 29.750000 43000.000000 0.000000\n", + "50% 37.000000 70000.000000 0.000000\n", + "75% 46.000000 88000.000000 1.000000\n", + "max 60.000000 150000.000000 1.000000" + ] + }, + "metadata": {}, + "execution_count": 7 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 350 + }, + "id": "8noZtNWcRVBk", + "outputId": "1d14ebfc-51a3-45ac-88d5-b19419dc68e1" + }, + "source": [ + "sns.countplot(dataset[\"Purchased\"])" + ], + "execution_count": 8, + "outputs": [ + { + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.7/dist-packages/seaborn/_decorators.py:43: FutureWarning: Pass the following variable as a keyword arg: x. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n", + " FutureWarning\n" + ], + "name": "stderr" + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 8 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "s-eN7U4BShqi" + }, + "source": [ + "We can see around 1/3 of total peoples are actually purchasing adds." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "tcPPB6B7StDY" + }, + "source": [ + "#Let's Try analyzing data by visualization" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 608 + }, + "id": "B26Y02DFS7gc", + "outputId": "ed3b9058-5705-4c03-bd07-9ca6b89daaa9" + }, + "source": [ + "plt.figure(figsize=(20,10))\n", + "dataset.groupby(['Age'])['Purchased'].count().plot.bar()\n", + "#plt.ylabel('Avg Salary')\n", + "#plt.title(\"Top 10 Highest Paying Jobs\",fontsize=20)\n", + "plt.show()" + ], + "execution_count": 9, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 362 + }, + "id": "buYpmbdYVM-F", + "outputId": "5299c8b0-644a-4d53-a5b4-573e7b8cf6d4" + }, + "source": [ + "plt.figure(figsize=(10,5))\n", + "dataset.groupby(['EstimatedSalary'])['Purchased'].mean().sort_values(ascending=False).head(10).plot.bar()\n", + "#plt.ylabel('Avg Salary')\n", + "#plt.title(\"Top 10 Highest Paying Jobs\",fontsize=20)\n", + "plt.show()" + ], + "execution_count": 10, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 341 + }, + "id": "7CznlPPTWHNx", + "outputId": "e1e5c043-5c28-4508-cfc0-af7480bee596" + }, + "source": [ + "# Plot a heatMap\n", + "plt.figure(figsize=(10,5))\n", + "sns.heatmap(dataset.corr(),annot=True)" + ], + "execution_count": 11, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 11 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "6zH6ATlydL6N" + }, + "source": [ + "From heatmap we can conclude that Age is more coreleated to purchase of adds than, their respective salaries." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "WpEJrTXqdszq" + }, + "source": [ + "**Splitting dataset into dependent and independent variable.**\n", + " Here age and estimated salary are the two independent variable(x) and Purchased(y) is dependent variable based on two factors age and estimated salary." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "2wwZ7eJuWa9T" + }, + "source": [ + "y= dataset.pop(\"Purchased\")\n", + "x= dataset" + ], + "execution_count": 12, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "aWilK5DDfKS4" + }, + "source": [ + "# Now let split dataset into training testing for model." + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "HRo1A8B2fffF", + "outputId": "72ce3ce6-9a9f-4bbf-bbd9-4e7dbf3952f7" + }, + "source": [ + "from sklearn.model_selection import train_test_split\n", + "x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.25, random_state=3)\n", + "\n", + "\n", + "print(x_train.shape)\n", + "print(x_test.shape)\n", + "print(y_train.shape)\n", + "print(y_test.shape)" + ], + "execution_count": 13, + "outputs": [ + { + "output_type": "stream", + "text": [ + "(300, 2)\n", + "(100, 2)\n", + "(300,)\n", + "(100,)\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Eq0TTLwEgyQ_" + }, + "source": [ + "# Feature Scaling\n", + "Before feeding and fitting we'll standardise the independent data for better results." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "UQVjPWSphKzd" + }, + "source": [ + "from sklearn.preprocessing import StandardScaler\n", + "sc = StandardScaler()\n", + "X_train = sc.fit_transform(x_train)\n", + "X_test = sc.transform(x_test)\n" + ], + "execution_count": 14, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "F1HFYvpphUl7", + "outputId": "2e00abb7-f871-413a-e766-a323929705cd" + }, + "source": [ + "print(X_train)\n" + ], + "execution_count": 15, + "outputs": [ + { + "output_type": "stream", + "text": [ + "[[-0.3421581 1.27208252]\n", + " [-1.82711187 0.37301368]\n", + " [-0.99182537 -0.46611725]\n", + " [-1.17744459 0.28310679]\n", + " [ 1.88527256 -1.39515506]\n", + " [-0.52777732 1.96136864]\n", + " [-1.08463498 -1.57496883]\n", + " [ 0.40031879 1.15220668]\n", + " [-0.62058693 0.13326198]\n", + " [ 0.77155723 -1.42512402]\n", + " [ 0.21469957 -0.67589998]\n", + " [ 2.07089178 0.40298264]\n", + " [-0.89901576 -0.31627244]\n", + " [-1.64149265 -1.00555856]\n", + " [-0.3421581 -0.79577583]\n", + " [ 0.86436684 -1.48506195]\n", + " [ 0.30750918 0.31307575]\n", + " [-1.36306382 0.37301368]\n", + " [ 0.40031879 0.31307575]\n", + " [ 0.77155723 0.37301368]\n", + " [ 0.21469957 -0.37621037]\n", + " [-1.27025421 -0.3462414 ]\n", + " [-0.06372927 -0.22636556]\n", + " [-1.08463498 -1.60493779]\n", + " [ 0.95717645 -1.18537233]\n", + " [-1.17744459 0.31307575]\n", + " [ 0.30750918 0.0433551 ]\n", + " [-0.43496771 2.38093411]\n", + " [ 1.42122451 0.37301368]\n", + " [-0.06372927 -0.52605517]\n", + " [ 1.04998606 0.13326198]\n", + " [ 1.04998606 -0.91565167]\n", + " [-1.45587343 -0.1963966 ]\n", + " [-1.73430226 0.01338614]\n", + " [-1.45587343 -1.27527921]\n", + " [ 0.02908034 1.27208252]\n", + " [ 1.88527256 0.94242395]\n", + " [-1.45587343 -1.54499987]\n", + " [ 0.12188996 -0.25633452]\n", + " [-0.24934849 1.15220668]\n", + " [-1.73430226 0.19319991]\n", + " [-0.06372927 0.07332406]\n", + " [ 0.30750918 0.07332406]\n", + " [-0.24934849 0.07332406]\n", + " [-0.06372927 -0.49608621]\n", + " [ 1.32841489 0.61276537]\n", + " [ 0.02908034 0.31307575]\n", + " [ 0.21469957 -0.31627244]\n", + " [ 1.69965334 1.90143072]\n", + " [-0.06372927 0.16323094]\n", + " [-0.99182537 0.4329516 ]\n", + " [ 1.69965334 1.03233083]\n", + " [-0.24934849 -0.28630348]\n", + " [-0.06372927 -0.37621037]\n", + " [ 0.30750918 0.07332406]\n", + " [-1.45587343 -0.43614829]\n", + " [ 1.14279567 -1.48506195]\n", + " [ 0.21469957 0.07332406]\n", + " [-1.64149265 0.37301368]\n", + " [-0.99182537 -0.37621037]\n", + " [ 1.51403412 -1.30524818]\n", + " [ 0.21469957 0.16323094]\n", + " [-0.89901576 0.52285848]\n", + " [ 0.40031879 -0.16642763]\n", + " [ 1.97808217 0.40298264]\n", + " [ 0.77155723 -1.24531025]\n", + " [ 0.30750918 -0.7358379 ]\n", + " [ 0.86436684 -1.06549648]\n", + " [-0.71339654 -1.63490675]\n", + " [ 1.97808217 0.55282745]\n", + " [-0.24934849 -0.94562064]\n", + " [-0.24934849 -0.25633452]\n", + " [-1.73430226 0.46292056]\n", + " [ 0.40031879 -0.49608621]\n", + " [ 2.07089178 -0.82574479]\n", + " [ 0.4931284 1.90143072]\n", + " [ 0.40031879 0.10329302]\n", + " [ 1.23560528 2.29102722]\n", + " [-0.80620615 2.35096514]\n", + " [ 0.86436684 1.12223772]\n", + " [-1.36306382 -1.48506195]\n", + " [ 1.79246295 -0.28630348]\n", + " [-0.71339654 0.58279641]\n", + " [ 0.95717645 0.79257914]\n", + " [-0.15653888 1.45189629]\n", + " [ 0.67874762 -0.7358379 ]\n", + " [ 0.86436684 -0.61596206]\n", + " [-0.15653888 2.2310893 ]\n", + " [-1.08463498 0.49288952]\n", + " [-1.17744459 -1.42512402]\n", + " [-0.89901576 0.28310679]\n", + " [ 0.95717645 0.13326198]\n", + " [ 1.14279567 -1.00555856]\n", + " [-0.24934849 0.22316887]\n", + " [ 2.07089178 -0.70586894]\n", + " [-1.54868304 0.55282745]\n", + " [-0.62058693 -1.54499987]\n", + " [-0.06372927 -1.09546544]\n", + " [-1.64149265 0.13326198]\n", + " [-0.06372927 0.31307575]\n", + " [-0.24934849 -1.42512402]\n", + " [ 0.67874762 0.28310679]\n", + " [-0.80620615 0.40298264]\n", + " [ 1.79246295 -1.09546544]\n", + " [ 0.21469957 0.0433551 ]\n", + " [ 1.79246295 1.57177214]\n", + " [-0.71339654 0.52285848]\n", + " [-0.43496771 -0.85571375]\n", + " [-0.24934849 -0.5859931 ]\n", + " [ 0.4931284 1.27208252]\n", + " [-0.99182537 0.61276537]\n", + " [-1.64149265 -1.39515506]\n", + " [ 1.04998606 -1.00555856]\n", + " [ 0.77155723 1.42192733]\n", + " [-1.73430226 -1.33521714]\n", + " [ 0.95717645 -1.03552752]\n", + " [ 0.77155723 -1.12543441]\n", + " [-0.06372927 0.0433551 ]\n", + " [ 0.02908034 -0.55602413]\n", + " [-1.64149265 0.49288952]\n", + " [-0.89901576 0.46292056]\n", + " [-1.08463498 0.31307575]\n", + " [-0.24934849 -0.3462414 ]\n", + " [-0.15653888 0.88248602]\n", + " [ 0.02908034 -0.43614829]\n", + " [-0.43496771 -0.01658283]\n", + " [-1.36306382 -1.24531025]\n", + " [ 1.14279567 -0.76580687]\n", + " [ 1.32841489 2.05127553]\n", + " [-0.24934849 -1.33521714]\n", + " [ 0.86436684 -0.67589998]\n", + " [-0.06372927 0.31307575]\n", + " [-0.43496771 -0.55602413]\n", + " [-0.52777732 1.51183422]\n", + " [-0.06372927 2.2310893 ]\n", + " [-0.71339654 0.28310679]\n", + " [ 0.40031879 0.61276537]\n", + " [-0.52777732 -1.54499987]\n", + " [ 0.21469957 0.16323094]\n", + " [-0.62058693 -1.06549648]\n", + " [ 0.67874762 -1.30524818]\n", + " [ 1.04998606 0.49288952]\n", + " [-1.08463498 -0.52605517]\n", + " [-0.24934849 -0.43614829]\n", + " [ 1.32841489 1.33202045]\n", + " [-1.45587343 0.34304471]\n", + " [-1.82711187 -0.76580687]\n", + " [-0.62058693 1.45189629]\n", + " [ 0.30750918 -0.55602413]\n", + " [-1.17744459 0.61276537]\n", + " [-1.08463498 0.34304471]\n", + " [ 1.60684373 -0.91565167]\n", + " [ 0.95717645 -1.09546544]\n", + " [-0.24934849 -0.76580687]\n", + " [-0.24934849 -0.37621037]\n", + " [-0.99182537 -1.15540337]\n", + " [-1.27025421 -0.43614829]\n", + " [-0.62058693 0.0433551 ]\n", + " [ 0.21469957 -0.25633452]\n", + " [-1.27025421 0.58279641]\n", + " [-1.08463498 -1.18537233]\n", + " [ 0.40031879 0.16323094]\n", + " [ 0.12188996 1.93139968]\n", + " [ 1.04998606 0.58279641]\n", + " [-0.06372927 0.01338614]\n", + " [-0.24934849 -0.91565167]\n", + " [-1.27025421 -1.27527921]\n", + " [ 0.40031879 -0.46611725]\n", + " [ 0.02908034 -0.13645867]\n", + " [ 0.95717645 2.05127553]\n", + " [ 0.12188996 0.28310679]\n", + " [ 1.97808217 1.81152383]\n", + " [ 0.02908034 -0.5859931 ]\n", + " [-1.54868304 -0.04655179]\n", + " [-0.99182537 -1.48506195]\n", + " [ 1.23560528 1.93139968]\n", + " [ 1.69965334 -0.28630348]\n", + " [-0.99182537 0.55282745]\n", + " [ 0.95717645 -1.21534129]\n", + " [ 0.86436684 1.30205149]\n", + " [ 0.12188996 0.10329302]\n", + " [ 0.95717645 0.61276537]\n", + " [ 0.02908034 0.0433551 ]\n", + " [-1.17744459 -1.09546544]\n", + " [ 1.32841489 -1.45509298]\n", + " [-1.08463498 -1.63490675]\n", + " [ 0.95717645 1.93139968]\n", + " [-1.54868304 -1.60493779]\n", + " [-1.36306382 -0.1963966 ]\n", + " [ 0.95717645 -0.85571375]\n", + " [-1.36306382 -0.10648971]\n", + " [ 0.12188996 0.0433551 ]\n", + " [ 2.07089178 1.15220668]\n", + " [ 0.12188996 1.57177214]\n", + " [ 1.42122451 1.03233083]\n", + " [ 0.21469957 -0.37621037]\n", + " [-0.80620615 0.40298264]\n", + " [ 0.40031879 -0.13645867]\n", + " [-0.3421581 -0.79577583]\n", + " [-0.24934849 -1.27527921]\n", + " [-1.27025421 -1.39515506]\n", + " [-0.24934849 0.0433551 ]\n", + " [-0.15653888 1.69164799]\n", + " [-0.15653888 0.16323094]\n", + " [ 1.79246295 0.13326198]\n", + " [-0.89901576 0.4329516 ]\n", + " [ 1.88527256 -0.94562064]\n", + " [-1.82711187 -0.52605517]\n", + " [ 0.21469957 2.17115137]\n", + " [ 1.97808217 -0.82574479]\n", + " [-0.06372927 0.13326198]\n", + " [ 0.12188996 0.79257914]\n", + " [ 1.04998606 -0.13645867]\n", + " [ 0.86436684 -1.39515506]\n", + " [-0.24934849 -0.13645867]\n", + " [ 0.30750918 0.07332406]\n", + " [ 1.51403412 1.15220668]\n", + " [-0.06372927 0.70267225]\n", + " [-0.15653888 -0.1963966 ]\n", + " [-1.73430226 -1.45509298]\n", + " [ 0.02908034 -0.5859931 ]\n", + " [ 0.02908034 -0.25633452]\n", + " [ 0.12188996 -0.31627244]\n", + " [-0.71339654 1.39195837]\n", + " [-0.52777732 1.42192733]\n", + " [ 0.12188996 0.16323094]\n", + " [ 1.88527256 -0.67589998]\n", + " [-1.08463498 1.45189629]\n", + " [ 0.21469957 1.12223772]\n", + " [-0.43496771 -1.24531025]\n", + " [ 0.77155723 -0.31627244]\n", + " [-1.08463498 -0.79577583]\n", + " [ 1.14279567 0.55282745]\n", + " [-0.15653888 1.66167903]\n", + " [-0.06372927 0.25313783]\n", + " [-0.71339654 1.96136864]\n", + " [-1.82711187 -0.04655179]\n", + " [ 2.07089178 0.97239291]\n", + " [-0.43496771 -0.79577583]\n", + " [ 0.95717645 1.48186526]\n", + " [ 1.51403412 0.01338614]\n", + " [-0.52777732 0.91245499]\n", + " [ 1.88527256 2.2310893 ]\n", + " [ 1.97808217 2.20112034]\n", + " [-0.89901576 -0.9755896 ]\n", + " [ 0.77155723 0.28310679]\n", + " [-0.15653888 -0.52605517]\n", + " [-0.24934849 0.16323094]\n", + " [-0.24934849 -1.48506195]\n", + " [-0.06372927 -0.43614829]\n", + " [ 0.02908034 0.0433551 ]\n", + " [-0.3421581 0.07332406]\n", + " [-0.06372927 2.29102722]\n", + " [ 2.07089178 -1.06549648]\n", + " [-0.43496771 -0.28630348]\n", + " [-1.82711187 0.49288952]\n", + " [ 1.79246295 -1.30524818]\n", + " [-0.80620615 -0.79577583]\n", + " [-1.73430226 -1.51503091]\n", + " [-0.99182537 -0.3462414 ]\n", + " [-0.80620615 -0.79577583]\n", + " [ 1.60684373 1.81152383]\n", + " [-0.62058693 0.58279641]\n", + " [ 0.02908034 1.30205149]\n", + " [ 0.67874762 -1.42512402]\n", + " [-0.06372927 0.22316887]\n", + " [-0.24934849 -0.67589998]\n", + " [-0.15653888 -0.46611725]\n", + " [-0.89901576 -0.76580687]\n", + " [-0.3421581 1.36198941]\n", + " [-0.52777732 2.41090307]\n", + " [ 0.67874762 -1.12543441]\n", + " [-0.15653888 -1.09546544]\n", + " [-1.08463498 -1.03552752]\n", + " [-0.89901576 1.6017411 ]\n", + " [ 0.12188996 0.0433551 ]\n", + " [ 0.4931284 1.78155487]\n", + " [-0.62058693 -0.04655179]\n", + " [ 1.42122451 0.07332406]\n", + " [-1.08463498 0.4329516 ]\n", + " [ 1.51403412 1.03233083]\n", + " [ 1.88527256 0.76261018]\n", + " [ 0.30750918 -0.52605517]\n", + " [-1.08463498 -1.63490675]\n", + " [-0.24934849 0.28310679]\n", + " [ 1.04998606 -1.24531025]\n", + " [-0.80620615 -1.24531025]\n", + " [-0.80620615 -0.25633452]\n", + " [ 0.30750918 -0.31627244]\n", + " [-0.89901576 -0.31627244]\n", + " [-0.80620615 -0.67589998]\n", + " [ 0.40031879 0.28310679]\n", + " [ 0.12188996 1.93139968]\n", + " [ 0.30750918 -1.18537233]\n", + " [ 1.04998606 0.55282745]\n", + " [ 0.30750918 0.07332406]\n", + " [-0.43496771 -1.15540337]\n", + " [-0.24934849 0.8225481 ]\n", + " [-0.62058693 0.19319991]\n", + " [ 0.86436684 -0.5859931 ]]\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "SVBJJxr-h-DP", + "outputId": "b1951d2d-1a8f-4fdc-d58d-18e041836db9" + }, + "source": [ + "print(X_test)" + ], + "execution_count": 16, + "outputs": [ + { + "output_type": "stream", + "text": [ + "[[ 0.77155723 0.13326198]\n", + " [ 0.86436684 -1.33521714]\n", + " [ 1.97808217 -1.21534129]\n", + " [-1.64149265 -0.61596206]\n", + " [-0.99182537 0.58279641]\n", + " [ 0.21469957 0.25313783]\n", + " [ 1.23560528 -1.39515506]\n", + " [-1.36306382 -0.64593102]\n", + " [ 0.58593801 -0.91565167]\n", + " [-0.99182537 -1.57496883]\n", + " [ 0.30750918 -0.28630348]\n", + " [ 0.12188996 -0.82574479]\n", + " [ 0.77155723 0.55282745]\n", + " [-0.24934849 -0.49608621]\n", + " [-1.08463498 -1.12543441]\n", + " [-1.27025421 -1.51503091]\n", + " [-0.71339654 -0.61596206]\n", + " [-1.27025421 0.4329516 ]\n", + " [-0.06372927 2.02130657]\n", + " [ 0.21469957 -0.28630348]\n", + " [-0.52777732 0.49288952]\n", + " [-0.3421581 -1.33521714]\n", + " [-0.80620615 0.31307575]\n", + " [ 0.40031879 -0.13645867]\n", + " [-0.43496771 1.30205149]\n", + " [-0.62058693 -0.3462414 ]\n", + " [ 0.40031879 -0.46611725]\n", + " [ 1.32841489 2.41090307]\n", + " [ 0.30750918 0.28310679]\n", + " [ 0.77155723 -1.39515506]\n", + " [ 0.58593801 2.08124449]\n", + " [-0.89901576 -1.12543441]\n", + " [ 0.40031879 1.03233083]\n", + " [ 0.77155723 0.79257914]\n", + " [-0.24934849 0.55282745]\n", + " [ 0.30750918 -0.52605517]\n", + " [-0.71339654 1.12223772]\n", + " [ 0.02908034 -0.25633452]\n", + " [-0.24934849 0.64273433]\n", + " [-1.64149265 0.37301368]\n", + " [ 1.04998606 2.14118241]\n", + " [-0.99182537 2.02130657]\n", + " [-0.24934849 2.32099618]\n", + " [ 0.12188996 -0.82574479]\n", + " [ 1.04998606 -1.24531025]\n", + " [ 0.40031879 0.01338614]\n", + " [-1.73430226 -1.30524818]\n", + " [ 0.67874762 1.8414928 ]\n", + " [-0.24934849 0.16323094]\n", + " [-1.17744459 0.52285848]\n", + " [-0.89901576 -0.43614829]\n", + " [-0.80620615 0.16323094]\n", + " [-0.15653888 -0.28630348]\n", + " [-0.99182537 0.79257914]\n", + " [ 0.86436684 -1.18537233]\n", + " [ 0.30750918 0.52285848]\n", + " [-1.27025421 -0.43614829]\n", + " [ 0.86436684 1.06229979]\n", + " [-0.62058693 -1.63490675]\n", + " [ 0.21469957 -0.13645867]\n", + " [-0.71339654 -1.57496883]\n", + " [ 1.32841489 -0.94562064]\n", + " [ 0.95717645 2.14118241]\n", + " [-0.24934849 0.10329302]\n", + " [-0.24934849 -0.31627244]\n", + " [-0.06372927 0.28310679]\n", + " [ 0.86436684 -0.79577583]\n", + " [ 2.07089178 -0.82574479]\n", + " [-0.62058693 -0.10648971]\n", + " [ 1.60684373 1.66167903]\n", + " [-1.54868304 0.07332406]\n", + " [ 1.42122451 -1.06549648]\n", + " [-0.71339654 -0.22636556]\n", + " [-0.24934849 -1.39515506]\n", + " [ 0.12188996 0.22316887]\n", + " [-0.24934849 -0.5859931 ]\n", + " [-1.08463498 0.31307575]\n", + " [ 0.21469957 -0.37621037]\n", + " [-0.52777732 -1.54499987]\n", + " [-0.89901576 0.58279641]\n", + " [ 1.42122451 2.20112034]\n", + " [-0.24934849 0.07332406]\n", + " [ 0.40031879 2.38093411]\n", + " [ 0.67874762 -1.42512402]\n", + " [ 0.86436684 -0.55602413]\n", + " [ 0.40031879 0.31307575]\n", + " [ 0.12188996 1.09226876]\n", + " [ 0.02908034 -0.31627244]\n", + " [ 0.30750918 -0.1963966 ]\n", + " [-0.15653888 -0.5859931 ]\n", + " [-0.52777732 1.42192733]\n", + " [-1.27025421 -1.12543441]\n", + " [-1.08463498 0.07332406]\n", + " [ 0.86436684 2.2310893 ]\n", + " [ 0.95717645 -1.09546544]\n", + " [ 0.95717645 1.8414928 ]\n", + " [-0.71339654 0.31307575]\n", + " [ 1.97808217 0.19319991]\n", + " [ 0.77155723 -0.85571375]\n", + " [-0.99182537 -0.3462414 ]]\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "5eE5XYhwiB2n" + }, + "source": [ + "**It's visible that all data is converted to standard values.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "x-MQ4r-li5lq" + }, + "source": [ + "# Building model" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "2P9IrAPJi98A", + "outputId": "8462df33-7f1b-4ea2-baa4-de84db949997" + }, + "source": [ + "from sklearn.tree import DecisionTreeClassifier\n", + "classifier = DecisionTreeClassifier(criterion = 'entropy', random_state = 0)\n", + "classifier.fit(X_train, y_train)" + ], + "execution_count": 17, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "DecisionTreeClassifier(ccp_alpha=0.0, class_weight=None, criterion='entropy',\n", + " max_depth=None, max_features=None, max_leaf_nodes=None,\n", + " min_impurity_decrease=0.0, min_impurity_split=None,\n", + " min_samples_leaf=1, min_samples_split=2,\n", + " min_weight_fraction_leaf=0.0, presort='deprecated',\n", + " random_state=0, splitter='best')" + ] + }, + "metadata": {}, + "execution_count": 17 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "B--we8lejjaa", + "outputId": "bbf8f4db-68e7-4ecc-b6c4-95ee638463e0" + }, + "source": [ + "y_pred = classifier.predict(X_test)\n", + "y_pred" + ], + "execution_count": 18, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0,\n", + " 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,\n", + " 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0,\n", + " 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0,\n", + " 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0])" + ] + }, + "metadata": {}, + "execution_count": 18 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "i9bEGgC4kLRp", + "outputId": "b8e15315-d089-40e4-8bfc-60022f374b89" + }, + "source": [ + "y_test" + ], + "execution_count": 19, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "376 0\n", + "16 1\n", + "365 1\n", + "82 0\n", + "107 0\n", + " ..\n", + "324 1\n", + "80 0\n", + "271 1\n", + "395 1\n", + "5 0\n", + "Name: Purchased, Length: 100, dtype: int64" + ] + }, + "metadata": {}, + "execution_count": 19 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "WvpPLZfzkoZE", + "outputId": "66583e32-0415-43d5-a99c-72697f94f7ff" + }, + "source": [ + "round(np.mean(y_pred), 2)" + ], + "execution_count": 20, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.4" + ] + }, + "metadata": {}, + "execution_count": 20 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "htr37gEXqTF3" + }, + "source": [ + "# Model Evaluation:" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "cY5ot4ZKkvQF", + "outputId": "f2ea400e-bf31-4a62-e1d2-399c61c23cf2" + }, + "source": [ + "#Checking accuracy on Training set\n", + "tree_acc = round(classifier.score(X_train, y_train)*100, 3)\n", + "print(tree_acc,'%')" + ], + "execution_count": 34, + "outputs": [ + { + "output_type": "stream", + "text": [ + "100.0 %\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "kTs8AU00lF6M", + "outputId": "8cece21f-8ec2-4c88-bc4a-e3fa55c7094f" + }, + "source": [ + "#Checking accuracy of Decision Tree model\n", + "y_pred=y_pred.reshape(-1,1)\n", + "\n", + "tree_acc = round(classifier.score(X_test, y_test)*100, 3)\n", + "print(tree_acc,'%')" + ], + "execution_count": 43, + "outputs": [ + { + "output_type": "stream", + "text": [ + "83.0 %\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "uJ3zs8lmnK2j", + "outputId": "c6cffcb2-7e84-4e97-f168-55bc99e95272" + }, + "source": [ + "from sklearn.model_selection import cross_val_score\n", + "cv_dt = cross_val_score(classifier, x_train, y_train, cv = 5, scoring = 'accuracy').mean()\n", + "print('For Decision Trees Classifier :', round(cv_dt,3))" + ], + "execution_count": 29, + "outputs": [ + { + "output_type": "stream", + "text": [ + "For Decision Trees Classifier : 0.87\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "l-IR-Vs7rBmJ" + }, + "source": [ + "**We can see, our model is giving, 100% accuracy on training data, whereas on testing data its around 83% which is quite good.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "7jLLocuVrhx_" + }, + "source": [ + "# Checking results visually" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 349 + }, + "id": "qVNvjoD5l7J4", + "outputId": "1cec2853-d824-46d5-b3a9-2cda9f7bfa81" + }, + "source": [ + "from matplotlib.colors import ListedColormap\n", + "X_set, y_set = sc.inverse_transform(X_train), y_train\n", + "X1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 10, stop = X_set[:, 0].max() + 10, step = 0.25),\n", + " np.arange(start = X_set[:, 1].min() - 1000, stop = X_set[:, 1].max() + 1000, step = 0.25))\n", + "plt.contourf(X1, X2, classifier.predict(sc.transform(np.array([X1.ravel(), X2.ravel()]).T)).reshape(X1.shape),\n", + " alpha = 0.75, cmap = ListedColormap(('red', 'green')))\n", + "plt.xlim(X1.min(), X1.max())\n", + "plt.ylim(X2.min(), X2.max())\n", + "for i, j in enumerate(np.unique(y_set)):\n", + " plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1], c = ListedColormap(('red', 'green'))(i), label = j)\n", + "plt.title('Decision Tree Classification (Training set)')\n", + "plt.xlabel('Age')\n", + "plt.ylabel('Estimated Salary')\n", + "plt.legend()\n", + "plt.show()" + ], + "execution_count": 30, + "outputs": [ + { + "output_type": "stream", + "text": [ + "*c* argument looks like a single numeric RGB or RGBA sequence, which should be avoided as value-mapping will have precedence in case its length matches with *x* & *y*. Please use the *color* keyword-argument or provide a 2-D array with a single row if you intend to specify the same RGB or RGBA value for all points.\n", + "*c* argument looks like a single numeric RGB or RGBA sequence, which should be avoided as value-mapping will have precedence in case its length matches with *x* & *y*. Please use the *color* keyword-argument or provide a 2-D array with a single row if you intend to specify the same RGB or RGBA value for all points.\n" + ], + "name": "stderr" + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 349 + }, + "id": "Qta5bH60mIEm", + "outputId": "920fb26b-7834-4f45-fc2c-53036b6c2cf0" + }, + "source": [ + "from matplotlib.colors import ListedColormap\n", + "X_set, y_set = sc.inverse_transform(X_test), y_test\n", + "X1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 10, stop = X_set[:, 0].max() + 10, step = 0.25),\n", + " np.arange(start = X_set[:, 1].min() - 1000, stop = X_set[:, 1].max() + 1000, step = 0.25))\n", + "plt.contourf(X1, X2, classifier.predict(sc.transform(np.array([X1.ravel(), X2.ravel()]).T)).reshape(X1.shape),\n", + " alpha = 0.75, cmap = ListedColormap(('red', 'green')))\n", + "plt.xlim(X1.min(), X1.max())\n", + "plt.ylim(X2.min(), X2.max())\n", + "for i, j in enumerate(np.unique(y_set)):\n", + " plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1], c = ListedColormap(('red', 'green'))(i), label = j)\n", + "plt.title('Decision Tree Classification (Test set)')\n", + "plt.xlabel('Age')\n", + "plt.ylabel('Estimated Salary')\n", + "plt.legend()\n", + "plt.show()" + ], + "execution_count": 31, + "outputs": [ + { + "output_type": "stream", + "text": [ + "*c* argument looks like a single numeric RGB or RGBA sequence, which should be avoided as value-mapping will have precedence in case its length matches with *x* & *y*. Please use the *color* keyword-argument or provide a 2-D array with a single row if you intend to specify the same RGB or RGBA value for all points.\n", + "*c* argument looks like a single numeric RGB or RGBA sequence, which should be avoided as value-mapping will have precedence in case its length matches with *x* & *y*. Please use the *color* keyword-argument or provide a 2-D array with a single row if you intend to specify the same RGB or RGBA value for all points.\n" + ], + "name": "stderr" + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "dJiPLsGE8aNX" + }, + "source": [ + "df = pd.DataFrame(y_pred)\n", + "df.to_csv(\"submission_values.csv\")\n" + ], + "execution_count": 71, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/011/solution/submission_values.csv b/011/solution/submission_values.csv new file mode 100644 index 00000000..97965ec5 --- /dev/null +++ b/011/solution/submission_values.csv @@ -0,0 +1,101 @@ +,0 +0,1 +1,1 +2,1 +3,0 +4,0 +5,1 +6,1 +7,0 +8,1 +9,0 +10,0 +11,0 +12,1 +13,0 +14,0 +15,0 +16,0 +17,0 +18,1 +19,0 +20,0 +21,0 +22,0 +23,0 +24,1 +25,0 +26,0 +27,1 +28,0 +29,1 +30,1 +31,0 +32,1 +33,1 +34,0 +35,0 +36,0 +37,0 +38,0 +39,0 +40,1 +41,1 +42,1 +43,0 +44,1 +45,1 +46,0 +47,1 +48,0 +49,0 +50,0 +51,0 +52,0 +53,0 +54,1 +55,0 +56,0 +57,1 +58,0 +59,0 +60,0 +61,1 +62,1 +63,0 +64,0 +65,0 +66,1 +67,1 +68,0 +69,1 +70,0 +71,1 +72,0 +73,0 +74,1 +75,0 +76,0 +77,0 +78,0 +79,0 +80,1 +81,0 +82,1 +83,1 +84,1 +85,1 +86,1 +87,0 +88,0 +89,0 +90,1 +91,0 +92,0 +93,1 +94,1 +95,1 +96,0 +97,0 +98,1 +99,0