Created
March 26, 2022 14:41
-
-
Save divx1979/c2323013c58c162362803970a293c850 to your computer and use it in GitHub Desktop.
Copy of k_nearest_neighbors.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"nbformat": 4, | |
"nbformat_minor": 0, | |
"metadata": { | |
"colab": { | |
"name": "Copy of k_nearest_neighbors.ipynb", | |
"provenance": [], | |
"collapsed_sections": [], | |
"machine_shape": "hm", | |
"include_colab_link": true | |
}, | |
"kernelspec": { | |
"name": "python3", | |
"display_name": "Python 3" | |
} | |
}, | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "view-in-github", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"<a href=\"https://colab.research.google.com/gist/divx1979/c2323013c58c162362803970a293c850/copy-of-k_nearest_neighbors.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "0MRC0e0KhQ0S" | |
}, | |
"source": [ | |
"# K-Nearest Neighbors (K-NN)" | |
] | |
}, | |
{ | |
"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": 16, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "K1VMqkGvhc3-" | |
}, | |
"source": [ | |
"## Importing the dataset" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "M52QDmyzhh9s" | |
}, | |
"source": [ | |
"dataset = pd.read_csv('/content/Social_Network_Ads.csv')\n", | |
"X = dataset.iloc[:, :-1].values\n", | |
"y = dataset.iloc[:, -1].values" | |
], | |
"execution_count": 17, | |
"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": 18, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "P3nS3-6r1i2B", | |
"outputId": "aa151dab-04d9-4fff-aad1-c9ce81161569", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
} | |
}, | |
"source": [ | |
"print(X_train)" | |
], | |
"execution_count": 19, | |
"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": "872db9cf-95c6-4da2-944a-a2814204773f", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
} | |
}, | |
"source": [ | |
"print(y_train)" | |
], | |
"execution_count": 20, | |
"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": "21d73d10-72ee-4fb8-c68a-11a7968e58b1", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
} | |
}, | |
"source": [ | |
"print(X_test)" | |
], | |
"execution_count": 21, | |
"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": "a91b872d-e72b-43cc-db36-3d5a4ed636a7", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
} | |
}, | |
"source": [ | |
"print(y_test)" | |
], | |
"execution_count": 22, | |
"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": 23, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "syrnD1Op2BSR", | |
"outputId": "09b55cb7-a62e-4dbc-e471-7c5e261b7fb7", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
} | |
}, | |
"source": [ | |
"print(X_train)" | |
], | |
"execution_count": 24, | |
"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": "fb644c7b-5e59-4295-d517-91cb1855c846", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
} | |
}, | |
"source": [ | |
"print(X_test)" | |
], | |
"execution_count": 25, | |
"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 K-NN model on the Training set" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "e0pFVAmciHQs", | |
"outputId": "3becc99e-db86-49ab-de48-657bfe2f3887", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
} | |
}, | |
"source": [ | |
"from sklearn.neighbors import KNeighborsClassifier\n", | |
"classifier = KNeighborsClassifier(n_neighbors = 5, metric = 'minkowski', p = 2)\n", | |
"classifier.fit(X_train, y_train)" | |
], | |
"execution_count": 26, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"KNeighborsClassifier()" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 26 | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "yyxW5b395mR2" | |
}, | |
"source": [ | |
"## Predicting a new result" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "f8YOXsQy58rP", | |
"outputId": "fff0660f-68c9-4ca2-81c2-a893e93198fc", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
} | |
}, | |
"source": [ | |
"print(classifier.predict(sc.transform([[30,87000]])))" | |
], | |
"execution_count": 27, | |
"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": "5f6779c8-15b9-4ede-ba45-52f9f601c55e", | |
"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": 28, | |
"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", | |
" [1 0]\n", | |
" [0 0]\n", | |
" [0 0]\n", | |
" [0 0]\n", | |
" [0 0]\n", | |
" [0 0]\n", | |
" [1 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", | |
" [0 0]\n", | |
" [1 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", | |
" [0 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", | |
" [0 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", | |
"metadata": { | |
"id": "D6bpZwUiiXic", | |
"outputId": "d837dc65-cf37-4c0b-f1a3-7b38ad09c45d", | |
"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": 29, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"[[64 4]\n", | |
" [ 3 29]]\n" | |
] | |
}, | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"0.93" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 29 | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "6OMC_P0diaoD" | |
}, | |
"source": [ | |
"## Visualising the Training set results" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "_NOjKvZRid5l", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 350 | |
}, | |
"outputId": "ca8e9cc5-1c53-47f2-cdf3-2b8ce6902c7d" | |
}, | |
"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 = 1),\n", | |
" np.arange(start = X_set[:, 1].min() - 1000, stop = X_set[:, 1].max() + 1000, step = 1))\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('K-NN (Training set)')\n", | |
"plt.xlabel('Age')\n", | |
"plt.ylabel('Estimated Salary')\n", | |
"plt.legend()\n", | |
"plt.show()" | |
], | |
"execution_count": 30, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stderr", | |
"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" | |
] | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
], | |
"image/png": "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\n" | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "SZ-j28aPihZx" | |
}, | |
"source": [ | |
"## Visualising the Test set results" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "qeTjz2vDilAC", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 350 | |
}, | |
"outputId": "d35bd16d-e8cb-4462-a313-e168c253f018" | |
}, | |
"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 = 1),\n", | |
" np.arange(start = X_set[:, 1].min() - 1000, stop = X_set[:, 1].max() + 1000, step = 1))\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('K-NN (Test set)')\n", | |
"plt.xlabel('Age')\n", | |
"plt.ylabel('Estimated Salary')\n", | |
"plt.legend()\n", | |
"plt.show()" | |
], | |
"execution_count": 31, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stderr", | |
"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" | |
] | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
], | |
"image/png": "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\n" | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
} | |
] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
My First Gist