{ "cells": [ { "cell_type": "markdown", "id": "709dc801-bc0b-4c2c-ab52-26b3de1b10b4", "metadata": {}, "source": [ "The usual suspects - imports. You only need run this once." ] }, { "cell_type": "code", "execution_count": 11, "id": "63528a79-842d-44ec-9109-29df1621cef8", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import seaborn as sns\n", "from sklearn.metrics import classification_report, confusion_matrix\n", "from sklearn.utils import resample\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.preprocessing import StandardScaler" ] }, { "cell_type": "markdown", "id": "2031a1c7-636b-4b16-89fa-aed0362c5b83", "metadata": {}, "source": [ "Load the data and split it into features vs labels subsets. Again, only need to run it once." ] }, { "cell_type": "code", "execution_count": 4, "id": "d106a41b-e75c-4ca0-96e1-0e5b117992bf", "metadata": {}, "outputs": [], "source": [ "wine_data = pd.read_csv(\"../WineQT.csv\", delimiter=\",\")\n", "wine_features = wine_data.drop(\"quality\", axis=1).drop(\"Id\", axis=1)\n", "wine_labels = np.ravel(wine_data['quality'])" ] }, { "cell_type": "markdown", "id": "4b143574-6353-4438-8d2f-0483d573a203", "metadata": {}, "source": [ "Check the data samples." ] }, { "cell_type": "code", "execution_count": 5, "id": "bc35067f-473e-4472-974c-c9385ba5e3da", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
fixed acidityvolatile aciditycitric acidresidual sugarchloridesfree sulfur dioxidetotal sulfur dioxidedensitypHsulphatesalcohol
07.40.7000.001.90.07611.034.00.997803.510.569.4
17.80.8800.002.60.09825.067.00.996803.200.689.8
27.80.7600.042.30.09215.054.00.997003.260.659.8
311.20.2800.561.90.07517.060.00.998003.160.589.8
47.40.7000.001.90.07611.034.00.997803.510.569.4
....................................
11386.30.5100.132.30.07629.040.00.995743.420.7511.0
11396.80.6200.081.90.06828.038.00.996513.420.829.5
11406.20.6000.082.00.09032.044.00.994903.450.5810.5
11415.90.5500.102.20.06239.051.00.995123.520.7611.2
11425.90.6450.122.00.07532.044.00.995473.570.7110.2
\n", "

1143 rows × 11 columns

\n", "
" ], "text/plain": [ " fixed acidity volatile acidity citric acid residual sugar chlorides \\\n", "0 7.4 0.700 0.00 1.9 0.076 \n", "1 7.8 0.880 0.00 2.6 0.098 \n", "2 7.8 0.760 0.04 2.3 0.092 \n", "3 11.2 0.280 0.56 1.9 0.075 \n", "4 7.4 0.700 0.00 1.9 0.076 \n", "... ... ... ... ... ... \n", "1138 6.3 0.510 0.13 2.3 0.076 \n", "1139 6.8 0.620 0.08 1.9 0.068 \n", "1140 6.2 0.600 0.08 2.0 0.090 \n", "1141 5.9 0.550 0.10 2.2 0.062 \n", "1142 5.9 0.645 0.12 2.0 0.075 \n", "\n", " free sulfur dioxide total sulfur dioxide density pH sulphates \\\n", "0 11.0 34.0 0.99780 3.51 0.56 \n", "1 25.0 67.0 0.99680 3.20 0.68 \n", "2 15.0 54.0 0.99700 3.26 0.65 \n", "3 17.0 60.0 0.99800 3.16 0.58 \n", "4 11.0 34.0 0.99780 3.51 0.56 \n", "... ... ... ... ... ... \n", "1138 29.0 40.0 0.99574 3.42 0.75 \n", "1139 28.0 38.0 0.99651 3.42 0.82 \n", "1140 32.0 44.0 0.99490 3.45 0.58 \n", "1141 39.0 51.0 0.99512 3.52 0.76 \n", "1142 32.0 44.0 0.99547 3.57 0.71 \n", "\n", " alcohol \n", "0 9.4 \n", "1 9.8 \n", "2 9.8 \n", "3 9.8 \n", "4 9.4 \n", "... ... \n", "1138 11.0 \n", "1139 9.5 \n", "1140 10.5 \n", "1141 11.2 \n", "1142 10.2 \n", "\n", "[1143 rows x 11 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wine_features" ] }, { "cell_type": "code", "execution_count": 6, "id": "1280fce3-3b58-43b3-9276-750cb4b0d16e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([5, 5, 5, ..., 5, 6, 5], shape=(1143,))" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wine_labels" ] }, { "cell_type": "markdown", "id": "6dcb8fc8-b56f-4975-a815-e8c9ad55afce", "metadata": {}, "source": [ "Split the dataset into train and test subsets, as is common.\n", "\n", "NOTE: While it may be tempting to get creative with variable names, such as `features_train`, `features_test`, `labels_train`, `labels_test`, etc., it's been proven it's WAY TOO MUCH typing, ends up being too confusing, and most examples use `x` for features (as in, input data) and `y` for labels (as in, results)." ] }, { "cell_type": "code", "execution_count": 15, "id": "c446ebbc-e0a9-4322-a713-8c839c244c8e", "metadata": {}, "outputs": [], "source": [ "x_train, x_test, y_train, y_test = train_test_split(wine_features, wine_labels, test_size=0.2, random_state=50)" ] }, { "cell_type": "markdown", "id": "db09f1be-05ce-4b37-b4c4-c2e974e4434c", "metadata": {}, "source": [ "Again, verify the data set sizes and samples." ] }, { "cell_type": "code", "execution_count": 16, "id": "65029b18-57b9-4829-b2fa-a51447b2188d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "train: 914 test: 229\n" ] } ], "source": [ "print(\"train:\", len(x_train), \"test:\", len(x_test))" ] }, { "cell_type": "code", "execution_count": 17, "id": "cbb0be13-83c5-4751-9061-14ed9632a36e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "sample:\n", " fixed acidity volatile acidity citric acid residual sugar chlorides \\\n", "287 9.9 0.40 0.53 6.7 0.097 \n", "147 7.8 0.44 0.28 2.7 0.100 \n", "177 11.1 0.35 0.48 3.1 0.090 \n", "1094 7.2 0.53 0.13 2.0 0.058 \n", "305 10.4 0.41 0.55 3.2 0.076 \n", "\n", " free sulfur dioxide total sulfur dioxide density pH sulphates \\\n", "287 6.0 19.0 0.99860 3.27 0.82 \n", "147 18.0 95.0 0.99660 3.22 0.67 \n", "177 5.0 21.0 0.99860 3.17 0.53 \n", "1094 18.0 22.0 0.99573 3.21 0.68 \n", "305 22.0 54.0 0.99960 3.15 0.89 \n", "\n", " alcohol \n", "287 11.7 \n", "147 9.4 \n", "177 10.5 \n", "1094 9.9 \n", "305 9.9 \n" ] } ], "source": [ "print(\"sample:\\n\", resample(x_train, n_samples=5))" ] }, { "cell_type": "markdown", "id": "58820df2-cb5d-43ea-bdbd-98f5b6d4504a", "metadata": {}, "source": [ "Note that the data above is distributed along different ranges in the columns. We need to normalise it, meaning spreading all of it on a scale `a..b`, where `a` and `b` are the same for each column." ] }, { "cell_type": "code", "execution_count": 18, "id": "e3aaa169-e086-4a19-865d-557c0c2aa210", "metadata": {}, "outputs": [], "source": [ "scaler = StandardScaler().fit(x_train)\n", "nx_train = scaler.transform(x_train)\n", "nx_test = scaler.transform(x_test)" ] }, { "cell_type": "markdown", "id": "037a68de-2827-413f-b54a-de365e34fee7", "metadata": {}, "source": [ "Review the data set now." ] }, { "cell_type": "code", "execution_count": 19, "id": "1626bb97-75b9-4685-801e-733d624c701b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "normalised sample:\n", " [[-0.36337554 0.30744761 -0.88665518 -0.56520518 0.37265697 1.25154072\n", " 1.96409859 -0.55957907 -1.4666001 -1.03970354 -0.61549675]\n", " [-0.75789051 -0.09066002 -0.93801151 -0.3273245 -0.54314184 -1.14742793\n", " -1.15154328 -0.46240645 0.24877775 -0.72667599 0.03054512]\n", " [-0.58881267 0.93304531 0.24318401 -0.24803095 -0.38287705 1.95123991\n", " 1.80831649 -0.21691774 0.12171272 -0.91449252 -0.89237183]\n", " [-1.7159983 0.25057509 -1.34886212 -0.64449874 -0.7263016 -1.0474709\n", " -0.59072774 -1.71030739 1.64649303 1.15148931 1.87637902]\n", " [ 0.31293584 1.27428042 -0.68122987 -0.01015027 0.00633745 -0.6476428\n", " -0.49725849 0.76503709 0.18524524 -0.10062089 0.03054512]]\n" ] } ], "source": [ "print(\"normalised sample:\\n\", resample(nx_train, n_samples=5))" ] }, { "cell_type": "markdown", "id": "5b8052e0-5170-4dee-8cc4-a3cb844f8bac", "metadata": {}, "source": [ "Time to rock & roll! Let's train the SVC model." ] }, { "cell_type": "code", "execution_count": 26, "id": "a1ee2d09-caed-4d39-ab51-cc27504753ef", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "**** TESTING C-Support Vector Classification ****\n", "x: predictions, y: labels\n", " 0 1 2 3 4 5 6 7 8 9 10\n", "0 0 0 0 0 0 0 0 0 0 0 0\n", "1 0 0 0 0 0 0 0 0 0 0 0\n", "2 0 0 0 0 0 0 0 0 0 0 0\n", "3 0 0 0 0 0 2 0 0 0 0 0\n", "4 0 0 0 0 0 6 4 1 0 0 0\n", "5 0 0 0 0 0 78 21 0 0 0 0\n", "6 0 0 0 0 0 29 50 0 0 0 0\n", "7 0 0 0 0 0 1 27 9 0 0 0\n", "8 0 0 0 0 0 0 1 0 0 0 0\n", "9 0 0 0 0 0 0 0 0 0 0 0\n", "10 0 0 0 0 0 0 0 0 0 0 0\n" ] } ], "source": [ "print(\"**** TESTING C-Support Vector Classification ****\")\n", "\n", "from sklearn.svm import SVC\n", "\n", "svc_model = SVC()\n", "svc_model.fit(nx_train, y_train)\n", "\n", "# now test the fitness with the test subset\n", "svc_y_predict = svc_model.predict(nx_test)\n", "\n", "# visualise it\n", "print(\"x: predictions, y: labels\")\n", "svc_cm = np.array(confusion_matrix(y_test, svc_y_predict, labels=[0,1,2,3,4,5,6,7,8,9,10]))\n", "svc_conf_matrix = pd.DataFrame(svc_cm)\n", "print(svc_conf_matrix)" ] }, { "cell_type": "markdown", "id": "3d073dda-0280-4712-9528-92febd914b56", "metadata": {}, "source": [ "Visualise the SVC model performance in a nice heatmap graph." ] }, { "cell_type": "code", "execution_count": 27, "id": "82e77e4a-c700-426c-98a7-8f338bf5f393", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.heatmap(svc_conf_matrix, annot=True, fmt='g')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "6b703fb4-54ca-418b-9302-fa26b70c64e1", "metadata": {}, "source": [ "Try another, simpler, visualisation." ] }, { "cell_type": "code", "execution_count": 31, "id": "f5179d4f-cc22-4f0d-8ae8-b4e802bdcf24", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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V16p5557Tk888YQ+/fRTnXfeeert7U1vw7yoIGcc+MIXvuBcdtllGa997nOfc6677roRimj8u/76652TTjop53v9/f3O9OnTnVtuuSX92p/+9CenpqbG+cUvflGhCA8OkpyHH344/dyk7T/66CNnwoQJzgMPPJDeprOz06mqqnI2btxYsdjHm+y+cBzHufjii53Fixe7lqEvymPv3r2OJOfpp592HId5UWlj/hOLAwcO6MUXX9R5552X8fp5552n9vb2EYrq4LBt2zbV19dr1qxZuuiii/TOO+9Iknbs2KHdu3dn9MnEiRP1xS9+kT4pM5O2f/HFF/XJJ59kbFNfX6/jjz+e/imDTZs2aerUqTr22GN16aWXau/even36IvyiMVikqQjjzxSEvOi0sZ8YvHBBx8okUho2rRpGa9PmzZNu3fvHqGoxr/58+fr3nvv1eOPP64777xTu3fvVmNjo7q7u9PtTp9Unknb7969W9XV1TriiCNct4EdCxcu1H/+53/qd7/7nf7lX/5Fmzdv1tlnn62+vj5J9EU5OI6j5cuX66yzztLxxx8viXlRaRX/103LJfufYHccx+o/y45MCxcuTP/9hBNO0BlnnKHZs2frnnvuSV+cRp+MnGLanv6x75vf/Gb678cff7xOPfVUzZgxQxs2bFBzc7NrOfqieFdddZX+93//V88888yw95gXlTHmP7E46qij5Pf7h2WUe/fuHZadonwmTZqkE044Qdu2bUv/OoQ+qTyTtp8+fboOHDigDz/80HUblEcwGNSMGTO0bds2SfSFbd/73vf0yCOP6KmnnlIoFEq/zryorDGfWFRXV2vevHl64oknMl5/4okn1NjYOEJRHXz6+vq0detWBYNBzZo1S9OnT8/okwMHDujpp5+mT8rMpO3nzZunCRMmZGwTjUb16quv0j9l1t3drY6ODgWDQUn0hS2O4+iqq65SW1ubfve732nWrFkZ7zMvKmzELhu16IEHHnAmTJjg3HXXXc7rr7/uXH311c6kSZOcd999d6RDG7euueYaZ9OmTc4777zjPPfcc86iRYucKVOmpNv8lltucWpqapy2tjZny5YtztKlS51gMOjE4/ERjnzs6+npcV5++WXn5ZdfdiQ5t912m/Pyyy877733nuM4Zm1/2WWXOaFQyHnyySedl156yTn77LOdk046yfn0009H6rDGpHx90dPT41xzzTVOe3u7s2PHDuepp55yzjjjDKehoYG+sOzyyy93ampqnE2bNjnRaDT92L9/f3ob5kXljIvEwnEc59/+7d+cGTNmONXV1c4pp5yS/pkRyuOb3/ymEwwGnQkTJjj19fVOc3Oz89prr6Xf7+/vd66//npn+vTpzsSJE50///M/d7Zs2TKCEY8fTz31lCNp2OPiiy92HMes7T/++GPnqquuco488kjnsMMOcxYtWuTs3LlzBI5mbMvXF/v373fOO+88p66uzpkwYYJz9NFHOxdffPGwdqYvSperDyQ5d999d3ob5kXl8M+mAwAAa8b8NRYAAGD0ILEAAADWkFgAAABrSCwAAIA1JBYAAMAaEgsAAGANiQUAALCGxAIAAFhDYgEAAKwhsQAAANaQWAAAAGtILAAAgDX/H6imaZSDn6nuAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(range(0, len(y_test)), y_test, color = 'blue')\n", "plt.scatter(range(0, len(y_test)), svc_y_predict, color = 'green')" ] }, { "cell_type": "markdown", "id": "1cc38f1e-638a-4cb9-ad1c-9e5cefc46bae", "metadata": {}, "source": [ "Now let's try and train the NuSVC model, too." ] }, { "cell_type": "code", "execution_count": 28, "id": "cdf2c8ae-d024-4687-b1df-23804f3d9816", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "**** TESTING Nu-Support Vector Classification ****\n", "x: predictions, y: labels\n", " 0 1 2 3 4 5 6 7 8 9 10\n", "0 0 0 0 0 0 0 0 0 0 0 0\n", "1 0 0 0 0 0 0 0 0 0 0 0\n", "2 0 0 0 0 0 0 0 0 0 0 0\n", "3 0 0 0 0 0 2 0 0 0 0 0\n", "4 0 0 0 0 0 6 4 1 0 0 0\n", "5 0 0 0 0 0 78 21 0 0 0 0\n", "6 0 0 0 0 0 29 50 0 0 0 0\n", "7 0 0 0 0 0 1 27 9 0 0 0\n", "8 0 0 0 0 0 0 1 0 0 0 0\n", "9 0 0 0 0 0 0 0 0 0 0 0\n", "10 0 0 0 0 0 0 0 0 0 0 0\n" ] } ], "source": [ "print(\"**** TESTING Nu-Support Vector Classification ****\")\n", "\n", "from sklearn.svm import NuSVC\n", "\n", "nusvc_model = NuSVC(nu=0.015)\n", "nusvc_model.fit(nx_train, y_train)\n", "\n", "# now test the fitness with the test subset\n", "nusvc_y_predict = svc_model.predict(nx_test)\n", "\n", "# visualise it\n", "print(\"x: predictions, y: labels\")\n", "nu_cm = np.array(confusion_matrix(y_test, nusvc_y_predict, labels=[0,1,2,3,4,5,6,7,8,9,10]))\n", "nu_conf_matrix = pd.DataFrame(nu_cm)\n", "print(nu_conf_matrix)" ] }, { "cell_type": "markdown", "id": "aec6f94d-82f7-493e-9e75-69928c171d38", "metadata": {}, "source": [ "Visualise the NuSVC model performance in a nice heatmap graph as well." ] }, { "cell_type": "code", "execution_count": 29, "id": "4ef4f484-5664-45dd-a5aa-2909276cedc8", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# visualise the NuSVC model in a nice picture\n", "sns.heatmap(nu_conf_matrix, annot=True, fmt='g')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "06f9779a-e872-4b1b-9845-055ccc43959f", "metadata": {}, "source": [ "Similarly, try the 2D visualisation." ] }, { "cell_type": "code", "execution_count": 32, "id": "5a686250-56d9-4691-948f-dc4bf5a0865f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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V16p5557Tk888YQ+/fRTnXfeeert7U1vw7yoIGcc+MIXvuBcdtllGa997nOfc6677roRimj8u/76652TTjop53v9/f3O9OnTnVtuuSX92p/+9CenpqbG+cUvflGhCA8OkpyHH344/dyk7T/66CNnwoQJzgMPPJDeprOz06mqqnI2btxYsdjHm+y+cBzHufjii53Fixe7lqEvymPv3r2OJOfpp592HId5UWlj/hOLAwcO6MUXX9R5552X8fp5552n9vb2EYrq4LBt2zbV19dr1qxZuuiii/TOO+9Iknbs2KHdu3dn9MnEiRP1xS9+kT4pM5O2f/HFF/XJJ59kbFNfX6/jjz+e/imDTZs2aerUqTr22GN16aWXau/even36IvyiMVikqQjjzxSEvOi0sZ8YvHBBx8okUho2rRpGa9PmzZNu3fvHqGoxr/58+fr3nvv1eOPP64777xTu3fvVmNjo7q7u9PtTp9Unknb7969W9XV1TriiCNct4EdCxcu1H/+53/qd7/7nf7lX/5Fmzdv1tlnn62+vj5J9EU5OI6j5cuX66yzztLxxx8viXlRaRX/103LJfufYHccx+o/y45MCxcuTP/9hBNO0BlnnKHZs2frnnvuSV+cRp+MnGLanv6x75vf/Gb678cff7xOPfVUzZgxQxs2bFBzc7NrOfqieFdddZX+93//V88888yw95gXlTHmP7E46qij5Pf7h2WUe/fuHZadonwmTZqkE044Qdu2bUv/OoQ+qTyTtp8+fboOHDigDz/80HUblEcwGNSMGTO0bds2SfSFbd/73vf0yCOP6KmnnlIoFEq/zryorDGfWFRXV2vevHl64oknMl5/4okn1NjYOEJRHXz6+vq0detWBYNBzZo1S9OnT8/okwMHDujpp5+mT8rMpO3nzZunCRMmZGwTjUb16quv0j9l1t3drY6ODgWDQUn0hS2O4+iqq65SW1ubfve732nWrFkZ7zMvKmzELhu16IEHHnAmTJjg3HXXXc7rr7/uXH311c6kSZOcd999d6RDG7euueYaZ9OmTc4777zjPPfcc86iRYucKVOmpNv8lltucWpqapy2tjZny5YtztKlS51gMOjE4/ERjnzs6+npcV5++WXn5ZdfdiQ5t912m/Pyyy877733nuM4Zm1/2WWXOaFQyHnyySedl156yTn77LOdk046yfn0009H6rDGpHx90dPT41xzzTVOe3u7s2PHDuepp55yzjjjDKehoYG+sOzyyy93ampqnE2bNjnRaDT92L9/f3ob5kXljIvEwnEc59/+7d+cGTNmONXV1c4pp5yS/pkRyuOb3/ymEwwGnQkTJjj19fVOc3Oz89prr6Xf7+/vd66//npn+vTpzsSJE50///M/d7Zs2TKCEY8fTz31lCNp2OPiiy92HMes7T/++GPnqquuco488kjnsMMOcxYtWuTs3LlzBI5mbMvXF/v373fOO+88p66uzpkwYYJz9NFHOxdffPGwdqYvSperDyQ5d999d3ob5kXl8M+mAwAAa8b8NRYAAGD0ILEAAADWkFgAAABrSCwAAIA1JBYAAMAaEgsAAGANiQUAALCGxAIAAFhDYgEAAKwhsQAAANaQWAAAAGtILAAAgDX/H6imaZSDn6nuAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(range(0, len(y_test)), y_test, color = 'blue')\n", "plt.scatter(range(0, len(y_test)), nusvc_y_predict, color = 'green')" ] }, { "cell_type": "markdown", "id": "7a1980f6-222f-49e2-a67a-bd502abc7b92", "metadata": {}, "source": [ "It would appear that in this case, and with all the default settings, there is no difference beteren `SVC` and `NuSVC` models." ] }, { "cell_type": "markdown", "id": "1f7fd519-4460-4138-a4fd-1d8c43f19bba", "metadata": {}, "source": [ "Let's try our luck with a regression model as well - `SVR` is one such possibility." ] }, { "cell_type": "code", "execution_count": 34, "id": "1ff5d2c3-e979-434f-a6ac-355c68832952", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "**** TESTING C-Support Vector Regression ****\n" ] } ], "source": [ "print(\"**** TESTING C-Support Vector Regression ****\")\n", "\n", "from sklearn.svm import SVR\n", "\n", "svr_model = SVR(kernel=\"rbf\")\n", "svr_model.fit(x_train, y_train)\n", "\n", "# now test the fitness with the test subset\n", "svr_y_predict = svr_model.predict(x_test)" ] }, { "cell_type": "markdown", "id": "912bae5a-e75c-4e7e-94db-dd47f6a57e55", "metadata": {}, "source": [ "Again, try a 2D visualisation of results." ] }, { "cell_type": "code", "execution_count": 35, "id": "4a339cfd-fcbb-4c94-9827-b77b2d470ec8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGdCAYAAABO2DpVAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVahJREFUeJzt3X18FNW9P/DPZhGKkKRN5CFkF0K5PqCobfFWpabGqhRv9aZdIoi9vdrbn/5srU1ArY8toVeKt0VIaqu95eVPba1BDCv04ZaqSOxaSq1PvYiIKCAhLg9Cm4SHRtnM74/NbPZhHs6ZObNP+bz7ysuyOztzZs6ZM985c84Zn6ZpGoiIiIgUKMl1AoiIiKh4MLAgIiIiZRhYEBERkTIMLIiIiEgZBhZERESkDAMLIiIiUoaBBRERESnDwIKIiIiUGZbtDfb39+O9995DaWkpfD5ftjdPREREDmiaht7eXkyYMAElJebtElkPLN577z0Eg8Fsb5aIiIgU6OzsRCAQMP0+64FFaWkpgHjCysrKsr15IiIicqCnpwfBYDBxHTeT9cBCf/xRVlbGwIKIiKjA2HVjYOdNIiIiUoaBBRERESnDwIKIiIiUYWBBREREyjCwICIiImUYWBAREZEyDCyIiIhIGQYWREREpEzWJ8gioqElFgMiESAaBaqqgNpawO/PdaqIyCtSLRbHjx/H3XffjcmTJ2PkyJH4+Mc/ju9973vo7+/3Kn1EVMDCYaCmBrjoIuDqq+P/ramJf05ExUmqxeK//uu/8NOf/hSPPvoozjjjDLz00kv46le/ivLycjQ2NnqVRiIqQOEw0NAAaFrq511d8c/b24FQKDdpIyLv+DQt/bQ3d/nll2PcuHF46KGHEp/Nnj0bJ554In7xi18IraOnpwfl5eXo7u7mu0KIilQsFm+Z2LPH+HufDwgEgJ07+ViEqFCIXr+lHoVccMEFWL9+Pd566y0AwF//+le88MIL+Jd/+RfT3/T19aGnpyflj4iKWyRiHlQA8VaMzs74ckRUXKQehdx2223o7u7GaaedBr/fj1gshsWLF2PevHmmv1myZAkWLVrkOqFEVDiiUbXLEVHhkGqxeOKJJ/DYY4/h8ccfxyuvvIJHH30US5cuxaOPPmr6mzvuuAPd3d2Jv87OTteJJqL8VlWldjkiKhxSfSyCwSBuv/123HjjjYnP7rnnHjz22GN48803hdbBPhZExU/vY9HVldl5E2AfC6JC5Ekfi6NHj6KkJPUnfr+fw02JKIXfD7S2xv+/z5f6nf7vlhYGFUTFSCqwuOKKK7B48WL89re/xa5du/DUU09h2bJl+NKXvuRV+oioQIVC8SGl1dWpnwcCHGpKVMykHoX09vbiO9/5Dp566ins378fEyZMwLx58/Dd734Xw4cPF1oHH4UQDS2ceZOoOIhev6UCCxUYWBARERUeT/pYEBEREVlhYEFERETKMLAgIiIiZRhYEBERkTIMLIiIiEgZBhZERESkDAMLIiIiUoaBBRERESnDwIKIiIiUYWBBREREyjCwICIiImUYWBAREZEyDCyIiIhIGQYWREREpAwDCyIiIlKGgQUREREpw8CCiIiIlGFgQURERMowsCAiIiJlGFgQERGRMgwsiIiISBkGFkRERKQMAwsiIiJShoEFERERKcPAgoiIiJRhYEFERETKMLAgIiIiZRhYEBERkTIMLIiIiEgZBhZERESkDAMLIiIiUoaBBRERESnDwIKIiIiUYWBBREREyjCwICIiImUYWBAREZEyDCyIiIhIGQYWREREpAwDCyIiIlKGgQUREREpw8CCiIiIlGFgQURERMowsCAiIiJlGFgQERGRMgwsiIiISBkGFkRERKQMAwsiIiJShoEFERERKcPAgoiIiJRhYEFERETKMLAgIiIiZRhYEBERkTIMLIiIiEgZBhZERESkDAMLIiIiUoaBBRERESkzLNcJKASxGBCJANEoUFUF1NYCfn/2fm+1jvTPZ8wANm4EurqAAweAMWOA6mrz5dPToiKtRuvR02X2b6fbUUVkv0XzIFv74lVe5Tov8oFdXpudX/mSTpllRdehuh50WgeoSq9dXhp9P358/Lf791uXi8pK4OBB5+UjW3niGU3CpEmTNAAZf9/4xjeE19Hd3a0B0Lq7u2U2nTOrV2taIKBpwOBfIBD/PBu/t1rHrbdmfu73p/7bbvnktKhIq9l60tOV/m8n21FFZL9l8iAb++JlXuUyL/KBTF7n8pjJ5J3b8utFPeikDhBNh91yRt+L5rWTZb24ZuTi3BW9fksFFvv379ei0Wji75lnntEAaBs2bFCesHywerWm+XyZhcTni/+JnARufm+1DlV/elpuvdV9Wt2kV3Y7qojkkew+eb0vKsqVyvUUEzfn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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(range(0, len(y_test)), y_test, color = 'blue')\n", "plt.scatter(range(0, len(y_test)), svr_y_predict, color = 'green')" ] }, { "cell_type": "markdown", "id": "d490a2da-0ee2-4385-b094-94e8f7fc2f2f", "metadata": {}, "source": [ "Feel free to take this on and play with it some more. What is there to do? Here are some ideas:\n", "\n", "* improve visualisations\n", "* experiment with model settings\n", "* try different train/test sizes\n" ] } ], "metadata": { "kernelspec": { "display_name": "sklearn-16", "language": "python", "name": "sklearn-16" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.3" } }, "nbformat": 4, "nbformat_minor": 5 }