diff --git a/Day 1/Part 3 - Classification/Decision Tree Classification/decision_tree_classification.ipynb b/Day 1/Part 3 - Classification/Decision Tree Classification/decision_tree_classification.ipynb index f601db9..d223c36 100644 --- a/Day 1/Part 3 - Classification/Decision Tree Classification/decision_tree_classification.ipynb +++ b/Day 1/Part 3 - Classification/Decision Tree Classification/decision_tree_classification.ipynb @@ -1 +1,1589 @@ -{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"decision_tree_classification.ipynb","provenance":[],"collapsed_sections":[],"toc_visible":true,"machine_shape":"hm","authorship_tag":"ABX9TyP02NrvZmmq4qjp5mwU3Mr2"},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"0MRC0e0KhQ0S","colab_type":"text"},"source":["# Decision Tree Classification"]},{"cell_type":"markdown","metadata":{"id":"LWd1UlMnhT2s","colab_type":"text"},"source":["## Importing the libraries"]},{"cell_type":"code","metadata":{"id":"YvGPUQaHhXfL","colab_type":"code","colab":{}},"source":["import numpy as np\n","import matplotlib.pyplot as plt\n","import pandas as pd"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"K1VMqkGvhc3-","colab_type":"text"},"source":["## Importing the dataset"]},{"cell_type":"code","metadata":{"id":"M52QDmyzhh9s","colab_type":"code","colab":{}},"source":["dataset = pd.read_csv('Social_Network_Ads.csv')\n","X = dataset.iloc[:, :-1].values\n","y = dataset.iloc[:, -1].values"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"YvxIPVyMhmKp","colab_type":"text"},"source":["## Splitting the dataset into the Training set and Test set"]},{"cell_type":"code","metadata":{"id":"AVzJWAXIhxoC","colab_type":"code","colab":{}},"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 = 0)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"P3nS3-6r1i2B","colab_type":"code","outputId":"fa90271e-3c0a-43c2-ba6c-cfce4819e98e","executionInfo":{"status":"ok","timestamp":1588269312367,"user_tz":-240,"elapsed":2065,"user":{"displayName":"Hadelin de Ponteves","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhEuXdT7eQweUmRPW8_laJuPggSK6hfvpl5a6WBaA=s64","userId":"15047218817161520419"}},"colab":{"base_uri":"https://localhost:8080/","height":1000}},"source":["print(X_train)"],"execution_count":4,"outputs":[{"output_type":"stream","text":["[[ 44 39000]\n"," [ 32 120000]\n"," [ 38 50000]\n"," [ 32 135000]\n"," [ 52 21000]\n"," [ 53 104000]\n"," [ 39 42000]\n"," [ 38 61000]\n"," [ 36 50000]\n"," [ 36 63000]\n"," [ 35 25000]\n"," [ 35 50000]\n"," [ 42 73000]\n"," [ 47 49000]\n"," [ 59 29000]\n"," [ 49 65000]\n"," [ 45 131000]\n"," [ 31 89000]\n"," [ 46 82000]\n"," [ 47 51000]\n"," [ 26 15000]\n"," [ 60 102000]\n"," [ 38 112000]\n"," [ 40 107000]\n"," [ 42 53000]\n"," [ 35 59000]\n"," [ 48 41000]\n"," [ 48 134000]\n"," [ 38 113000]\n"," [ 29 148000]\n"," [ 26 15000]\n"," [ 60 42000]\n"," [ 24 19000]\n"," [ 42 149000]\n"," [ 46 96000]\n"," [ 28 59000]\n"," [ 39 96000]\n"," [ 28 89000]\n"," [ 41 72000]\n"," [ 45 26000]\n"," [ 33 69000]\n"," [ 20 82000]\n"," [ 31 74000]\n"," [ 42 80000]\n"," [ 35 72000]\n"," [ 33 149000]\n"," [ 40 71000]\n"," [ 51 146000]\n"," [ 46 79000]\n"," [ 35 75000]\n"," [ 38 51000]\n"," [ 36 75000]\n"," [ 37 78000]\n"," [ 38 61000]\n"," [ 60 108000]\n"," [ 20 82000]\n"," [ 57 74000]\n"," [ 42 65000]\n"," [ 26 80000]\n"," [ 46 117000]\n"," [ 35 61000]\n"," [ 21 68000]\n"," [ 28 44000]\n"," [ 41 87000]\n"," [ 37 33000]\n"," [ 27 90000]\n"," [ 39 42000]\n"," [ 28 123000]\n"," [ 31 118000]\n"," [ 25 87000]\n"," [ 35 71000]\n"," [ 37 70000]\n"," [ 35 39000]\n"," [ 47 23000]\n"," [ 35 147000]\n"," [ 48 138000]\n"," [ 26 86000]\n"," [ 25 79000]\n"," [ 52 138000]\n"," [ 51 23000]\n"," [ 35 60000]\n"," [ 33 113000]\n"," [ 30 107000]\n"," [ 48 33000]\n"," [ 41 80000]\n"," [ 48 96000]\n"," [ 31 18000]\n"," [ 31 71000]\n"," [ 43 129000]\n"," [ 59 76000]\n"," [ 18 44000]\n"," [ 36 118000]\n"," [ 42 90000]\n"," [ 47 30000]\n"," [ 26 43000]\n"," [ 40 78000]\n"," [ 46 59000]\n"," [ 59 42000]\n"," [ 46 74000]\n"," [ 35 91000]\n"," [ 28 59000]\n"," [ 40 57000]\n"," [ 59 143000]\n"," [ 57 26000]\n"," [ 52 38000]\n"," [ 47 113000]\n"," [ 53 143000]\n"," [ 35 27000]\n"," [ 58 101000]\n"," [ 45 45000]\n"," [ 23 82000]\n"," [ 46 23000]\n"," [ 42 65000]\n"," [ 28 84000]\n"," [ 38 59000]\n"," [ 26 84000]\n"," [ 29 28000]\n"," [ 37 71000]\n"," [ 22 55000]\n"," [ 48 35000]\n"," [ 49 28000]\n"," [ 38 65000]\n"," [ 27 17000]\n"," [ 46 28000]\n"," [ 48 141000]\n"," [ 26 17000]\n"," [ 35 97000]\n"," [ 39 59000]\n"," [ 24 27000]\n"," [ 32 18000]\n"," [ 46 88000]\n"," [ 35 58000]\n"," [ 56 60000]\n"," [ 47 34000]\n"," [ 40 72000]\n"," [ 32 100000]\n"," [ 19 21000]\n"," [ 25 90000]\n"," [ 35 88000]\n"," [ 28 32000]\n"," [ 50 20000]\n"," [ 40 59000]\n"," [ 50 44000]\n"," [ 35 72000]\n"," [ 40 142000]\n"," [ 46 32000]\n"," [ 39 71000]\n"," [ 20 74000]\n"," [ 29 75000]\n"," [ 31 76000]\n"," [ 47 25000]\n"," [ 40 61000]\n"," [ 34 112000]\n"," [ 38 80000]\n"," [ 42 75000]\n"," [ 47 47000]\n"," [ 39 75000]\n"," [ 19 25000]\n"," [ 37 80000]\n"," [ 36 60000]\n"," [ 41 52000]\n"," [ 36 125000]\n"," [ 48 29000]\n"," [ 36 126000]\n"," [ 51 134000]\n"," [ 27 57000]\n"," [ 38 71000]\n"," [ 39 61000]\n"," [ 22 27000]\n"," [ 33 60000]\n"," [ 48 74000]\n"," [ 58 23000]\n"," [ 53 72000]\n"," [ 32 117000]\n"," [ 54 70000]\n"," [ 30 80000]\n"," [ 58 95000]\n"," [ 26 52000]\n"," [ 45 79000]\n"," [ 24 55000]\n"," [ 40 75000]\n"," [ 33 28000]\n"," [ 44 139000]\n"," [ 22 18000]\n"," [ 33 51000]\n"," [ 43 133000]\n"," [ 24 32000]\n"," [ 46 22000]\n"," [ 35 55000]\n"," [ 54 104000]\n"," [ 48 119000]\n"," [ 35 53000]\n"," [ 37 144000]\n"," [ 23 66000]\n"," [ 37 137000]\n"," [ 31 58000]\n"," [ 33 41000]\n"," [ 45 22000]\n"," [ 30 15000]\n"," [ 19 19000]\n"," [ 49 74000]\n"," [ 39 122000]\n"," [ 35 73000]\n"," [ 39 71000]\n"," [ 24 23000]\n"," [ 41 72000]\n"," [ 29 83000]\n"," [ 54 26000]\n"," [ 35 44000]\n"," [ 37 75000]\n"," [ 29 47000]\n"," [ 31 68000]\n"," [ 42 54000]\n"," [ 30 135000]\n"," [ 52 114000]\n"," [ 50 36000]\n"," [ 56 133000]\n"," [ 29 61000]\n"," [ 30 89000]\n"," [ 26 16000]\n"," [ 33 31000]\n"," [ 41 72000]\n"," [ 36 33000]\n"," [ 55 125000]\n"," [ 48 131000]\n"," [ 41 71000]\n"," [ 30 62000]\n"," [ 37 72000]\n"," [ 41 63000]\n"," [ 58 47000]\n"," [ 30 116000]\n"," [ 20 49000]\n"," [ 37 74000]\n"," [ 41 59000]\n"," [ 49 89000]\n"," [ 28 79000]\n"," [ 53 82000]\n"," [ 40 57000]\n"," [ 60 34000]\n"," [ 35 108000]\n"," [ 21 72000]\n"," [ 38 71000]\n"," [ 39 106000]\n"," [ 37 57000]\n"," [ 26 72000]\n"," [ 35 23000]\n"," [ 54 108000]\n"," [ 30 17000]\n"," [ 39 134000]\n"," [ 29 43000]\n"," [ 33 43000]\n"," [ 35 38000]\n"," [ 41 45000]\n"," [ 41 72000]\n"," [ 39 134000]\n"," [ 27 137000]\n"," [ 21 16000]\n"," [ 26 32000]\n"," [ 31 66000]\n"," [ 39 73000]\n"," [ 41 79000]\n"," [ 47 50000]\n"," [ 41 30000]\n"," [ 37 93000]\n"," [ 60 46000]\n"," [ 25 22000]\n"," [ 28 37000]\n"," [ 38 55000]\n"," [ 36 54000]\n"," [ 20 36000]\n"," [ 56 104000]\n"," [ 40 57000]\n"," [ 42 108000]\n"," [ 20 23000]\n"," [ 40 65000]\n"," [ 47 20000]\n"," [ 18 86000]\n"," [ 35 79000]\n"," [ 57 33000]\n"," [ 34 72000]\n"," [ 49 39000]\n"," [ 27 31000]\n"," [ 19 70000]\n"," [ 39 79000]\n"," [ 26 81000]\n"," [ 25 80000]\n"," [ 28 85000]\n"," [ 55 39000]\n"," [ 50 88000]\n"," [ 49 88000]\n"," [ 52 150000]\n"," [ 35 65000]\n"," [ 42 54000]\n"," [ 34 43000]\n"," [ 37 52000]\n"," [ 48 30000]\n"," [ 29 43000]\n"," [ 36 52000]\n"," [ 27 54000]\n"," [ 26 118000]]\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"8dpDLojm1mVG","colab_type":"code","outputId":"4eaa18a3-6481-42bb-c409-7227565c7fe1","executionInfo":{"status":"ok","timestamp":1588269312368,"user_tz":-240,"elapsed":2059,"user":{"displayName":"Hadelin de Ponteves","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhEuXdT7eQweUmRPW8_laJuPggSK6hfvpl5a6WBaA=s64","userId":"15047218817161520419"}},"colab":{"base_uri":"https://localhost:8080/","height":171}},"source":["print(y_train)"],"execution_count":5,"outputs":[{"output_type":"stream","text":["[0 1 0 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 0 0 1\n"," 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 0 1\n"," 1 1 0 0 1 1 0 0 1 1 0 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 0\n"," 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0\n"," 0 0 1 0 1 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 1 0 0\n"," 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0\n"," 0 1 1 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0\n"," 0 0 1 0 1 1 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1\n"," 0 0 0 0]\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"qbb7i0DH1qui","colab_type":"code","outputId":"5c45ffab-4587-4828-8204-0f4fedf88980","executionInfo":{"status":"ok","timestamp":1588269312369,"user_tz":-240,"elapsed":2055,"user":{"displayName":"Hadelin de Ponteves","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhEuXdT7eQweUmRPW8_laJuPggSK6hfvpl5a6WBaA=s64","userId":"15047218817161520419"}},"colab":{"base_uri":"https://localhost:8080/","height":1000}},"source":["print(X_test)"],"execution_count":6,"outputs":[{"output_type":"stream","text":["[[ 30 87000]\n"," [ 38 50000]\n"," [ 35 75000]\n"," [ 30 79000]\n"," [ 35 50000]\n"," [ 27 20000]\n"," [ 31 15000]\n"," [ 36 144000]\n"," [ 18 68000]\n"," [ 47 43000]\n"," [ 30 49000]\n"," [ 28 55000]\n"," [ 37 55000]\n"," [ 39 77000]\n"," [ 20 86000]\n"," [ 32 117000]\n"," [ 37 77000]\n"," [ 19 85000]\n"," [ 55 130000]\n"," [ 35 22000]\n"," [ 35 47000]\n"," [ 47 144000]\n"," [ 41 51000]\n"," [ 47 105000]\n"," [ 23 28000]\n"," [ 49 141000]\n"," [ 28 87000]\n"," [ 29 80000]\n"," [ 37 62000]\n"," [ 32 86000]\n"," [ 21 88000]\n"," [ 37 79000]\n"," [ 57 60000]\n"," [ 37 53000]\n"," [ 24 58000]\n"," [ 18 52000]\n"," [ 22 81000]\n"," [ 34 43000]\n"," [ 31 34000]\n"," [ 49 36000]\n"," [ 27 88000]\n"," [ 41 52000]\n"," [ 27 84000]\n"," [ 35 20000]\n"," [ 43 112000]\n"," [ 27 58000]\n"," [ 37 80000]\n"," [ 52 90000]\n"," [ 26 30000]\n"," [ 49 86000]\n"," [ 57 122000]\n"," [ 34 25000]\n"," [ 35 57000]\n"," [ 34 115000]\n"," [ 59 88000]\n"," [ 45 32000]\n"," [ 29 83000]\n"," [ 26 80000]\n"," [ 49 28000]\n"," [ 23 20000]\n"," [ 32 18000]\n"," [ 60 42000]\n"," [ 19 76000]\n"," [ 36 99000]\n"," [ 19 26000]\n"," [ 60 83000]\n"," [ 24 89000]\n"," [ 27 58000]\n"," [ 40 47000]\n"," [ 42 70000]\n"," [ 32 150000]\n"," [ 35 77000]\n"," [ 22 63000]\n"," [ 45 22000]\n"," [ 27 89000]\n"," [ 18 82000]\n"," [ 42 79000]\n"," [ 40 60000]\n"," [ 53 34000]\n"," [ 47 107000]\n"," [ 58 144000]\n"," [ 59 83000]\n"," [ 24 55000]\n"," [ 26 35000]\n"," [ 58 38000]\n"," [ 42 80000]\n"," [ 40 75000]\n"," [ 59 130000]\n"," [ 46 41000]\n"," [ 41 60000]\n"," [ 42 64000]\n"," [ 37 146000]\n"," [ 23 48000]\n"," [ 25 33000]\n"," [ 24 84000]\n"," [ 27 96000]\n"," [ 23 63000]\n"," [ 48 33000]\n"," [ 48 90000]\n"," [ 42 104000]]\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"kj1hnFAR1s5w","colab_type":"code","outputId":"984874ad-447c-441b-decb-3c775d9d7936","executionInfo":{"status":"ok","timestamp":1588269312369,"user_tz":-240,"elapsed":2051,"user":{"displayName":"Hadelin de Ponteves","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhEuXdT7eQweUmRPW8_laJuPggSK6hfvpl5a6WBaA=s64","userId":"15047218817161520419"}},"colab":{"base_uri":"https://localhost:8080/","height":68}},"source":["print(y_test)"],"execution_count":7,"outputs":[{"output_type":"stream","text":["[0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0\n"," 0 0 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 0 0 1 0 0 1\n"," 0 0 0 0 1 1 1 0 0 0 1 1 0 1 1 0 0 1 0 0 0 1 0 1 1 1]\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"kW3c7UYih0hT","colab_type":"text"},"source":["## Feature Scaling"]},{"cell_type":"code","metadata":{"id":"9fQlDPKCh8sc","colab_type":"code","colab":{}},"source":["from sklearn.preprocessing import StandardScaler\n","sc = StandardScaler()\n","X_train = sc.fit_transform(X_train)\n","X_test = sc.transform(X_test)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"syrnD1Op2BSR","colab_type":"code","outputId":"c71d71b1-d8b6-4391-dee4-6f8e48b848c2","executionInfo":{"status":"ok","timestamp":1588269312370,"user_tz":-240,"elapsed":2046,"user":{"displayName":"Hadelin de Ponteves","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhEuXdT7eQweUmRPW8_laJuPggSK6hfvpl5a6WBaA=s64","userId":"15047218817161520419"}},"colab":{"base_uri":"https://localhost:8080/","height":1000}},"source":["print(X_train)"],"execution_count":9,"outputs":[{"output_type":"stream","text":["[[ 0.58164944 -0.88670699]\n"," [-0.60673761 1.46173768]\n"," [-0.01254409 -0.5677824 ]\n"," [-0.60673761 1.89663484]\n"," [ 1.37390747 -1.40858358]\n"," [ 1.47293972 0.99784738]\n"," [ 0.08648817 -0.79972756]\n"," [-0.01254409 -0.24885782]\n"," [-0.21060859 -0.5677824 ]\n"," [-0.21060859 -0.19087153]\n"," [-0.30964085 -1.29261101]\n"," [-0.30964085 -0.5677824 ]\n"," [ 0.38358493 0.09905991]\n"," [ 0.8787462 -0.59677555]\n"," [ 2.06713324 -1.17663843]\n"," [ 1.07681071 -0.13288524]\n"," [ 0.68068169 1.78066227]\n"," [-0.70576986 0.56295021]\n"," [ 0.77971394 0.35999821]\n"," [ 0.8787462 -0.53878926]\n"," [-1.20093113 -1.58254245]\n"," [ 2.1661655 0.93986109]\n"," [-0.01254409 1.22979253]\n"," [ 0.18552042 1.08482681]\n"," [ 0.38358493 -0.48080297]\n"," [-0.30964085 -0.30684411]\n"," [ 0.97777845 -0.8287207 ]\n"," [ 0.97777845 1.8676417 ]\n"," [-0.01254409 1.25878567]\n"," [-0.90383437 2.27354572]\n"," [-1.20093113 -1.58254245]\n"," [ 2.1661655 -0.79972756]\n"," [-1.39899564 -1.46656987]\n"," [ 0.38358493 2.30253886]\n"," [ 0.77971394 0.76590222]\n"," [-1.00286662 -0.30684411]\n"," [ 0.08648817 0.76590222]\n"," [-1.00286662 0.56295021]\n"," [ 0.28455268 0.07006676]\n"," [ 0.68068169 -1.26361786]\n"," [-0.50770535 -0.01691267]\n"," [-1.79512465 0.35999821]\n"," [-0.70576986 0.12805305]\n"," [ 0.38358493 0.30201192]\n"," [-0.30964085 0.07006676]\n"," [-0.50770535 2.30253886]\n"," [ 0.18552042 0.04107362]\n"," [ 1.27487521 2.21555943]\n"," [ 0.77971394 0.27301877]\n"," [-0.30964085 0.1570462 ]\n"," [-0.01254409 -0.53878926]\n"," [-0.21060859 0.1570462 ]\n"," [-0.11157634 0.24402563]\n"," [-0.01254409 -0.24885782]\n"," [ 2.1661655 1.11381995]\n"," [-1.79512465 0.35999821]\n"," [ 1.86906873 0.12805305]\n"," [ 0.38358493 -0.13288524]\n"," [-1.20093113 0.30201192]\n"," [ 0.77971394 1.37475825]\n"," [-0.30964085 -0.24885782]\n"," [-1.6960924 -0.04590581]\n"," [-1.00286662 -0.74174127]\n"," [ 0.28455268 0.50496393]\n"," [-0.11157634 -1.06066585]\n"," [-1.10189888 0.59194336]\n"," [ 0.08648817 -0.79972756]\n"," [-1.00286662 1.54871711]\n"," [-0.70576986 1.40375139]\n"," [-1.29996338 0.50496393]\n"," [-0.30964085 0.04107362]\n"," [-0.11157634 0.01208048]\n"," [-0.30964085 -0.88670699]\n"," [ 0.8787462 -1.3505973 ]\n"," [-0.30964085 2.24455257]\n"," [ 0.97777845 1.98361427]\n"," [-1.20093113 0.47597078]\n"," [-1.29996338 0.27301877]\n"," [ 1.37390747 1.98361427]\n"," [ 1.27487521 -1.3505973 ]\n"," [-0.30964085 -0.27785096]\n"," [-0.50770535 1.25878567]\n"," [-0.80480212 1.08482681]\n"," [ 0.97777845 -1.06066585]\n"," [ 0.28455268 0.30201192]\n"," [ 0.97777845 0.76590222]\n"," [-0.70576986 -1.49556302]\n"," [-0.70576986 0.04107362]\n"," [ 0.48261718 1.72267598]\n"," [ 2.06713324 0.18603934]\n"," [-1.99318916 -0.74174127]\n"," [-0.21060859 1.40375139]\n"," [ 0.38358493 0.59194336]\n"," [ 0.8787462 -1.14764529]\n"," [-1.20093113 -0.77073441]\n"," [ 0.18552042 0.24402563]\n"," [ 0.77971394 -0.30684411]\n"," [ 2.06713324 -0.79972756]\n"," [ 0.77971394 0.12805305]\n"," [-0.30964085 0.6209365 ]\n"," [-1.00286662 -0.30684411]\n"," [ 0.18552042 -0.3648304 ]\n"," [ 2.06713324 2.12857999]\n"," [ 1.86906873 -1.26361786]\n"," [ 1.37390747 -0.91570013]\n"," [ 0.8787462 1.25878567]\n"," [ 1.47293972 2.12857999]\n"," [-0.30964085 -1.23462472]\n"," [ 1.96810099 0.91086794]\n"," [ 0.68068169 -0.71274813]\n"," [-1.49802789 0.35999821]\n"," [ 0.77971394 -1.3505973 ]\n"," [ 0.38358493 -0.13288524]\n"," [-1.00286662 0.41798449]\n"," [-0.01254409 -0.30684411]\n"," [-1.20093113 0.41798449]\n"," [-0.90383437 -1.20563157]\n"," [-0.11157634 0.04107362]\n"," [-1.59706014 -0.42281668]\n"," [ 0.97777845 -1.00267957]\n"," [ 1.07681071 -1.20563157]\n"," [-0.01254409 -0.13288524]\n"," [-1.10189888 -1.52455616]\n"," [ 0.77971394 -1.20563157]\n"," [ 0.97777845 2.07059371]\n"," [-1.20093113 -1.52455616]\n"," [-0.30964085 0.79489537]\n"," [ 0.08648817 -0.30684411]\n"," [-1.39899564 -1.23462472]\n"," [-0.60673761 -1.49556302]\n"," [ 0.77971394 0.53395707]\n"," [-0.30964085 -0.33583725]\n"," [ 1.77003648 -0.27785096]\n"," [ 0.8787462 -1.03167271]\n"," [ 0.18552042 0.07006676]\n"," [-0.60673761 0.8818748 ]\n"," [-1.89415691 -1.40858358]\n"," [-1.29996338 0.59194336]\n"," [-0.30964085 0.53395707]\n"," [-1.00286662 -1.089659 ]\n"," [ 1.17584296 -1.43757673]\n"," [ 0.18552042 -0.30684411]\n"," [ 1.17584296 -0.74174127]\n"," [-0.30964085 0.07006676]\n"," [ 0.18552042 2.09958685]\n"," [ 0.77971394 -1.089659 ]\n"," [ 0.08648817 0.04107362]\n"," [-1.79512465 0.12805305]\n"," [-0.90383437 0.1570462 ]\n"," [-0.70576986 0.18603934]\n"," [ 0.8787462 -1.29261101]\n"," [ 0.18552042 -0.24885782]\n"," [-0.4086731 1.22979253]\n"," [-0.01254409 0.30201192]\n"," [ 0.38358493 0.1570462 ]\n"," [ 0.8787462 -0.65476184]\n"," [ 0.08648817 0.1570462 ]\n"," [-1.89415691 -1.29261101]\n"," [-0.11157634 0.30201192]\n"," [-0.21060859 -0.27785096]\n"," [ 0.28455268 -0.50979612]\n"," [-0.21060859 1.6067034 ]\n"," [ 0.97777845 -1.17663843]\n"," [-0.21060859 1.63569655]\n"," [ 1.27487521 1.8676417 ]\n"," [-1.10189888 -0.3648304 ]\n"," [-0.01254409 0.04107362]\n"," [ 0.08648817 -0.24885782]\n"," [-1.59706014 -1.23462472]\n"," [-0.50770535 -0.27785096]\n"," [ 0.97777845 0.12805305]\n"," [ 1.96810099 -1.3505973 ]\n"," [ 1.47293972 0.07006676]\n"," [-0.60673761 1.37475825]\n"," [ 1.57197197 0.01208048]\n"," [-0.80480212 0.30201192]\n"," [ 1.96810099 0.73690908]\n"," [-1.20093113 -0.50979612]\n"," [ 0.68068169 0.27301877]\n"," [-1.39899564 -0.42281668]\n"," [ 0.18552042 0.1570462 ]\n"," [-0.50770535 -1.20563157]\n"," [ 0.58164944 2.01260742]\n"," [-1.59706014 -1.49556302]\n"," [-0.50770535 -0.53878926]\n"," [ 0.48261718 1.83864855]\n"," [-1.39899564 -1.089659 ]\n"," [ 0.77971394 -1.37959044]\n"," [-0.30964085 -0.42281668]\n"," [ 1.57197197 0.99784738]\n"," [ 0.97777845 1.43274454]\n"," [-0.30964085 -0.48080297]\n"," [-0.11157634 2.15757314]\n"," [-1.49802789 -0.1038921 ]\n"," [-0.11157634 1.95462113]\n"," [-0.70576986 -0.33583725]\n"," [-0.50770535 -0.8287207 ]\n"," [ 0.68068169 -1.37959044]\n"," [-0.80480212 -1.58254245]\n"," [-1.89415691 -1.46656987]\n"," [ 1.07681071 0.12805305]\n"," [ 0.08648817 1.51972397]\n"," [-0.30964085 0.09905991]\n"," [ 0.08648817 0.04107362]\n"," [-1.39899564 -1.3505973 ]\n"," [ 0.28455268 0.07006676]\n"," [-0.90383437 0.38899135]\n"," [ 1.57197197 -1.26361786]\n"," [-0.30964085 -0.74174127]\n"," [-0.11157634 0.1570462 ]\n"," [-0.90383437 -0.65476184]\n"," [-0.70576986 -0.04590581]\n"," [ 0.38358493 -0.45180983]\n"," [-0.80480212 1.89663484]\n"," [ 1.37390747 1.28777882]\n"," [ 1.17584296 -0.97368642]\n"," [ 1.77003648 1.83864855]\n"," [-0.90383437 -0.24885782]\n"," [-0.80480212 0.56295021]\n"," [-1.20093113 -1.5535493 ]\n"," [-0.50770535 -1.11865214]\n"," [ 0.28455268 0.07006676]\n"," [-0.21060859 -1.06066585]\n"," [ 1.67100423 1.6067034 ]\n"," [ 0.97777845 1.78066227]\n"," [ 0.28455268 0.04107362]\n"," [-0.80480212 -0.21986468]\n"," [-0.11157634 0.07006676]\n"," [ 0.28455268 -0.19087153]\n"," [ 1.96810099 -0.65476184]\n"," [-0.80480212 1.3457651 ]\n"," [-1.79512465 -0.59677555]\n"," [-0.11157634 0.12805305]\n"," [ 0.28455268 -0.30684411]\n"," [ 1.07681071 0.56295021]\n"," [-1.00286662 0.27301877]\n"," [ 1.47293972 0.35999821]\n"," [ 0.18552042 -0.3648304 ]\n"," [ 2.1661655 -1.03167271]\n"," [-0.30964085 1.11381995]\n"," [-1.6960924 0.07006676]\n"," [-0.01254409 0.04107362]\n"," [ 0.08648817 1.05583366]\n"," [-0.11157634 -0.3648304 ]\n"," [-1.20093113 0.07006676]\n"," [-0.30964085 -1.3505973 ]\n"," [ 1.57197197 1.11381995]\n"," [-0.80480212 -1.52455616]\n"," [ 0.08648817 1.8676417 ]\n"," [-0.90383437 -0.77073441]\n"," [-0.50770535 -0.77073441]\n"," [-0.30964085 -0.91570013]\n"," [ 0.28455268 -0.71274813]\n"," [ 0.28455268 0.07006676]\n"," [ 0.08648817 1.8676417 ]\n"," [-1.10189888 1.95462113]\n"," [-1.6960924 -1.5535493 ]\n"," [-1.20093113 -1.089659 ]\n"," [-0.70576986 -0.1038921 ]\n"," [ 0.08648817 0.09905991]\n"," [ 0.28455268 0.27301877]\n"," [ 0.8787462 -0.5677824 ]\n"," [ 0.28455268 -1.14764529]\n"," [-0.11157634 0.67892279]\n"," [ 2.1661655 -0.68375498]\n"," [-1.29996338 -1.37959044]\n"," [-1.00286662 -0.94469328]\n"," [-0.01254409 -0.42281668]\n"," [-0.21060859 -0.45180983]\n"," [-1.79512465 -0.97368642]\n"," [ 1.77003648 0.99784738]\n"," [ 0.18552042 -0.3648304 ]\n"," [ 0.38358493 1.11381995]\n"," [-1.79512465 -1.3505973 ]\n"," [ 0.18552042 -0.13288524]\n"," [ 0.8787462 -1.43757673]\n"," [-1.99318916 0.47597078]\n"," [-0.30964085 0.27301877]\n"," [ 1.86906873 -1.06066585]\n"," [-0.4086731 0.07006676]\n"," [ 1.07681071 -0.88670699]\n"," [-1.10189888 -1.11865214]\n"," [-1.89415691 0.01208048]\n"," [ 0.08648817 0.27301877]\n"," [-1.20093113 0.33100506]\n"," [-1.29996338 0.30201192]\n"," [-1.00286662 0.44697764]\n"," [ 1.67100423 -0.88670699]\n"," [ 1.17584296 0.53395707]\n"," [ 1.07681071 0.53395707]\n"," [ 1.37390747 2.331532 ]\n"," [-0.30964085 -0.13288524]\n"," [ 0.38358493 -0.45180983]\n"," [-0.4086731 -0.77073441]\n"," [-0.11157634 -0.50979612]\n"," [ 0.97777845 -1.14764529]\n"," [-0.90383437 -0.77073441]\n"," [-0.21060859 -0.50979612]\n"," [-1.10189888 -0.45180983]\n"," [-1.20093113 1.40375139]]\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"JUd6iBRp2C3L","colab_type":"code","outputId":"5762f294-8c56-4d79-c441-3468e2cb5e6a","executionInfo":{"status":"ok","timestamp":1588269312370,"user_tz":-240,"elapsed":2041,"user":{"displayName":"Hadelin de Ponteves","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhEuXdT7eQweUmRPW8_laJuPggSK6hfvpl5a6WBaA=s64","userId":"15047218817161520419"}},"colab":{"base_uri":"https://localhost:8080/","height":1000}},"source":["print(X_test)"],"execution_count":10,"outputs":[{"output_type":"stream","text":["[[-0.80480212 0.50496393]\n"," [-0.01254409 -0.5677824 ]\n"," [-0.30964085 0.1570462 ]\n"," [-0.80480212 0.27301877]\n"," [-0.30964085 -0.5677824 ]\n"," [-1.10189888 -1.43757673]\n"," [-0.70576986 -1.58254245]\n"," [-0.21060859 2.15757314]\n"," [-1.99318916 -0.04590581]\n"," [ 0.8787462 -0.77073441]\n"," [-0.80480212 -0.59677555]\n"," [-1.00286662 -0.42281668]\n"," [-0.11157634 -0.42281668]\n"," [ 0.08648817 0.21503249]\n"," [-1.79512465 0.47597078]\n"," [-0.60673761 1.37475825]\n"," [-0.11157634 0.21503249]\n"," [-1.89415691 0.44697764]\n"," [ 1.67100423 1.75166912]\n"," [-0.30964085 -1.37959044]\n"," [-0.30964085 -0.65476184]\n"," [ 0.8787462 2.15757314]\n"," [ 0.28455268 -0.53878926]\n"," [ 0.8787462 1.02684052]\n"," [-1.49802789 -1.20563157]\n"," [ 1.07681071 2.07059371]\n"," [-1.00286662 0.50496393]\n"," [-0.90383437 0.30201192]\n"," [-0.11157634 -0.21986468]\n"," [-0.60673761 0.47597078]\n"," [-1.6960924 0.53395707]\n"," [-0.11157634 0.27301877]\n"," [ 1.86906873 -0.27785096]\n"," [-0.11157634 -0.48080297]\n"," [-1.39899564 -0.33583725]\n"," [-1.99318916 -0.50979612]\n"," [-1.59706014 0.33100506]\n"," [-0.4086731 -0.77073441]\n"," [-0.70576986 -1.03167271]\n"," [ 1.07681071 -0.97368642]\n"," [-1.10189888 0.53395707]\n"," [ 0.28455268 -0.50979612]\n"," [-1.10189888 0.41798449]\n"," [-0.30964085 -1.43757673]\n"," [ 0.48261718 1.22979253]\n"," [-1.10189888 -0.33583725]\n"," [-0.11157634 0.30201192]\n"," [ 1.37390747 0.59194336]\n"," [-1.20093113 -1.14764529]\n"," [ 1.07681071 0.47597078]\n"," [ 1.86906873 1.51972397]\n"," [-0.4086731 -1.29261101]\n"," [-0.30964085 -0.3648304 ]\n"," [-0.4086731 1.31677196]\n"," [ 2.06713324 0.53395707]\n"," [ 0.68068169 -1.089659 ]\n"," [-0.90383437 0.38899135]\n"," [-1.20093113 0.30201192]\n"," [ 1.07681071 -1.20563157]\n"," [-1.49802789 -1.43757673]\n"," [-0.60673761 -1.49556302]\n"," [ 2.1661655 -0.79972756]\n"," [-1.89415691 0.18603934]\n"," [-0.21060859 0.85288166]\n"," [-1.89415691 -1.26361786]\n"," [ 2.1661655 0.38899135]\n"," [-1.39899564 0.56295021]\n"," [-1.10189888 -0.33583725]\n"," [ 0.18552042 -0.65476184]\n"," [ 0.38358493 0.01208048]\n"," [-0.60673761 2.331532 ]\n"," [-0.30964085 0.21503249]\n"," [-1.59706014 -0.19087153]\n"," [ 0.68068169 -1.37959044]\n"," [-1.10189888 0.56295021]\n"," [-1.99318916 0.35999821]\n"," [ 0.38358493 0.27301877]\n"," [ 0.18552042 -0.27785096]\n"," [ 1.47293972 -1.03167271]\n"," [ 0.8787462 1.08482681]\n"," [ 1.96810099 2.15757314]\n"," [ 2.06713324 0.38899135]\n"," [-1.39899564 -0.42281668]\n"," [-1.20093113 -1.00267957]\n"," [ 1.96810099 -0.91570013]\n"," [ 0.38358493 0.30201192]\n"," [ 0.18552042 0.1570462 ]\n"," [ 2.06713324 1.75166912]\n"," [ 0.77971394 -0.8287207 ]\n"," [ 0.28455268 -0.27785096]\n"," [ 0.38358493 -0.16187839]\n"," [-0.11157634 2.21555943]\n"," [-1.49802789 -0.62576869]\n"," [-1.29996338 -1.06066585]\n"," [-1.39899564 0.41798449]\n"," [-1.10189888 0.76590222]\n"," [-1.49802789 -0.19087153]\n"," [ 0.97777845 -1.06066585]\n"," [ 0.97777845 0.59194336]\n"," [ 0.38358493 0.99784738]]\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"bb6jCOCQiAmP","colab_type":"text"},"source":["## Training the Decision Tree Classification model on the Training set"]},{"cell_type":"code","metadata":{"id":"e0pFVAmciHQs","colab_type":"code","outputId":"1a9b0904-ea86-40d9-bca2-a28fdf00d56d","executionInfo":{"status":"ok","timestamp":1588269312370,"user_tz":-240,"elapsed":2037,"user":{"displayName":"Hadelin de Ponteves","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhEuXdT7eQweUmRPW8_laJuPggSK6hfvpl5a6WBaA=s64","userId":"15047218817161520419"}},"colab":{"base_uri":"https://localhost:8080/","height":120}},"source":["from sklearn.tree import DecisionTreeClassifier\n","classifier = DecisionTreeClassifier(criterion = 'entropy', random_state = 0)\n","classifier.fit(X_train, y_train)"],"execution_count":11,"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":{"tags":[]},"execution_count":11}]},{"cell_type":"markdown","metadata":{"id":"yyxW5b395mR2","colab_type":"text"},"source":["## Predicting a new result"]},{"cell_type":"code","metadata":{"id":"f8YOXsQy58rP","colab_type":"code","outputId":"cd4b80f5-59ad-40b1-d5f3-8fc98b87bd66","executionInfo":{"status":"ok","timestamp":1588269312371,"user_tz":-240,"elapsed":2034,"user":{"displayName":"Hadelin de Ponteves","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhEuXdT7eQweUmRPW8_laJuPggSK6hfvpl5a6WBaA=s64","userId":"15047218817161520419"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["print(classifier.predict(sc.transform([[30,87000]])))"],"execution_count":12,"outputs":[{"output_type":"stream","text":["[0]\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"vKYVQH-l5NpE","colab_type":"text"},"source":["## Predicting the Test set results"]},{"cell_type":"code","metadata":{"id":"p6VMTb2O4hwM","colab_type":"code","outputId":"05404102-6c3b-4c34-a180-e2a1d5a85e57","executionInfo":{"status":"ok","timestamp":1588269312371,"user_tz":-240,"elapsed":2029,"user":{"displayName":"Hadelin de Ponteves","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhEuXdT7eQweUmRPW8_laJuPggSK6hfvpl5a6WBaA=s64","userId":"15047218817161520419"}},"colab":{"base_uri":"https://localhost:8080/","height":1000}},"source":["y_pred = classifier.predict(X_test)\n","print(np.concatenate((y_pred.reshape(len(y_pred),1), y_test.reshape(len(y_test),1)),1))"],"execution_count":13,"outputs":[{"output_type":"stream","text":["[[0 0]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [1 1]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [1 0]\n"," [0 0]\n"," [1 0]\n"," [1 0]\n"," [0 0]\n"," [1 1]\n"," [0 0]\n"," [0 0]\n"," [1 1]\n"," [0 0]\n"," [1 1]\n"," [0 0]\n"," [0 1]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [0 1]\n"," [1 1]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [1 1]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [1 1]\n"," [0 0]\n"," [0 0]\n"," [1 1]\n"," [0 0]\n"," [1 1]\n"," [1 1]\n"," [0 0]\n"," [0 0]\n"," [1 0]\n"," [1 1]\n"," [1 1]\n"," [0 0]\n"," [0 0]\n"," [1 1]\n"," [0 0]\n"," [0 0]\n"," [1 1]\n"," [0 0]\n"," [1 1]\n"," [0 0]\n"," [1 1]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [1 0]\n"," [1 1]\n"," [0 0]\n"," [0 0]\n"," [1 1]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [1 1]\n"," [1 1]\n"," [1 1]\n"," [1 0]\n"," [0 0]\n"," [0 0]\n"," [1 1]\n"," [0 1]\n"," [0 0]\n"," [1 1]\n"," [1 1]\n"," [0 0]\n"," [0 0]\n"," [1 1]\n"," [0 0]\n"," [0 0]\n"," [0 0]\n"," [1 1]\n"," [0 0]\n"," [1 1]\n"," [1 1]\n"," [1 1]]\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"h4Hwj34ziWQW","colab_type":"text"},"source":["## Making the Confusion Matrix"]},{"cell_type":"code","metadata":{"id":"D6bpZwUiiXic","colab_type":"code","outputId":"031d8132-ae7a-4a4c-b2dd-26b88da40ed6","executionInfo":{"status":"ok","timestamp":1588269312371,"user_tz":-240,"elapsed":2026,"user":{"displayName":"Hadelin de Ponteves","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhEuXdT7eQweUmRPW8_laJuPggSK6hfvpl5a6WBaA=s64","userId":"15047218817161520419"}},"colab":{"base_uri":"https://localhost:8080/","height":68}},"source":["from sklearn.metrics import confusion_matrix, accuracy_score\n","cm = confusion_matrix(y_test, y_pred)\n","print(cm)\n","accuracy_score(y_test, y_pred)"],"execution_count":14,"outputs":[{"output_type":"stream","text":["[[62 6]\n"," [ 3 29]]\n"],"name":"stdout"},{"output_type":"execute_result","data":{"text/plain":["0.91"]},"metadata":{"tags":[]},"execution_count":14}]},{"cell_type":"markdown","metadata":{"id":"6OMC_P0diaoD","colab_type":"text"},"source":["## Visualising the Training set results"]},{"cell_type":"code","metadata":{"id":"_NOjKvZRid5l","colab_type":"code","outputId":"cd4f51f4-8260-40bf-aa20-e238d60ccc1e","executionInfo":{"status":"ok","timestamp":1588269340691,"user_tz":-240,"elapsed":30339,"user":{"displayName":"Hadelin de Ponteves","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhEuXdT7eQweUmRPW8_laJuPggSK6hfvpl5a6WBaA=s64","userId":"15047218817161520419"}},"colab":{"base_uri":"https://localhost:8080/","height":349}},"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":15,"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 a 2-D array with a single row if you really want 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 a 2-D array with a single row if you really want 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":{"tags":[],"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"SZ-j28aPihZx","colab_type":"text"},"source":["## Visualising the Test set results"]},{"cell_type":"code","metadata":{"id":"qeTjz2vDilAC","colab_type":"code","outputId":"c9624a3f-544e-4033-8cb8-bb4b7b08ff4a","executionInfo":{"status":"ok","timestamp":1588269365372,"user_tz":-240,"elapsed":55016,"user":{"displayName":"Hadelin de Ponteves","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhEuXdT7eQweUmRPW8_laJuPggSK6hfvpl5a6WBaA=s64","userId":"15047218817161520419"}},"colab":{"base_uri":"https://localhost:8080/","height":349}},"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":16,"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 a 2-D array with a single row if you really want 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 a 2-D array with a single row if you really want 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":{"tags":[],"needs_background":"light"}}]}]} \ No newline at end of file +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "machine_shape": "hm" + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "0MRC0e0KhQ0S" + }, + "source": [ + "# Decision Tree Classification" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "LWd1UlMnhT2s" + }, + "source": [ + "## Importing the libraries" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "YvGPUQaHhXfL" + }, + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd" + ], + "execution_count": 2, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "K1VMqkGvhc3-" + }, + "source": [ + "## Importing the dataset" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "M52QDmyzhh9s" + }, + "source": [ + "dataset = pd.read_csv('Social_Network_Ads.csv')\n", + "X = dataset.iloc[:, :-1].values\n", + "y = dataset.iloc[:, -1].values" + ], + "execution_count": 3, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "YvxIPVyMhmKp" + }, + "source": [ + "## Splitting the dataset into the Training set and Test set" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "AVzJWAXIhxoC" + }, + "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 = 0)" + ], + "execution_count": 4, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "P3nS3-6r1i2B", + "outputId": "2e85a365-02cc-49dc-981e-d67fd641090a", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "print(X_train)" + ], + "execution_count": 5, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[ 44 39000]\n", + " [ 32 120000]\n", + " [ 38 50000]\n", + " [ 32 135000]\n", + " [ 52 21000]\n", + " [ 53 104000]\n", + " [ 39 42000]\n", + " [ 38 61000]\n", + " [ 36 50000]\n", + " [ 36 63000]\n", + " [ 35 25000]\n", + " [ 35 50000]\n", + " [ 42 73000]\n", + " [ 47 49000]\n", + " [ 59 29000]\n", + " [ 49 65000]\n", + " [ 45 131000]\n", + " [ 31 89000]\n", + " [ 46 82000]\n", + " [ 47 51000]\n", + " [ 26 15000]\n", + " [ 60 102000]\n", + " [ 38 112000]\n", + " [ 40 107000]\n", + " [ 42 53000]\n", + " [ 35 59000]\n", + " [ 48 41000]\n", + " [ 48 134000]\n", + " [ 38 113000]\n", + " [ 29 148000]\n", + " [ 26 15000]\n", + " [ 60 42000]\n", + " [ 24 19000]\n", + " [ 42 149000]\n", + " [ 46 96000]\n", + " [ 28 59000]\n", + " [ 39 96000]\n", + " [ 28 89000]\n", + " [ 41 72000]\n", + " [ 45 26000]\n", + " [ 33 69000]\n", + " [ 20 82000]\n", + " [ 31 74000]\n", + " [ 42 80000]\n", + " [ 35 72000]\n", + " [ 33 149000]\n", + " [ 40 71000]\n", + " [ 51 146000]\n", + " [ 46 79000]\n", + " [ 35 75000]\n", + " [ 38 51000]\n", + " [ 36 75000]\n", + " [ 37 78000]\n", + " [ 38 61000]\n", + " [ 60 108000]\n", + " [ 20 82000]\n", + " [ 57 74000]\n", + " [ 42 65000]\n", + " [ 26 80000]\n", + " [ 46 117000]\n", + " [ 35 61000]\n", + " [ 21 68000]\n", + " [ 28 44000]\n", + " [ 41 87000]\n", + " [ 37 33000]\n", + " [ 27 90000]\n", + " [ 39 42000]\n", + " [ 28 123000]\n", + " [ 31 118000]\n", + " [ 25 87000]\n", + " [ 35 71000]\n", + " [ 37 70000]\n", + " [ 35 39000]\n", + " [ 47 23000]\n", + " [ 35 147000]\n", + " [ 48 138000]\n", + " [ 26 86000]\n", + " [ 25 79000]\n", + " [ 52 138000]\n", + " [ 51 23000]\n", + " [ 35 60000]\n", + " [ 33 113000]\n", + " [ 30 107000]\n", + " [ 48 33000]\n", + " [ 41 80000]\n", + " [ 48 96000]\n", + " [ 31 18000]\n", + " [ 31 71000]\n", + " [ 43 129000]\n", + " [ 59 76000]\n", + " [ 18 44000]\n", + " [ 36 118000]\n", + " [ 42 90000]\n", + " [ 47 30000]\n", + " [ 26 43000]\n", + " [ 40 78000]\n", + " [ 46 59000]\n", + " [ 59 42000]\n", + " [ 46 74000]\n", + " [ 35 91000]\n", + " [ 28 59000]\n", + " [ 40 57000]\n", + " [ 59 143000]\n", + " [ 57 26000]\n", + " [ 52 38000]\n", + " [ 47 113000]\n", + " [ 53 143000]\n", + " [ 35 27000]\n", + " [ 58 101000]\n", + " [ 45 45000]\n", + " [ 23 82000]\n", + " [ 46 23000]\n", + " [ 42 65000]\n", + " [ 28 84000]\n", + " [ 38 59000]\n", + " [ 26 84000]\n", + " [ 29 28000]\n", + " [ 37 71000]\n", + " [ 22 55000]\n", + " [ 48 35000]\n", + " [ 49 28000]\n", + " [ 38 65000]\n", + " [ 27 17000]\n", + " [ 46 28000]\n", + " [ 48 141000]\n", + " [ 26 17000]\n", + " [ 35 97000]\n", + " [ 39 59000]\n", + " [ 24 27000]\n", + " [ 32 18000]\n", + " [ 46 88000]\n", + " [ 35 58000]\n", + " [ 56 60000]\n", + " [ 47 34000]\n", + " [ 40 72000]\n", + " [ 32 100000]\n", + " [ 19 21000]\n", + " [ 25 90000]\n", + " [ 35 88000]\n", + " [ 28 32000]\n", + " [ 50 20000]\n", + " [ 40 59000]\n", + " [ 50 44000]\n", + " [ 35 72000]\n", + " [ 40 142000]\n", + " [ 46 32000]\n", + " [ 39 71000]\n", + " [ 20 74000]\n", + " [ 29 75000]\n", + " [ 31 76000]\n", + " [ 47 25000]\n", + " [ 40 61000]\n", + " [ 34 112000]\n", + " [ 38 80000]\n", + " [ 42 75000]\n", + " [ 47 47000]\n", + " [ 39 75000]\n", + " [ 19 25000]\n", + " [ 37 80000]\n", + " [ 36 60000]\n", + " [ 41 52000]\n", + " [ 36 125000]\n", + " [ 48 29000]\n", + " [ 36 126000]\n", + " [ 51 134000]\n", + " [ 27 57000]\n", + " [ 38 71000]\n", + " [ 39 61000]\n", + " [ 22 27000]\n", + " [ 33 60000]\n", + " [ 48 74000]\n", + " [ 58 23000]\n", + " [ 53 72000]\n", + " [ 32 117000]\n", + " [ 54 70000]\n", + " [ 30 80000]\n", + " [ 58 95000]\n", + " [ 26 52000]\n", + " [ 45 79000]\n", + " [ 24 55000]\n", + " [ 40 75000]\n", + " [ 33 28000]\n", + " [ 44 139000]\n", + " [ 22 18000]\n", + " [ 33 51000]\n", + " [ 43 133000]\n", + " [ 24 32000]\n", + " [ 46 22000]\n", + " [ 35 55000]\n", + " [ 54 104000]\n", + " [ 48 119000]\n", + " [ 35 53000]\n", + " [ 37 144000]\n", + " [ 23 66000]\n", + " [ 37 137000]\n", + " [ 31 58000]\n", + " [ 33 41000]\n", + " [ 45 22000]\n", + " [ 30 15000]\n", + " [ 19 19000]\n", + " [ 49 74000]\n", + " [ 39 122000]\n", + " [ 35 73000]\n", + " [ 39 71000]\n", + " [ 24 23000]\n", + " [ 41 72000]\n", + " [ 29 83000]\n", + " [ 54 26000]\n", + " [ 35 44000]\n", + " [ 37 75000]\n", + " [ 29 47000]\n", + " [ 31 68000]\n", + " [ 42 54000]\n", + " [ 30 135000]\n", + " [ 52 114000]\n", + " [ 50 36000]\n", + " [ 56 133000]\n", + " [ 29 61000]\n", + " [ 30 89000]\n", + " [ 26 16000]\n", + " [ 33 31000]\n", + " [ 41 72000]\n", + " [ 36 33000]\n", + " [ 55 125000]\n", + " [ 48 131000]\n", + " [ 41 71000]\n", + " [ 30 62000]\n", + " [ 37 72000]\n", + " [ 41 63000]\n", + " [ 58 47000]\n", + " [ 30 116000]\n", + " [ 20 49000]\n", + " [ 37 74000]\n", + " [ 41 59000]\n", + " [ 49 89000]\n", + " [ 28 79000]\n", + " [ 53 82000]\n", + " [ 40 57000]\n", + " [ 60 34000]\n", + " [ 35 108000]\n", + " [ 21 72000]\n", + " [ 38 71000]\n", + " [ 39 106000]\n", + " [ 37 57000]\n", + " [ 26 72000]\n", + " [ 35 23000]\n", + " [ 54 108000]\n", + " [ 30 17000]\n", + " [ 39 134000]\n", + " [ 29 43000]\n", + " [ 33 43000]\n", + " [ 35 38000]\n", + " [ 41 45000]\n", + " [ 41 72000]\n", + " [ 39 134000]\n", + " [ 27 137000]\n", + " [ 21 16000]\n", + " [ 26 32000]\n", + " [ 31 66000]\n", + " [ 39 73000]\n", + " [ 41 79000]\n", + " [ 47 50000]\n", + " [ 41 30000]\n", + " [ 37 93000]\n", + " [ 60 46000]\n", + " [ 25 22000]\n", + " [ 28 37000]\n", + " [ 38 55000]\n", + " [ 36 54000]\n", + " [ 20 36000]\n", + " [ 56 104000]\n", + " [ 40 57000]\n", + " [ 42 108000]\n", + " [ 20 23000]\n", + " [ 40 65000]\n", + " [ 47 20000]\n", + " [ 18 86000]\n", + " [ 35 79000]\n", + " [ 57 33000]\n", + " [ 34 72000]\n", + " [ 49 39000]\n", + " [ 27 31000]\n", + " [ 19 70000]\n", + " [ 39 79000]\n", + " [ 26 81000]\n", + " [ 25 80000]\n", + " [ 28 85000]\n", + " [ 55 39000]\n", + " [ 50 88000]\n", + " [ 49 88000]\n", + " [ 52 150000]\n", + " [ 35 65000]\n", + " [ 42 54000]\n", + " [ 34 43000]\n", + " [ 37 52000]\n", + " [ 48 30000]\n", + " [ 29 43000]\n", + " [ 36 52000]\n", + " [ 27 54000]\n", + " [ 26 118000]]\n" + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "8dpDLojm1mVG", + "outputId": "0b4c4ef0-998a-4241-89d5-4ee23c22a60d", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "print(y_train)" + ], + "execution_count": 6, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[0 1 0 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 0 0 1\n", + " 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 0 1\n", + " 1 1 0 0 1 1 0 0 1 1 0 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 0\n", + " 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0\n", + " 0 0 1 0 1 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 1 0 0\n", + " 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0\n", + " 0 1 1 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0\n", + " 0 0 1 0 1 1 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1\n", + " 0 0 0 0]\n" + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "qbb7i0DH1qui", + "outputId": "6546bca3-131e-480e-a0f9-36ab8a64a7e0", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "print(X_test)" + ], + "execution_count": 7, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[ 30 87000]\n", + " [ 38 50000]\n", + " [ 35 75000]\n", + " [ 30 79000]\n", + " [ 35 50000]\n", + " [ 27 20000]\n", + " [ 31 15000]\n", + " [ 36 144000]\n", + " [ 18 68000]\n", + " [ 47 43000]\n", + " [ 30 49000]\n", + " [ 28 55000]\n", + " [ 37 55000]\n", + " [ 39 77000]\n", + " [ 20 86000]\n", + " [ 32 117000]\n", + " [ 37 77000]\n", + " [ 19 85000]\n", + " [ 55 130000]\n", + " [ 35 22000]\n", + " [ 35 47000]\n", + " [ 47 144000]\n", + " [ 41 51000]\n", + " [ 47 105000]\n", + " [ 23 28000]\n", + " [ 49 141000]\n", + " [ 28 87000]\n", + " [ 29 80000]\n", + " [ 37 62000]\n", + " [ 32 86000]\n", + " [ 21 88000]\n", + " [ 37 79000]\n", + " [ 57 60000]\n", + " [ 37 53000]\n", + " [ 24 58000]\n", + " [ 18 52000]\n", + " [ 22 81000]\n", + " [ 34 43000]\n", + " [ 31 34000]\n", + " [ 49 36000]\n", + " [ 27 88000]\n", + " [ 41 52000]\n", + " [ 27 84000]\n", + " [ 35 20000]\n", + " [ 43 112000]\n", + " [ 27 58000]\n", + " [ 37 80000]\n", + " [ 52 90000]\n", + " [ 26 30000]\n", + " [ 49 86000]\n", + " [ 57 122000]\n", + " [ 34 25000]\n", + " [ 35 57000]\n", + " [ 34 115000]\n", + " [ 59 88000]\n", + " [ 45 32000]\n", + " [ 29 83000]\n", + " [ 26 80000]\n", + " [ 49 28000]\n", + " [ 23 20000]\n", + " [ 32 18000]\n", + " [ 60 42000]\n", + " [ 19 76000]\n", + " [ 36 99000]\n", + " [ 19 26000]\n", + " [ 60 83000]\n", + " [ 24 89000]\n", + " [ 27 58000]\n", + " [ 40 47000]\n", + " [ 42 70000]\n", + " [ 32 150000]\n", + " [ 35 77000]\n", + " [ 22 63000]\n", + " [ 45 22000]\n", + " [ 27 89000]\n", + " [ 18 82000]\n", + " [ 42 79000]\n", + " [ 40 60000]\n", + " [ 53 34000]\n", + " [ 47 107000]\n", + " [ 58 144000]\n", + " [ 59 83000]\n", + " [ 24 55000]\n", + " [ 26 35000]\n", + " [ 58 38000]\n", + " [ 42 80000]\n", + " [ 40 75000]\n", + " [ 59 130000]\n", + " [ 46 41000]\n", + " [ 41 60000]\n", + " [ 42 64000]\n", + " [ 37 146000]\n", + " [ 23 48000]\n", + " [ 25 33000]\n", + " [ 24 84000]\n", + " [ 27 96000]\n", + " [ 23 63000]\n", + " [ 48 33000]\n", + " [ 48 90000]\n", + " [ 42 104000]]\n" + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "kj1hnFAR1s5w", + "outputId": "46e7ef2d-fac1-4a75-fd82-c79e8d535ba3", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "print(y_test)" + ], + "execution_count": 8, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0\n", + " 0 0 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 0 0 1 0 0 1\n", + " 0 0 0 0 1 1 1 0 0 0 1 1 0 1 1 0 0 1 0 0 0 1 0 1 1 1]\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "kW3c7UYih0hT" + }, + "source": [ + "## Feature Scaling" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "9fQlDPKCh8sc" + }, + "source": [ + "from sklearn.preprocessing import StandardScaler\n", + "sc = StandardScaler()\n", + "X_train = sc.fit_transform(X_train)\n", + "X_test = sc.transform(X_test)" + ], + "execution_count": 9, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "syrnD1Op2BSR", + "outputId": "fdeec0e5-27a4-496b-b006-15bf2474a301", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "print(X_train)" + ], + "execution_count": 10, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[ 0.58164944 -0.88670699]\n", + " [-0.60673761 1.46173768]\n", + " [-0.01254409 -0.5677824 ]\n", + " [-0.60673761 1.89663484]\n", + " [ 1.37390747 -1.40858358]\n", + " [ 1.47293972 0.99784738]\n", + " [ 0.08648817 -0.79972756]\n", + " [-0.01254409 -0.24885782]\n", + " [-0.21060859 -0.5677824 ]\n", + " [-0.21060859 -0.19087153]\n", + " [-0.30964085 -1.29261101]\n", + " [-0.30964085 -0.5677824 ]\n", + " [ 0.38358493 0.09905991]\n", + " [ 0.8787462 -0.59677555]\n", + " [ 2.06713324 -1.17663843]\n", + " [ 1.07681071 -0.13288524]\n", + " [ 0.68068169 1.78066227]\n", + " [-0.70576986 0.56295021]\n", + " [ 0.77971394 0.35999821]\n", + " [ 0.8787462 -0.53878926]\n", + " [-1.20093113 -1.58254245]\n", + " [ 2.1661655 0.93986109]\n", + " [-0.01254409 1.22979253]\n", + " [ 0.18552042 1.08482681]\n", + " [ 0.38358493 -0.48080297]\n", + " [-0.30964085 -0.30684411]\n", + " [ 0.97777845 -0.8287207 ]\n", + " [ 0.97777845 1.8676417 ]\n", + " [-0.01254409 1.25878567]\n", + " [-0.90383437 2.27354572]\n", + " [-1.20093113 -1.58254245]\n", + " [ 2.1661655 -0.79972756]\n", + " [-1.39899564 -1.46656987]\n", + " [ 0.38358493 2.30253886]\n", + " [ 0.77971394 0.76590222]\n", + " [-1.00286662 -0.30684411]\n", + " [ 0.08648817 0.76590222]\n", + " [-1.00286662 0.56295021]\n", + " [ 0.28455268 0.07006676]\n", + " [ 0.68068169 -1.26361786]\n", + " [-0.50770535 -0.01691267]\n", + " [-1.79512465 0.35999821]\n", + " [-0.70576986 0.12805305]\n", + " [ 0.38358493 0.30201192]\n", + " [-0.30964085 0.07006676]\n", + " [-0.50770535 2.30253886]\n", + " [ 0.18552042 0.04107362]\n", + " [ 1.27487521 2.21555943]\n", + " [ 0.77971394 0.27301877]\n", + " [-0.30964085 0.1570462 ]\n", + " [-0.01254409 -0.53878926]\n", + " [-0.21060859 0.1570462 ]\n", + " [-0.11157634 0.24402563]\n", + " [-0.01254409 -0.24885782]\n", + " [ 2.1661655 1.11381995]\n", + " [-1.79512465 0.35999821]\n", + " [ 1.86906873 0.12805305]\n", + " [ 0.38358493 -0.13288524]\n", + " [-1.20093113 0.30201192]\n", + " [ 0.77971394 1.37475825]\n", + " [-0.30964085 -0.24885782]\n", + " [-1.6960924 -0.04590581]\n", + " [-1.00286662 -0.74174127]\n", + " [ 0.28455268 0.50496393]\n", + " [-0.11157634 -1.06066585]\n", + " [-1.10189888 0.59194336]\n", + " [ 0.08648817 -0.79972756]\n", + " [-1.00286662 1.54871711]\n", + " [-0.70576986 1.40375139]\n", + " [-1.29996338 0.50496393]\n", + " [-0.30964085 0.04107362]\n", + " [-0.11157634 0.01208048]\n", + " [-0.30964085 -0.88670699]\n", + " [ 0.8787462 -1.3505973 ]\n", + " [-0.30964085 2.24455257]\n", + " [ 0.97777845 1.98361427]\n", + " [-1.20093113 0.47597078]\n", + " [-1.29996338 0.27301877]\n", + " [ 1.37390747 1.98361427]\n", + " [ 1.27487521 -1.3505973 ]\n", + " [-0.30964085 -0.27785096]\n", + " [-0.50770535 1.25878567]\n", + " [-0.80480212 1.08482681]\n", + " [ 0.97777845 -1.06066585]\n", + " [ 0.28455268 0.30201192]\n", + " [ 0.97777845 0.76590222]\n", + " [-0.70576986 -1.49556302]\n", + " [-0.70576986 0.04107362]\n", + " [ 0.48261718 1.72267598]\n", + " [ 2.06713324 0.18603934]\n", + " [-1.99318916 -0.74174127]\n", + " [-0.21060859 1.40375139]\n", + " [ 0.38358493 0.59194336]\n", + " [ 0.8787462 -1.14764529]\n", + " [-1.20093113 -0.77073441]\n", + " [ 0.18552042 0.24402563]\n", + " [ 0.77971394 -0.30684411]\n", + " [ 2.06713324 -0.79972756]\n", + " [ 0.77971394 0.12805305]\n", + " [-0.30964085 0.6209365 ]\n", + " [-1.00286662 -0.30684411]\n", + " [ 0.18552042 -0.3648304 ]\n", + " [ 2.06713324 2.12857999]\n", + " [ 1.86906873 -1.26361786]\n", + " [ 1.37390747 -0.91570013]\n", + " [ 0.8787462 1.25878567]\n", + " [ 1.47293972 2.12857999]\n", + " [-0.30964085 -1.23462472]\n", + " [ 1.96810099 0.91086794]\n", + " [ 0.68068169 -0.71274813]\n", + " [-1.49802789 0.35999821]\n", + " [ 0.77971394 -1.3505973 ]\n", + " [ 0.38358493 -0.13288524]\n", + " [-1.00286662 0.41798449]\n", + " [-0.01254409 -0.30684411]\n", + " [-1.20093113 0.41798449]\n", + " [-0.90383437 -1.20563157]\n", + " [-0.11157634 0.04107362]\n", + " [-1.59706014 -0.42281668]\n", + " [ 0.97777845 -1.00267957]\n", + " [ 1.07681071 -1.20563157]\n", + " [-0.01254409 -0.13288524]\n", + " [-1.10189888 -1.52455616]\n", + " [ 0.77971394 -1.20563157]\n", + " [ 0.97777845 2.07059371]\n", + " [-1.20093113 -1.52455616]\n", + " [-0.30964085 0.79489537]\n", + " [ 0.08648817 -0.30684411]\n", + " [-1.39899564 -1.23462472]\n", + " [-0.60673761 -1.49556302]\n", + " [ 0.77971394 0.53395707]\n", + " [-0.30964085 -0.33583725]\n", + " [ 1.77003648 -0.27785096]\n", + " [ 0.8787462 -1.03167271]\n", + " [ 0.18552042 0.07006676]\n", + " [-0.60673761 0.8818748 ]\n", + " [-1.89415691 -1.40858358]\n", + " [-1.29996338 0.59194336]\n", + " [-0.30964085 0.53395707]\n", + " [-1.00286662 -1.089659 ]\n", + " [ 1.17584296 -1.43757673]\n", + " [ 0.18552042 -0.30684411]\n", + " [ 1.17584296 -0.74174127]\n", + " [-0.30964085 0.07006676]\n", + " [ 0.18552042 2.09958685]\n", + " [ 0.77971394 -1.089659 ]\n", + " [ 0.08648817 0.04107362]\n", + " [-1.79512465 0.12805305]\n", + " [-0.90383437 0.1570462 ]\n", + " [-0.70576986 0.18603934]\n", + " [ 0.8787462 -1.29261101]\n", + " [ 0.18552042 -0.24885782]\n", + " [-0.4086731 1.22979253]\n", + " [-0.01254409 0.30201192]\n", + " [ 0.38358493 0.1570462 ]\n", + " [ 0.8787462 -0.65476184]\n", + " [ 0.08648817 0.1570462 ]\n", + " [-1.89415691 -1.29261101]\n", + " [-0.11157634 0.30201192]\n", + " [-0.21060859 -0.27785096]\n", + " [ 0.28455268 -0.50979612]\n", + " [-0.21060859 1.6067034 ]\n", + " [ 0.97777845 -1.17663843]\n", + " [-0.21060859 1.63569655]\n", + " [ 1.27487521 1.8676417 ]\n", + " [-1.10189888 -0.3648304 ]\n", + " [-0.01254409 0.04107362]\n", + " [ 0.08648817 -0.24885782]\n", + " [-1.59706014 -1.23462472]\n", + " [-0.50770535 -0.27785096]\n", + " [ 0.97777845 0.12805305]\n", + " [ 1.96810099 -1.3505973 ]\n", + " [ 1.47293972 0.07006676]\n", + " [-0.60673761 1.37475825]\n", + " [ 1.57197197 0.01208048]\n", + " [-0.80480212 0.30201192]\n", + " [ 1.96810099 0.73690908]\n", + " [-1.20093113 -0.50979612]\n", + " [ 0.68068169 0.27301877]\n", + " [-1.39899564 -0.42281668]\n", + " [ 0.18552042 0.1570462 ]\n", + " [-0.50770535 -1.20563157]\n", + " [ 0.58164944 2.01260742]\n", + " [-1.59706014 -1.49556302]\n", + " [-0.50770535 -0.53878926]\n", + " [ 0.48261718 1.83864855]\n", + " [-1.39899564 -1.089659 ]\n", + " [ 0.77971394 -1.37959044]\n", + " [-0.30964085 -0.42281668]\n", + " [ 1.57197197 0.99784738]\n", + " [ 0.97777845 1.43274454]\n", + " [-0.30964085 -0.48080297]\n", + " [-0.11157634 2.15757314]\n", + " [-1.49802789 -0.1038921 ]\n", + " [-0.11157634 1.95462113]\n", + " [-0.70576986 -0.33583725]\n", + " [-0.50770535 -0.8287207 ]\n", + " [ 0.68068169 -1.37959044]\n", + " [-0.80480212 -1.58254245]\n", + " [-1.89415691 -1.46656987]\n", + " [ 1.07681071 0.12805305]\n", + " [ 0.08648817 1.51972397]\n", + " [-0.30964085 0.09905991]\n", + " [ 0.08648817 0.04107362]\n", + " [-1.39899564 -1.3505973 ]\n", + " [ 0.28455268 0.07006676]\n", + " [-0.90383437 0.38899135]\n", + " [ 1.57197197 -1.26361786]\n", + " [-0.30964085 -0.74174127]\n", + " [-0.11157634 0.1570462 ]\n", + " [-0.90383437 -0.65476184]\n", + " [-0.70576986 -0.04590581]\n", + " [ 0.38358493 -0.45180983]\n", + " [-0.80480212 1.89663484]\n", + " [ 1.37390747 1.28777882]\n", + " [ 1.17584296 -0.97368642]\n", + " [ 1.77003648 1.83864855]\n", + " [-0.90383437 -0.24885782]\n", + " [-0.80480212 0.56295021]\n", + " [-1.20093113 -1.5535493 ]\n", + " [-0.50770535 -1.11865214]\n", + " [ 0.28455268 0.07006676]\n", + " [-0.21060859 -1.06066585]\n", + " [ 1.67100423 1.6067034 ]\n", + " [ 0.97777845 1.78066227]\n", + " [ 0.28455268 0.04107362]\n", + " [-0.80480212 -0.21986468]\n", + " [-0.11157634 0.07006676]\n", + " [ 0.28455268 -0.19087153]\n", + " [ 1.96810099 -0.65476184]\n", + " [-0.80480212 1.3457651 ]\n", + " [-1.79512465 -0.59677555]\n", + " [-0.11157634 0.12805305]\n", + " [ 0.28455268 -0.30684411]\n", + " [ 1.07681071 0.56295021]\n", + " [-1.00286662 0.27301877]\n", + " [ 1.47293972 0.35999821]\n", + " [ 0.18552042 -0.3648304 ]\n", + " [ 2.1661655 -1.03167271]\n", + " [-0.30964085 1.11381995]\n", + " [-1.6960924 0.07006676]\n", + " [-0.01254409 0.04107362]\n", + " [ 0.08648817 1.05583366]\n", + " [-0.11157634 -0.3648304 ]\n", + " [-1.20093113 0.07006676]\n", + " [-0.30964085 -1.3505973 ]\n", + " [ 1.57197197 1.11381995]\n", + " [-0.80480212 -1.52455616]\n", + " [ 0.08648817 1.8676417 ]\n", + " [-0.90383437 -0.77073441]\n", + " [-0.50770535 -0.77073441]\n", + " [-0.30964085 -0.91570013]\n", + " [ 0.28455268 -0.71274813]\n", + " [ 0.28455268 0.07006676]\n", + " [ 0.08648817 1.8676417 ]\n", + " [-1.10189888 1.95462113]\n", + " [-1.6960924 -1.5535493 ]\n", + " [-1.20093113 -1.089659 ]\n", + " [-0.70576986 -0.1038921 ]\n", + " [ 0.08648817 0.09905991]\n", + " [ 0.28455268 0.27301877]\n", + " [ 0.8787462 -0.5677824 ]\n", + " [ 0.28455268 -1.14764529]\n", + " [-0.11157634 0.67892279]\n", + " [ 2.1661655 -0.68375498]\n", + " [-1.29996338 -1.37959044]\n", + " [-1.00286662 -0.94469328]\n", + " [-0.01254409 -0.42281668]\n", + " [-0.21060859 -0.45180983]\n", + " [-1.79512465 -0.97368642]\n", + " [ 1.77003648 0.99784738]\n", + " [ 0.18552042 -0.3648304 ]\n", + " [ 0.38358493 1.11381995]\n", + " [-1.79512465 -1.3505973 ]\n", + " [ 0.18552042 -0.13288524]\n", + " [ 0.8787462 -1.43757673]\n", + " [-1.99318916 0.47597078]\n", + " [-0.30964085 0.27301877]\n", + " [ 1.86906873 -1.06066585]\n", + " [-0.4086731 0.07006676]\n", + " [ 1.07681071 -0.88670699]\n", + " [-1.10189888 -1.11865214]\n", + " [-1.89415691 0.01208048]\n", + " [ 0.08648817 0.27301877]\n", + " [-1.20093113 0.33100506]\n", + " [-1.29996338 0.30201192]\n", + " [-1.00286662 0.44697764]\n", + " [ 1.67100423 -0.88670699]\n", + " [ 1.17584296 0.53395707]\n", + " [ 1.07681071 0.53395707]\n", + " [ 1.37390747 2.331532 ]\n", + " [-0.30964085 -0.13288524]\n", + " [ 0.38358493 -0.45180983]\n", + " [-0.4086731 -0.77073441]\n", + " [-0.11157634 -0.50979612]\n", + " [ 0.97777845 -1.14764529]\n", + " [-0.90383437 -0.77073441]\n", + " [-0.21060859 -0.50979612]\n", + " [-1.10189888 -0.45180983]\n", + " [-1.20093113 1.40375139]]\n" + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "JUd6iBRp2C3L", + "outputId": "bbbd8f93-1be0-4902-c263-c0121200c17b", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "print(X_test)" + ], + "execution_count": 11, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[-0.80480212 0.50496393]\n", + " [-0.01254409 -0.5677824 ]\n", + " [-0.30964085 0.1570462 ]\n", + " [-0.80480212 0.27301877]\n", + " [-0.30964085 -0.5677824 ]\n", + " [-1.10189888 -1.43757673]\n", + " [-0.70576986 -1.58254245]\n", + " [-0.21060859 2.15757314]\n", + " [-1.99318916 -0.04590581]\n", + " [ 0.8787462 -0.77073441]\n", + " [-0.80480212 -0.59677555]\n", + " [-1.00286662 -0.42281668]\n", + " [-0.11157634 -0.42281668]\n", + " [ 0.08648817 0.21503249]\n", + " [-1.79512465 0.47597078]\n", + " [-0.60673761 1.37475825]\n", + " [-0.11157634 0.21503249]\n", + " [-1.89415691 0.44697764]\n", + " [ 1.67100423 1.75166912]\n", + " [-0.30964085 -1.37959044]\n", + " [-0.30964085 -0.65476184]\n", + " [ 0.8787462 2.15757314]\n", + " [ 0.28455268 -0.53878926]\n", + " [ 0.8787462 1.02684052]\n", + " [-1.49802789 -1.20563157]\n", + " [ 1.07681071 2.07059371]\n", + " [-1.00286662 0.50496393]\n", + " [-0.90383437 0.30201192]\n", + " [-0.11157634 -0.21986468]\n", + " [-0.60673761 0.47597078]\n", + " [-1.6960924 0.53395707]\n", + " [-0.11157634 0.27301877]\n", + " [ 1.86906873 -0.27785096]\n", + " [-0.11157634 -0.48080297]\n", + " [-1.39899564 -0.33583725]\n", + " [-1.99318916 -0.50979612]\n", + " [-1.59706014 0.33100506]\n", + " [-0.4086731 -0.77073441]\n", + " [-0.70576986 -1.03167271]\n", + " [ 1.07681071 -0.97368642]\n", + " [-1.10189888 0.53395707]\n", + " [ 0.28455268 -0.50979612]\n", + " [-1.10189888 0.41798449]\n", + " [-0.30964085 -1.43757673]\n", + " [ 0.48261718 1.22979253]\n", + " [-1.10189888 -0.33583725]\n", + " [-0.11157634 0.30201192]\n", + " [ 1.37390747 0.59194336]\n", + " [-1.20093113 -1.14764529]\n", + " [ 1.07681071 0.47597078]\n", + " [ 1.86906873 1.51972397]\n", + " [-0.4086731 -1.29261101]\n", + " [-0.30964085 -0.3648304 ]\n", + " [-0.4086731 1.31677196]\n", + " [ 2.06713324 0.53395707]\n", + " [ 0.68068169 -1.089659 ]\n", + " [-0.90383437 0.38899135]\n", + " [-1.20093113 0.30201192]\n", + " [ 1.07681071 -1.20563157]\n", + " [-1.49802789 -1.43757673]\n", + " [-0.60673761 -1.49556302]\n", + " [ 2.1661655 -0.79972756]\n", + " [-1.89415691 0.18603934]\n", + " [-0.21060859 0.85288166]\n", + " [-1.89415691 -1.26361786]\n", + " [ 2.1661655 0.38899135]\n", + " [-1.39899564 0.56295021]\n", + " [-1.10189888 -0.33583725]\n", + " [ 0.18552042 -0.65476184]\n", + " [ 0.38358493 0.01208048]\n", + " [-0.60673761 2.331532 ]\n", + " [-0.30964085 0.21503249]\n", + " [-1.59706014 -0.19087153]\n", + " [ 0.68068169 -1.37959044]\n", + " [-1.10189888 0.56295021]\n", + " [-1.99318916 0.35999821]\n", + " [ 0.38358493 0.27301877]\n", + " [ 0.18552042 -0.27785096]\n", + " [ 1.47293972 -1.03167271]\n", + " [ 0.8787462 1.08482681]\n", + " [ 1.96810099 2.15757314]\n", + " [ 2.06713324 0.38899135]\n", + " [-1.39899564 -0.42281668]\n", + " [-1.20093113 -1.00267957]\n", + " [ 1.96810099 -0.91570013]\n", + " [ 0.38358493 0.30201192]\n", + " [ 0.18552042 0.1570462 ]\n", + " [ 2.06713324 1.75166912]\n", + " [ 0.77971394 -0.8287207 ]\n", + " [ 0.28455268 -0.27785096]\n", + " [ 0.38358493 -0.16187839]\n", + " [-0.11157634 2.21555943]\n", + " [-1.49802789 -0.62576869]\n", + " [-1.29996338 -1.06066585]\n", + " [-1.39899564 0.41798449]\n", + " [-1.10189888 0.76590222]\n", + " [-1.49802789 -0.19087153]\n", + " [ 0.97777845 -1.06066585]\n", + " [ 0.97777845 0.59194336]\n", + " [ 0.38358493 0.99784738]]\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "bb6jCOCQiAmP" + }, + "source": [ + "## Training the Decision Tree Classification model on the Training set" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "e0pFVAmciHQs", + "outputId": "3b64c077-3313-4ae6-d504-a47e92476bb8", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 75 + } + }, + "source": [ + "from sklearn.tree import DecisionTreeClassifier\n", + "classifier = DecisionTreeClassifier(criterion = 'entropy', random_state = 0)\n", + "classifier.fit(X_train, y_train)" + ], + "execution_count": 12, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "DecisionTreeClassifier(criterion='entropy', random_state=0)" + ], + "text/html": [ + "
DecisionTreeClassifier(criterion='entropy', random_state=0)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ] + }, + "metadata": {}, + "execution_count": 12 + } + ] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.model_selection import GridSearchCV\n", + "\n", + "param_grid = {\n", + " 'criterion': ['gini', 'entropy'],\n", + " 'max_depth': [None, 5, 10, 15, 20],\n", + " 'min_samples_split': [2, 5, 10],\n", + " 'min_samples_leaf': [1, 2, 4]\n", + "}\n", + "\n", + "grid_search = GridSearchCV(classifier, param_grid, cv=5, n_jobs=-1)\n", + "grid_search.fit(X_train, y_train)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 118 + }, + "id": "nMAeSTIu-Gnp", + "outputId": "cf30e579-42ed-4d0a-b48c-fb4bbb3f2d07" + }, + "execution_count": 21, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "GridSearchCV(cv=5,\n", + " estimator=DecisionTreeClassifier(criterion='entropy',\n", + " random_state=0),\n", + " n_jobs=-1,\n", + " param_grid={'criterion': ['gini', 'entropy'],\n", + " 'max_depth': [None, 5, 10, 15, 20],\n", + " 'min_samples_leaf': [1, 2, 4],\n", + " 'min_samples_split': [2, 5, 10]})" + ], + "text/html": [ + "
GridSearchCV(cv=5,\n",
+              "             estimator=DecisionTreeClassifier(criterion='entropy',\n",
+              "                                              random_state=0),\n",
+              "             n_jobs=-1,\n",
+              "             param_grid={'criterion': ['gini', 'entropy'],\n",
+              "                         'max_depth': [None, 5, 10, 15, 20],\n",
+              "                         'min_samples_leaf': [1, 2, 4],\n",
+              "                         'min_samples_split': [2, 5, 10]})
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ] + }, + "metadata": {}, + "execution_count": 21 + } + ] + }, + { + "cell_type": "code", + "source": [ + "best_params = grid_search.best_params_\n", + "best_model = grid_search.best_estimator_" + ], + "metadata": { + "id": "FlHm8EiS_bou" + }, + "execution_count": 22, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "print(best_params)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "KHniqmyz__y4", + "outputId": "0234af4f-0e8c-4173-cee2-fa164f7f7e09" + }, + "execution_count": 24, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "{'criterion': 'entropy', 'max_depth': 5, 'min_samples_leaf': 4, 'min_samples_split': 2}\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "yyxW5b395mR2" + }, + "source": [ + "## Predicting a new result" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "f8YOXsQy58rP", + "outputId": "b77baaea-adc9-41f2-8268-908b4fbad7f6", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "print(classifier.predict(sc.transform([[30,87000]])))" + ], + "execution_count": 13, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[0]\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "vKYVQH-l5NpE" + }, + "source": [ + "## Predicting the Test set results" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "p6VMTb2O4hwM", + "outputId": "54cc80ed-a231-4054-bddc-f02f62f2b92c", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "y_pred = classifier.predict(X_test)\n", + "print(np.concatenate((y_pred.reshape(len(y_pred),1), y_test.reshape(len(y_test),1)),1))" + ], + "execution_count": 14, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [1 1]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [1 0]\n", + " [0 0]\n", + " [1 0]\n", + " [1 0]\n", + " [0 0]\n", + " [1 1]\n", + " [0 0]\n", + " [0 0]\n", + " [1 1]\n", + " [0 0]\n", + " [1 1]\n", + " [0 0]\n", + " [0 1]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [0 1]\n", + " [1 1]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [1 1]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [1 1]\n", + " [0 0]\n", + " [0 0]\n", + " [1 1]\n", + " [0 0]\n", + " [1 1]\n", + " [1 1]\n", + " [0 0]\n", + " [0 0]\n", + " [1 0]\n", + " [1 1]\n", + " [1 1]\n", + " [0 0]\n", + " [0 0]\n", + " [1 1]\n", + " [0 0]\n", + " [0 0]\n", + " [1 1]\n", + " [0 0]\n", + " [1 1]\n", + " [0 0]\n", + " [1 1]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [1 0]\n", + " [1 1]\n", + " [0 0]\n", + " [0 0]\n", + " [1 1]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [1 1]\n", + " [1 1]\n", + " [1 1]\n", + " [1 0]\n", + " [0 0]\n", + " [0 0]\n", + " [1 1]\n", + " [0 1]\n", + " [0 0]\n", + " [1 1]\n", + " [1 1]\n", + " [0 0]\n", + " [0 0]\n", + " [1 1]\n", + " [0 0]\n", + " [0 0]\n", + " [0 0]\n", + " [1 1]\n", + " [0 0]\n", + " [1 1]\n", + " [1 1]\n", + " [1 1]]\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "h4Hwj34ziWQW" + }, + "source": [ + "## Making the Confusion Matrix" + ] + }, + { + "cell_type": "code", + "source": [ + "accuracy = best_model.score(X_test, y_test)\n", + "print(\"Best Model Accuracy:\", accuracy)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "V77dtvP9_hcz", + "outputId": "9c66432d-1880-48a7-b245-2b36d63d7c59" + }, + "execution_count": 23, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Best Model Accuracy: 0.94\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from sklearn.metrics import confusion_matrix, accuracy_score\n", + "cm = confusion_matrix(y_test, y_pred1)\n", + "print(cm)\n", + "accuracy_score(y_test, y_pred1)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "M2WsXkhm-Q4w", + "outputId": "f123de83-3864-4860-cf1d-95e3a68f97d2" + }, + "execution_count": 20, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[62 6]\n", + " [ 4 28]]\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.9" + ] + }, + "metadata": {}, + "execution_count": 20 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "D6bpZwUiiXic", + "outputId": "e37696d8-cfb7-4170-d3fc-88423a8ec8a7", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "from sklearn.metrics import confusion_matrix, accuracy_score\n", + "cm = confusion_matrix(y_test, y_pred)\n", + "print(cm)\n", + "accuracy_score(y_test, y_pred)" + ], + "execution_count": 15, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[62 6]\n", + " [ 3 29]]\n" + ] + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.91" + ] + }, + "metadata": {}, + "execution_count": 15 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "6OMC_P0diaoD" + }, + "source": [ + "## Visualising the Training set results" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "_NOjKvZRid5l", + "outputId": "d655d1ff-9d65-4dec-8c32-114118b28aa2", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 527 + } + }, + "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": 16, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + ":10: UserWarning: *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 2D array with a single row if you intend to specify the same RGB or RGBA value for all points.\n", + " plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1], c = ListedColormap(('red', 'green'))(i), label = j)\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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9lsMHjwY//3vf/Hggw8CACorK5GWloZjx45h9OjRuO2223Dp0iV8//33OH/+vFnIrLGhQ4ciNzcXzz//POLj41FcXIxNmzbh7NmzVkeEqqur0bdvX+Tl5SErKwsJCQlYvXo1Ro4cibKyMkycONGs/MqVK3HlyhU8++yzUCgUmD9/PoYMGYK///5b8MhEfX09MjMz0adPH/zzn/9EixYtAADPPvusKdz6wgsv4NSpU1iyZAn++OMP7N6923Tf//znPxgxYgQyMzPx7rvv4urVq1i6dCn69OmDP/74g3NU7Pvvv4e/vz8eeughh+peUVGBTz/9FI899hieeeYZXLlyBZ999hkyMzPx+++/o2vXrgCATZs24bHHHkP//v3x7rvvAgCOHTuG3bt3m9p61qxZmDdvnik8VVFRgf379+PgwYO4++67m907PDwc//nPf/D222+jsrIS8+bNAwAkJydbrOvFixdx++23o6ysDGPHjkWHDh1w4cIFrFmzBlevXoVarcbff/+N9evX4+GHH0ZCQgKKiorw8ccfIz09HUePHkVMTAySk5Px5ptvYsaMGRg7dizS0tIAGMK4ljDG8I9//ANbt27FmDFj0LVrV/zyyy94+eWXceHCBSxYsMCs/K5du7B27Vo899xzaNmyJRYvXoyhQ4fi7NmzaNWqldXX4sKFCzh79ixuu+02jlfMui+++ALXrl3D2LFjodFoEBoayvv15fLII48gISEB8+bNw8GDB/Hpp58iIiLC9D7g8vzzzyMkJAQzZ87E6dOnsXDhQmRlZeGbb74xlXnttdcwf/583H///cjMzEROTg4yMzNx7do1m9fn8768evUq0tPTceHCBTz77LNo27YtfvvtN7z22msoKCjAwoULER4ejqVLl2L8+PF48MEHMWTIEAAwmwYRHByMxMRE7N692ynz/rwaI8RNfPHFFwwA27dvn9UywcHB7NZbbzV9379/f9a5c2d27do102N6vZ7dcccdrF27dqbHZsyYwQCwtWvXNrumXq9njDF26tQpBoB98cUXjDHGSktLGQD23nvvcdY7PT2dpaenm75fuHAhA8C++uor02O1tbUsNTWVBQYGsoqKCrP7tWrVipWUlJjKfvfddwwA+9///sd538bee+89BoCdOnXK9NiIESMYADZ16lSzsjt37mQA2IoVK8we37Bhg9njV65cYVqtlj3zzDNm5QoLC1lwcHCzx5sKCQlhXbp04f0cmrZjfX09q6mpMStTWlrKIiMj2ejRo02PTZw4kQUFBbH6+nqr1+7SpQsbNGgQ5/1nzpzJmv7KTE9PZykpKc3KAmAzZ840ff/UU08xpVJp8b1rfH9du3aNNTQ0mB07deoU02g07M033zQ9tm/fPrP3YWMjRoxgcXFxpu/Xr1/PALA5c+aYlXvooYeYQqFgeXl5ZnVWq9Vmj+Xk5DAA7MMPP2x2r8Z+/fVXXu/JgIAANmLECLPnB4AFBQWx4uJis7J8X19j3Ru3t/G1alruwQcfZK1atTJ7LC4uzqxOxt8zGRkZpteGMcYmT57MVCoVKysrY4wZ3uc+Pj5s8ODBZtebNWsWA2B2TUv4vC/feustFhAQwP766y+zx6dOncpUKhU7e/YsY4wxnU7XrA2aGjBgAEtOTuasExGOwn/EowQGBppWAZaUlGDLli145JFHcOXKFVy6dAmXLl3C5cuXkZmZiZMnT+LChQsAgP/+97/o0qWLaeSqMWvhDH9/f6jVamzbts1iWMyan376CVFRUXjsscdMj/n6+uKFF15AZWUltm/fblb+0UcfRUhIiOl74+jE33//zfueXMaPH2/2/erVqxEcHIy7777b1GaXLl1Ct27dEBgYaAq/bNq0CWVlZXjsscfMyqlUKvTs2dNimKaxiooKtGzZ0uF6q1Qq07wbvV6PkpIS1NfXo3v37jh48KCpnFarRVVVlVkorymtVovc3FycPHnS4fpYo9frsX79etx///1mcwGNjO8vjUYDpdLwK7mhoQGXL19GYGAg2rdvb/Z87PHTTz9BpVLhhRdeMHv8xRdfBGMMP//8s9njGRkZSExMNH1/yy23ICgoyOZ77fLlywBg9j61x9ChQ00hLCO+ry+XcePGmX2flpaGy5cvo6Kiwua5Y8eONfvZT0tLQ0NDgyldxObNm1FfX4/nnnvO7Lznn3+eV934vC9Xr16NtLQ0hISEmP2MZWRkoKGhwa6J58ZrEGlRp4p4lMrKStMHdV5eHhhjmD59OsLDw82+Zs6cCcAwtwkA8vPz0alTJ7vupdFo8O677+Lnn39GZGQk7rzzTsyfPx+FhYWc5505cwbt2rUzfYAaGUNHTXP8tG3b1ux74weXPR05a3x8fNCmTRuzx06ePIny8nJEREQ0a7fKykpTmxk7IHfddVezchs3bjSVsyYoKEhwGowvv/wSt9xyi2keVHh4OH788UeUl5ebyjz33HO4+eabce+996JNmzYYPXp0s3lCb775JsrKynDzzTejc+fOePnll/Hnn38KqpuRTqdDRUWFzfeXXq/HggUL0K5dO2g0GoSFhSE8PBx//vmn2fOxx5kzZxATE9Os88r3vQYY3m9832vMwcXkCQkJFh/n8/pyEfKzY+tcY9slJSWZlQsNDeXVueTzvjx58iQ2bNjQ7OfLOEfK1s9YY4wxu+a7EcfQnCriMc6fP4/y8nLTLznjRM6XXnoJmZmZFs9p+gvRXpMmTcL999+P9evX45dffsH06dMxb948bNmyBbfeequgaxtZS9/g6AdYY41HR4z0ej0iIiKwYsUKi+cYRxSM7fuf//wHUVFRzcrZWt7eoUMHHDp0CLW1tQ6tkPzqq68wcuRIDB48GC+//DIiIiKgUqkwb9485Ofnm8pFRETg0KFD+OWXX/Dzzz/j559/xhdffIGnnnrKtDjgzjvvRH5+Pr777jts3LgRn376KRYsWIBly5bh6aeftrtujpg7dy6mT5+O0aNH46233kJoaCiUSiUmTZpkamupOfpeM863crSjb2m1Lt/Xl4uQnx0pf+4Afu9LvV6Pu+++G6+88orFa9x8882871daWmp1bigRD3WqiMf4z3/+AwCmDpRx6bCvr6/pLztrEhMTceTIEYfum5iYiBdffBEvvvgiTp48ia5du+L9999vtgrRKC4uDn/++Sf0er1Zh+b48eOm466UmJiIX3/9Fb179+ZMTWEME0VERNhsX0vuv/9+ZGdn47///a9ZKJSvNWvW4KabbsLatWvN/gI3jkI2plarcf/99+P++++HXq/Hc889h48//hjTp083daxDQ0MxatQojBo1CpWVlbjzzjsxa9YswZ2q8PBwBAUF2Xx/rVmzBv369cNnn31m9nhZWZnZh6E9ow1xcXH49ddfceXKFbPRKrHfa8bVm6dOnRLleoB9r68rGNsuLy/PbKTt8uXLvDuXtt6XiYmJqKystPnzxec9cerUKXTp0oVXvYjjKPxHPMKWLVvw1ltvISEhwZQWICIiAn379sXHH3+MgoKCZuc0Xh49dOhQ5OTkYN26dc3KWfvL9OrVq81W+SQmJqJly5aoqamxWteBAweisLDQbBVRfX09Pvzw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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "SZ-j28aPihZx" + }, + "source": [ + "## Visualising the Test set results" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "qeTjz2vDilAC", + "outputId": "ee634ff6-2fc8-40f4-cd47-b9bd2b99887b", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 808 + } + }, + "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": 17, + "outputs": [ + { + "output_type": "error", + "ename": "KeyboardInterrupt", + "evalue": "ignored", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 3\u001b[0m X1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 10, stop = X_set[:, 0].max() + 10, step = 0.25),\n\u001b[1;32m 4\u001b[0m np.arange(start = X_set[:, 1].min() - 1000, stop = X_set[:, 1].max() + 1000, step = 0.25))\n\u001b[0;32m----> 5\u001b[0;31m plt.contourf(X1, X2, classifier.predict(sc.transform(np.array([X1.ravel(), X2.ravel()]).T)).reshape(X1.shape),\n\u001b[0m\u001b[1;32m 6\u001b[0m alpha = 0.75, cmap = ListedColormap(('red', 'green')))\n\u001b[1;32m 7\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mxlim\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX1\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mX1\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmax\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/matplotlib/pyplot.py\u001b[0m in \u001b[0;36mcontourf\u001b[0;34m(data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 2535\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0m_copy_docstring_and_deprecators\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mAxes\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcontourf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2536\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcontourf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2537\u001b[0;31m __ret = gca().contourf(\n\u001b[0m\u001b[1;32m 2538\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0;34m\"data\"\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m}\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdata\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2539\u001b[0m **kwargs)\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/matplotlib/__init__.py\u001b[0m in \u001b[0;36minner\u001b[0;34m(ax, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1440\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0minner\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1441\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdata\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1442\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msanitize_sequence\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1443\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1444\u001b[0m \u001b[0mbound\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnew_sig\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbind\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/matplotlib/axes/_axes.py\u001b[0m in \u001b[0;36mcontourf\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 6465\u001b[0m \"\"\"\n\u001b[1;32m 6466\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'filled'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 6467\u001b[0;31m \u001b[0mcontours\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmcontour\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mQuadContourSet\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6468\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_request_autoscale_view\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6469\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mcontours\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/matplotlib/contour.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, ax, levels, filled, linewidths, linestyles, hatches, alpha, origin, extent, cmap, colors, norm, vmin, vmax, extend, antialiased, nchunk, locator, transform, negative_linestyles, *args, **kwargs)\u001b[0m\n\u001b[1;32m 821\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 822\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'allsegs'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 823\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mallsegs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mallkinds\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_allsegs_and_allkinds\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 824\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mallkinds\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 825\u001b[0m \u001b[0;31m# allsegs specified in constructor may or may not have allkinds as\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/matplotlib/contour.py\u001b[0m in \u001b[0;36m_get_allsegs_and_allkinds\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1004\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mlevel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlevel_upper\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlowers\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0muppers\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1005\u001b[0m \u001b[0mvertices\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkinds\u001b[0m \u001b[0;34m=\u001b[0m\u001b[0;31m \u001b[0m\u001b[0;31m\\\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1006\u001b[0;31m self._contour_generator.create_filled_contour(\n\u001b[0m\u001b[1;32m 1007\u001b[0m level, level_upper)\n\u001b[1;32m 1008\u001b[0m \u001b[0mallsegs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvertices\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ] + } + ] +} \ No newline at end of file