{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [], "include_colab_link": true }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "view-in-github", "colab_type": "text" }, "source": [ "<a href=\"https://colab.research.google.com/github/Orrm23/DeepSeek-Coder/blob/main/HandwrittenDigitRecognition_SVM.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" ] }, { "cell_type": "markdown", "metadata": { "id": "l-FmNW1v-wEx" }, "source": [ "#Handwritten Digit Recognition | SVM**" ] }, { "cell_type": "markdown", "metadata": { "id": "aPZ-cSea-8Pz" }, "source": [ "### *Importing Basic Libraries*" ] }, { "cell_type": "code", "metadata": { "id": "KgOTIpQe-Sij" }, "source": [ "import numpy as np\n", "from sklearn.datasets import load_digits" ], "execution_count": 1, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "tAEv1LgB_OxV" }, "source": [ "### *Load Dataset*\n", "" ] }, { "cell_type": "code", "metadata": { "id": "mEkoGFM3_Rl6" }, "source": [ "dataset = load_digits()" ], "execution_count": 2, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "fIw9RCUrACG9" }, "source": [ "### *Summarize Dataset*" ] }, { "cell_type": "code", "metadata": { "id": "OKcoy2EJAFj2", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "6ca48cd3-8140-4383-f915-8586948f2b80" }, "source": [ "print(dataset.data)\n", "print(dataset.target)\n", "\n", "print(dataset.data.shape)\n", "print(dataset.images.shape)\n", "\n", "dataimageLength = len(dataset.images)\n", "print(dataimageLength)" ], "execution_count": 3, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "[[ 0. 0. 5. ... 0. 0. 0.]\n", " [ 0. 0. 0. ... 10. 0. 0.]\n", " [ 0. 0. 0. ... 16. 9. 0.]\n", " ...\n", " [ 0. 0. 1. ... 6. 0. 0.]\n", " [ 0. 0. 2. ... 12. 0. 0.]\n", " [ 0. 0. 10. ... 12. 1. 0.]]\n", "[0 1 2 ... 8 9 8]\n", "(1797, 64)\n", "(1797, 8, 8)\n", "1797\n" ] } ] }, { "cell_type": "markdown", "metadata": { "id": "epmSBzRtCgdh" }, "source": [ "### *Visualize the Dataset*" ] }, { "cell_type": "code", "metadata": { "id": "sGYJfmAvCj3a", "colab": { "base_uri": "https://localhost:8080/", "height": 593 }, "outputId": "992865b4-a1ad-4ebd-91c9-1918361c48b6" }, "source": [ "n=7 #No. of Sample out of Samples total 1797\n", "\n", "import matplotlib.pyplot as plt\n", "plt.gray()\n", "plt.matshow(dataset.images[n])\n", "plt.show()\n", "\n", "dataset.images[n]" ], "execution_count": 5, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "<Figure size 640x480 with 0 Axes>" ] }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": [ "<Figure size 480x480 with 1 Axes>" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZoAAAGkCAYAAAAIduO+AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAGMxJREFUeJzt3X9M1If9x/HXCeN0Fc4fFYWJYFtb6w+oFTUOu9JqbYia6h/OGJuhdktqziklTRr+mS7LPPfHGrrNUHUOm3ROt2XQrokydQWzVCZiSLRNrLa20lplXcod8MdpuM/3r/EdU4HPyduPn/P5SD7Z7vyc94oxPvu5OyDgOI4jAACMjPB6AAAgtREaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAqZQJza5du1RQUKCRI0dqwYIFOnXqlNeTBnXixAmtWLFCubm5CgQCqq+v93rSkEQiEc2bN0+ZmZnKzs7WypUrdf78ea9nDUlNTY0KCwuVlZWlrKwsLVy4UIcPH/Z6lms7d+5UIBBQRUWF11MGtX37dgUCgX7H9OnTvZ41JF9++aVefPFFjR8/XqNGjdLs2bN1+vRpr2cNqqCg4KY/80AgoHA47MmelAjNoUOHVFlZqW3btunMmTMqKirS888/r46ODq+nDainp0dFRUXatWuX11NcaWpqUjgcVnNzs44ePaobN25o6dKl6unp8XraoCZPnqydO3eqtbVVp0+f1rPPPqsXXnhBH374odfThqylpUW7d+9WYWGh11OGbObMmfrqq6/6jn/84x9eTxrUN998o5KSEn3rW9/S4cOH9dFHH+mXv/ylxo4d6/W0QbW0tPT78z569KgkafXq1d4MclLA/PnznXA43He7t7fXyc3NdSKRiIer3JHk1NXVeT0jKR0dHY4kp6mpyespSRk7dqzz29/+1usZQ9LV1eVMmzbNOXr0qPP00087W7du9XrSoLZt2+YUFRV5PcO11157zVm0aJHXM4bF1q1bnYcffthJJBKePL/vr2iuX7+u1tZWLVmypO++ESNGaMmSJTp58qSHy+4f0WhUkjRu3DiPl7jT29urgwcPqqenRwsXLvR6zpCEw2EtW7as3993P7hw4YJyc3P10EMPad26dbp8+bLXkwb17rvvqri4WKtXr1Z2drbmzJmjvXv3ej3LtevXr+vtt9/Wxo0bFQgEPNng+9B8/fXX6u3t1cSJE/vdP3HiRF29etWjVfePRCKhiooKlZSUaNasWV7PGZKzZ89q9OjRCgaDevnll1VXV6cZM2Z4PWtQBw8e1JkzZxSJRLye4sqCBQu0f/9+HTlyRDU1Nbp06ZKeeuopdXV1eT1tQJ9++qlqamo0bdo0NTQ0aNOmTdqyZYveeustr6e5Ul9fr87OTq1fv96zDemePTNSQjgc1rlz53zxmvt/PPbYY2pra1M0GtWf//xnlZeXq6mp6Z6OTXt7u7Zu3aqjR49q5MiRXs9xpaysrO//FxYWasGCBcrPz9cf//hHvfTSSx4uG1gikVBxcbF27NghSZozZ47OnTunN998U+Xl5R6vG7p9+/aprKxMubm5nm3w/RXNgw8+qLS0NF27dq3f/deuXdOkSZM8WnV/2Lx5s9577z29//77mjx5stdzhiwjI0OPPPKI5s6dq0gkoqKiIr3xxhtezxpQa2urOjo69OSTTyo9PV3p6elqamrSr371K6Wnp6u3t9friUM2ZswYPfroo7p48aLXUwaUk5Nz0398PP7447542e8/Pv/8cx07dkw//OEPPd3h+9BkZGRo7ty5On78eN99iURCx48f983r7n7jOI42b96suro6/f3vf9fUqVO9nnRHEomE4vG41zMGtHjxYp09e1ZtbW19R3FxsdatW6e2tjalpaV5PXHIuru79cknnygnJ8frKQMqKSm56WP7H3/8sfLz8z1a5F5tba2ys7O1bNkyT3ekxEtnlZWVKi8vV3FxsebPn6/q6mr19PRow4YNXk8bUHd3d7//qrt06ZLa2to0btw4TZkyxcNlAwuHwzpw4IDeeecdZWZm9r0XFgqFNGrUKI/XDayqqkplZWWaMmWKurq6dODAATU2NqqhocHraQPKzMy86T2wBx54QOPHj7/n3xt79dVXtWLFCuXn5+vKlSvatm2b0tLStHbtWq+nDeiVV17Rd7/7Xe3YsUPf//73derUKe3Zs0d79uzxetqQJBIJ1dbWqry8XOnpHv9T78ln3Qz8+te/dqZMmeJkZGQ48+fPd5qbm72eNKj333/fkXTTUV5e7vW0Ad1qsySntrbW62mD2rhxo5Ofn+9kZGQ4EyZMcBYvXuz87W9/83pWUvzy8eY1a9Y4OTk5TkZGhvOd73zHWbNmjXPx4kWvZw3JX//6V2fWrFlOMBh0pk+f7uzZs8frSUPW0NDgSHLOnz/v9RQn4DiO403iAAD3A9+/RwMAuLcRGgCAKUIDADBFaAAApggNAMAUoQEAmEqp0MTjcW3fvv2e/yrv/+XX3ZJ/t/t1t+Tf7X7dLfl3+72yO6W+jiYWiykUCikajSorK8vrOUPm192Sf7f7dbfk3+1+3S35d/u9sjulrmgAAPceQgMAMHXXv9NaIpHQlStXlJmZOew/7S0Wi/X7X7/w627Jv9v9ulvy73a/7pb8u916t+M46urqUm5urkaMuP11y11/j+aLL75QXl7e3XxKAICh9vb2AX8m1V2/osnMzLzbTwlJmzZt8npCUkKhkNcTkrZ8+XKvJyRl9uzZXk9IWjQa9XpCUvz6Z+44jmKx2KD/rt/10Az3y2UYmmAw6PWEpPjtxxb/t9GjR3s9ISl++lTV//Lrh2j9/u/iYPv5MAAAwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKaSCs2uXbtUUFCgkSNHasGCBTp16tRw7wIApAjXoTl06JAqKyu1bds2nTlzRkVFRXr++efV0dFhsQ8A4HOuQ/P666/rRz/6kTZs2KAZM2bozTff1Le//W397ne/s9gHAPA5V6G5fv26WltbtWTJkv//DUaM0JIlS3Ty5MlbPiYejysWi/U7AAD3D1eh+frrr9Xb26uJEyf2u3/ixIm6evXqLR8TiUQUCoX6jry8vOTXAgB8x/xTZ1VVVYpGo31He3u79VMCAO4h6W5OfvDBB5WWlqZr1671u//atWuaNGnSLR8TDAYVDAaTXwgA8DVXVzQZGRmaO3eujh8/3ndfIpHQ8ePHtXDhwmEfBwDwP1dXNJJUWVmp8vJyFRcXa/78+aqurlZPT482bNhgsQ8A4HOuQ7NmzRr961//0k9+8hNdvXpVTzzxhI4cOXLTBwQAAJCSCI0kbd68WZs3bx7uLQCAFMT3OgMAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwFRSP/gMuFs6Ozu9npC0iooKryckxa+7JWnMmDFeT0iKn/+eDwVXNAAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMuQ7NiRMntGLFCuXm5ioQCKi+vt5gFgAgVbgOTU9Pj4qKirRr1y6LPQCAFJPu9gFlZWUqKyuz2AIASEGuQ+NWPB5XPB7vux2LxayfEgBwDzH/MEAkElEoFOo78vLyrJ8SAHAPMQ9NVVWVotFo39He3m79lACAe4j5S2fBYFDBYND6aQAA9yi+jgYAYMr1FU13d7cuXrzYd/vSpUtqa2vTuHHjNGXKlGEdBwDwP9ehOX36tJ555pm+25WVlZKk8vJy7d+/f9iGAQBSg+vQlJaWynEciy0AgBTEezQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAFKEBAJhy/YPP4E/V1dVeT7jvbN++3esJSSkoKPB6QtJKS0u9noBb4IoGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMuQpNJBLRvHnzlJmZqezsbK1cuVLnz5+32gYASAGuQtPU1KRwOKzm5mYdPXpUN27c0NKlS9XT02O1DwDgc+luTj5y5Ei/2/v371d2drZaW1v1ve99b1iHAQBSg6vQ/K9oNCpJGjdu3G3PicfjisfjfbdjsdidPCUAwGeS/jBAIpFQRUWFSkpKNGvWrNueF4lEFAqF+o68vLxknxIA4ENJhyYcDuvcuXM6ePDggOdVVVUpGo32He3t7ck+JQDAh5J66Wzz5s167733dOLECU2ePHnAc4PBoILBYFLjAAD+5yo0juPoxz/+serq6tTY2KipU6da7QIApAhXoQmHwzpw4IDeeecdZWZm6urVq5KkUCikUaNGmQwEAPibq/doampqFI1GVVpaqpycnL7j0KFDVvsAAD7n+qUzAADc4HudAQBMERoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgytUPPrvflZaWej0haX7e7lcVFRVeT7jvrFy50usJSdm/f7/XE0xxRQMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAlKvQ1NTUqLCwUFlZWcrKytLChQt1+PBhq20AgBTgKjSTJ0/Wzp071draqtOnT+vZZ5/VCy+8oA8//NBqHwDA59LdnLxixYp+t3/+85+rpqZGzc3Nmjlz5rAOAwCkBleh+W+9vb3605/+pJ6eHi1cuPC258XjccXj8b7bsVgs2acEAPiQ6w8DnD17VqNHj1YwGNTLL7+suro6zZgx47bnRyIRhUKhviMvL++OBgMA/MV1aB577DG1tbXpn//8pzZt2qTy8nJ99NFHtz2/qqpK0Wi072hvb7+jwQAAf3H90llGRoYeeeQRSdLcuXPV0tKiN954Q7t3777l+cFgUMFg8M5WAgB8646/jiaRSPR7DwYAgP/m6oqmqqpKZWVlmjJlirq6unTgwAE1NjaqoaHBah8AwOdchaajo0M/+MEP9NVXXykUCqmwsFANDQ167rnnrPYBAHzOVWj27dtntQMAkKL4XmcAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAFKEBAJhy9YPP7nefffaZ1xOS9sQTT3g9ISmlpaVeT7jvrFy50usJSWtsbPR6Am6BKxoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADB1R6HZuXOnAoGAKioqhmkOACDVJB2alpYW7d69W4WFhcO5BwCQYpIKTXd3t9atW6e9e/dq7Nixw70JAJBCkgpNOBzWsmXLtGTJkkHPjcfjisVi/Q4AwP0j3e0DDh48qDNnzqilpWVI50ciEf30pz91PQwAkBpcXdG0t7dr69at+v3vf6+RI0cO6TFVVVWKRqN9R3t7e1JDAQD+5OqKprW1VR0dHXryySf77uvt7dWJEyf0m9/8RvF4XGlpaf0eEwwGFQwGh2ctAMB3XIVm8eLFOnv2bL/7NmzYoOnTp+u11167KTIAALgKTWZmpmbNmtXvvgceeEDjx4+/6X4AACS+MwAAwJjrT539r8bGxmGYAQBIVVzRAABMERoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgKuA4jnM3nzAWiykUCt3Np4SP3eW/nsNq1apVXk9ISn19vdcT4DPRaFRZWVm3/XWuaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYchWa7du3KxAI9DumT59utQ0AkALS3T5g5syZOnbs2P//BumufwsAwH3EdSXS09M1adIkiy0AgBTk+j2aCxcuKDc3Vw899JDWrVuny5cvD3h+PB5XLBbrdwAA7h+uQrNgwQLt379fR44cUU1NjS5duqSnnnpKXV1dt31MJBJRKBTqO/Ly8u54NADAPwKO4zjJPrizs1P5+fl6/fXX9dJLL93ynHg8rng83nc7FosRGwzZHfz19NyqVau8npCU+vp6ryfAZ6LRqLKysm7763f0Tv6YMWP06KOP6uLFi7c9JxgMKhgM3snTAAB87I6+jqa7u1uffPKJcnJyhmsPACDFuArNq6++qqamJn322Wf64IMPtGrVKqWlpWnt2rVW+wAAPufqpbMvvvhCa9eu1b///W9NmDBBixYtUnNzsyZMmGC1DwDgc65Cc/DgQasdAIAUxfc6AwCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAlKsffAb/qq6u9npCUqLRqNcTktbY2Oj1BOCewBUNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYch2aL7/8Ui+++KLGjx+vUaNGafbs2Tp9+rTFNgBACkh3c/I333yjkpISPfPMMzp8+LAmTJigCxcuaOzYsVb7AAA+5yo0v/jFL5SXl6fa2tq++6ZOnTrsowAAqcPVS2fvvvuuiouLtXr1amVnZ2vOnDnau3fvgI+Jx+OKxWL9DgDA/cNVaD799FPV1NRo2rRpamho0KZNm7Rlyxa99dZbt31MJBJRKBTqO/Ly8u54NADAPwKO4zhDPTkjI0PFxcX64IMP+u7bsmWLWlpadPLkyVs+Jh6PKx6P992OxWLExgPV1dVeT0jK+vXrvZ6QtIKCAq8nJKWzs9PrCfCZaDSqrKys2/66qyuanJwczZgxo999jz/+uC5fvnzbxwSDQWVlZfU7AAD3D1ehKSkp0fnz5/vd9/HHHys/P39YRwEAUoer0Lzyyitqbm7Wjh07dPHiRR04cEB79uxROBy22gcA8DlXoZk3b57q6ur0hz/8QbNmzdLPfvYzVVdXa926dVb7AAA+5+rraCRp+fLlWr58ucUWAEAK4nudAQBMERoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgyvUPPoM/lZaWej0hKevXr/d6QtI6Ozu9ngDcE7iiAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGDKVWgKCgoUCARuOsLhsNU+AIDPpbs5uaWlRb29vX23z507p+eee06rV68e9mEAgNTgKjQTJkzod3vnzp16+OGH9fTTTw/rKABA6nAVmv92/fp1vf3226qsrFQgELjtefF4XPF4vO92LBZL9ikBAD6U9IcB6uvr1dnZqfXr1w94XiQSUSgU6jvy8vKSfUoAgA8lHZp9+/aprKxMubm5A55XVVWlaDTad7S3tyf7lAAAH0rqpbPPP/9cx44d01/+8pdBzw0GgwoGg8k8DQAgBSR1RVNbW6vs7GwtW7ZsuPcAAFKM69AkEgnV1taqvLxc6elJf5YAAHCfcB2aY8eO6fLly9q4caPFHgBAinF9SbJ06VI5jmOxBQCQgvheZwAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMDUXf8RmfwsG290d3d7PSEpN27c8HoCgEEM9u/6XQ9NV1fX3X5KSFq0aJHXEwCkqK6uLoVCodv+esC5y5cYiURCV65cUWZmpgKBwLD+3rFYTHl5eWpvb1dWVtaw/t6W/Lpb8u92v+6W/Lvdr7sl/2633u04jrq6upSbm6sRI27/Tsxdv6IZMWKEJk+ebPocWVlZvvrL8B9+3S35d7tfd0v+3e7X3ZJ/t1vuHuhK5j/4MAAAwBShAQCYSqnQBINBbdu2TcFg0Osprvh1t+Tf7X7dLfl3u193S/7dfq/svusfBgAA3F9S6ooGAHDvITQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMDU/wGLUE+n8L8WpQAAAABJRU5ErkJggg==\n" }, "metadata": {} }, { "output_type": "execute_result", "data": { "text/plain": [ "array([[ 0., 0., 7., 8., 13., 16., 15., 1.],\n", " [ 0., 0., 7., 7., 4., 11., 12., 0.],\n", " [ 0., 0., 0., 0., 8., 13., 1., 0.],\n", " [ 0., 4., 8., 8., 15., 15., 6., 0.],\n", " [ 0., 2., 11., 15., 15., 4., 0., 0.],\n", " [ 0., 0., 0., 16., 5., 0., 0., 0.],\n", " [ 0., 0., 9., 15., 1., 0., 0., 0.],\n", " [ 0., 0., 13., 5., 0., 0., 0., 0.]])" ] }, "metadata": {}, "execution_count": 5 } ] }, { "cell_type": "markdown", "metadata": { "id": "woyBgG8hGXI-" }, "source": [ "### *Segregate Dataset into X(Input/IndependentVariable) & Y(Output/DependentVariable)*\n", "\n", "### *Input - Pixel | Output - Class*" ] }, { "cell_type": "code", "metadata": { "id": "OYBk3bVmGbxW", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "7c8e67fc-c7d2-46b7-faea-74357fe4eba2" }, "source": [ "X = dataset.images.reshape((dataimageLength,-1))\n", "X" ], "execution_count": 6, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([[ 0., 0., 5., ..., 0., 0., 0.],\n", " [ 0., 0., 0., ..., 10., 0., 0.],\n", " [ 0., 0., 0., ..., 16., 9., 0.],\n", " ...,\n", " [ 0., 0., 1., ..., 6., 0., 0.],\n", " [ 0., 0., 2., ..., 12., 0., 0.],\n", " [ 0., 0., 10., ..., 12., 1., 0.]])" ] }, "metadata": {}, "execution_count": 6 } ] }, { "cell_type": "code", "metadata": { "id": "Of_82fBDHC4R", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "3f1ff0b9-0774-4f1d-c2b1-7815cd863753" }, "source": [ "Y = dataset.target\n", "Y" ], "execution_count": 7, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([0, 1, 2, ..., 8, 9, 8])" ] }, "metadata": {}, "execution_count": 7 } ] }, { "cell_type": "markdown", "metadata": { "id": "QbO0qzzeHM7d" }, "source": [ "### *Splitting Dataset into Train & Test*" ] }, { "cell_type": "code", "metadata": { "id": "1760lRsBHNw2", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "6f87d4c7-8adf-4809-a053-dd8e776af375" }, "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)\n", "print(X_train.shape)\n", "print(X_test.shape)" ], "execution_count": 9, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "(1347, 64)\n", "(450, 64)\n" ] } ] }, { "cell_type": "markdown", "metadata": { "id": "e8DmcF1oHzTS" }, "source": [ "### *Training*" ] }, { "cell_type": "code", "metadata": { "id": "uI79KiPYH3Ud", "colab": { "base_uri": "https://localhost:8080/", "height": 80 }, "outputId": "9ab5c2bf-7039-4578-95ba-fc5e2f2edda3" }, "source": [ "from sklearn import svm\n", "model = svm.SVC(kernel='linear')\n", "model.fit(X_train,y_train)" ], "execution_count": 10, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "SVC(kernel='linear')" ], "text/html": [ "<style>#sk-container-id-1 {\n", " /* Definition of color scheme common for light and dark mode */\n", " --sklearn-color-text: #000;\n", " --sklearn-color-text-muted: #666;\n", " --sklearn-color-line: gray;\n", " /* Definition of color scheme for unfitted estimators */\n", " --sklearn-color-unfitted-level-0: #fff5e6;\n", " --sklearn-color-unfitted-level-1: #f6e4d2;\n", " --sklearn-color-unfitted-level-2: #ffe0b3;\n", " --sklearn-color-unfitted-level-3: chocolate;\n", " /* Definition of color scheme for fitted estimators */\n", " --sklearn-color-fitted-level-0: #f0f8ff;\n", " --sklearn-color-fitted-level-1: #d4ebff;\n", " --sklearn-color-fitted-level-2: #b3dbfd;\n", " --sklearn-color-fitted-level-3: cornflowerblue;\n", "\n", " /* Specific color for light theme */\n", " --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", " --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n", " --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", " --sklearn-color-icon: #696969;\n", "\n", " @media (prefers-color-scheme: dark) {\n", " /* Redefinition of color scheme for dark theme */\n", " --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", " --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n", " --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", " --sklearn-color-icon: #878787;\n", " }\n", "}\n", "\n", "#sk-container-id-1 {\n", " color: var(--sklearn-color-text);\n", "}\n", "\n", "#sk-container-id-1 pre {\n", " padding: 0;\n", "}\n", "\n", "#sk-container-id-1 input.sk-hidden--visually {\n", " border: 0;\n", " clip: rect(1px 1px 1px 1px);\n", " clip: rect(1px, 1px, 1px, 1px);\n", " height: 1px;\n", " margin: -1px;\n", " overflow: hidden;\n", " padding: 0;\n", " position: absolute;\n", " width: 1px;\n", "}\n", "\n", "#sk-container-id-1 div.sk-dashed-wrapped {\n", " border: 1px dashed var(--sklearn-color-line);\n", " margin: 0 0.4em 0.5em 0.4em;\n", " box-sizing: border-box;\n", " padding-bottom: 0.4em;\n", " background-color: var(--sklearn-color-background);\n", "}\n", "\n", "#sk-container-id-1 div.sk-container {\n", " /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n", " but bootstrap.min.css set `[hidden] { display: none !important; }`\n", " so we also need the `!important` here to be able to override the\n", " default hidden behavior on the sphinx rendered scikit-learn.org.\n", " See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n", " display: inline-block !important;\n", " position: relative;\n", "}\n", "\n", "#sk-container-id-1 div.sk-text-repr-fallback {\n", " display: none;\n", "}\n", "\n", "div.sk-parallel-item,\n", "div.sk-serial,\n", "div.sk-item {\n", " /* draw centered vertical line to link estimators */\n", " background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n", " background-size: 2px 100%;\n", " background-repeat: no-repeat;\n", " background-position: center center;\n", "}\n", "\n", "/* Parallel-specific style estimator block */\n", "\n", "#sk-container-id-1 div.sk-parallel-item::after {\n", " content: \"\";\n", " width: 100%;\n", " border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n", " flex-grow: 1;\n", "}\n", "\n", "#sk-container-id-1 div.sk-parallel {\n", " display: flex;\n", " align-items: stretch;\n", " justify-content: center;\n", " background-color: var(--sklearn-color-background);\n", " position: relative;\n", "}\n", "\n", "#sk-container-id-1 div.sk-parallel-item {\n", " display: flex;\n", " flex-direction: column;\n", "}\n", "\n", "#sk-container-id-1 div.sk-parallel-item:first-child::after {\n", " align-self: flex-end;\n", " width: 50%;\n", "}\n", "\n", "#sk-container-id-1 div.sk-parallel-item:last-child::after {\n", " align-self: flex-start;\n", " width: 50%;\n", "}\n", "\n", "#sk-container-id-1 div.sk-parallel-item:only-child::after {\n", " width: 0;\n", "}\n", "\n", "/* Serial-specific style estimator block */\n", "\n", "#sk-container-id-1 div.sk-serial {\n", " display: flex;\n", " flex-direction: column;\n", " align-items: center;\n", " background-color: var(--sklearn-color-background);\n", " padding-right: 1em;\n", " padding-left: 1em;\n", "}\n", "\n", "\n", "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n", "clickable and can be expanded/collapsed.\n", "- Pipeline and ColumnTransformer use this feature and define the default style\n", "- Estimators will overwrite some part of the style using the `sk-estimator` class\n", "*/\n", "\n", "/* Pipeline and ColumnTransformer style (default) */\n", "\n", "#sk-container-id-1 div.sk-toggleable {\n", " /* Default theme specific background. It is overwritten whether we have a\n", " specific estimator or a Pipeline/ColumnTransformer */\n", " background-color: var(--sklearn-color-background);\n", "}\n", "\n", "/* Toggleable label */\n", "#sk-container-id-1 label.sk-toggleable__label {\n", " cursor: pointer;\n", " display: flex;\n", " width: 100%;\n", " margin-bottom: 0;\n", " padding: 0.5em;\n", " box-sizing: border-box;\n", " text-align: center;\n", " align-items: start;\n", " justify-content: space-between;\n", " gap: 0.5em;\n", "}\n", "\n", "#sk-container-id-1 label.sk-toggleable__label .caption {\n", " font-size: 0.6rem;\n", " font-weight: lighter;\n", " color: var(--sklearn-color-text-muted);\n", "}\n", "\n", "#sk-container-id-1 label.sk-toggleable__label-arrow:before {\n", " /* Arrow on the left of the label */\n", " content: \"▸\";\n", " float: left;\n", " margin-right: 0.25em;\n", " color: var(--sklearn-color-icon);\n", "}\n", "\n", "#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {\n", " color: var(--sklearn-color-text);\n", "}\n", "\n", "/* Toggleable content - dropdown */\n", "\n", "#sk-container-id-1 div.sk-toggleable__content {\n", " max-height: 0;\n", " max-width: 0;\n", " overflow: hidden;\n", " text-align: left;\n", " /* unfitted */\n", " background-color: var(--sklearn-color-unfitted-level-0);\n", "}\n", "\n", "#sk-container-id-1 div.sk-toggleable__content.fitted {\n", " /* fitted */\n", " background-color: var(--sklearn-color-fitted-level-0);\n", "}\n", "\n", "#sk-container-id-1 div.sk-toggleable__content pre {\n", " margin: 0.2em;\n", " border-radius: 0.25em;\n", " color: var(--sklearn-color-text);\n", " /* unfitted */\n", " background-color: var(--sklearn-color-unfitted-level-0);\n", "}\n", "\n", "#sk-container-id-1 div.sk-toggleable__content.fitted pre {\n", " /* unfitted */\n", " background-color: var(--sklearn-color-fitted-level-0);\n", "}\n", "\n", "#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n", " /* Expand drop-down */\n", " max-height: 200px;\n", " max-width: 100%;\n", " overflow: auto;\n", "}\n", "\n", "#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n", " content: \"▾\";\n", "}\n", "\n", "/* Pipeline/ColumnTransformer-specific style */\n", "\n", "#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", " color: var(--sklearn-color-text);\n", " background-color: var(--sklearn-color-unfitted-level-2);\n", "}\n", "\n", "#sk-container-id-1 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", " background-color: var(--sklearn-color-fitted-level-2);\n", "}\n", "\n", "/* Estimator-specific style */\n", "\n", "/* Colorize estimator box */\n", "#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", " /* unfitted */\n", " background-color: var(--sklearn-color-unfitted-level-2);\n", "}\n", "\n", "#sk-container-id-1 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", " /* fitted */\n", " background-color: var(--sklearn-color-fitted-level-2);\n", "}\n", "\n", "#sk-container-id-1 div.sk-label label.sk-toggleable__label,\n", "#sk-container-id-1 div.sk-label label {\n", " /* The background is the default theme color */\n", " color: var(--sklearn-color-text-on-default-background);\n", "}\n", "\n", "/* On hover, darken the color of the background */\n", "#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {\n", " color: var(--sklearn-color-text);\n", " background-color: var(--sklearn-color-unfitted-level-2);\n", "}\n", "\n", "/* Label box, darken color on hover, fitted */\n", "#sk-container-id-1 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n", " color: var(--sklearn-color-text);\n", " background-color: var(--sklearn-color-fitted-level-2);\n", "}\n", "\n", "/* Estimator label */\n", "\n", "#sk-container-id-1 div.sk-label label {\n", " font-family: monospace;\n", " font-weight: bold;\n", " display: inline-block;\n", " line-height: 1.2em;\n", "}\n", "\n", "#sk-container-id-1 div.sk-label-container {\n", " text-align: center;\n", "}\n", "\n", "/* Estimator-specific */\n", "#sk-container-id-1 div.sk-estimator {\n", " font-family: monospace;\n", " border: 1px dotted var(--sklearn-color-border-box);\n", " border-radius: 0.25em;\n", " box-sizing: border-box;\n", " margin-bottom: 0.5em;\n", " /* unfitted */\n", " background-color: var(--sklearn-color-unfitted-level-0);\n", "}\n", "\n", "#sk-container-id-1 div.sk-estimator.fitted {\n", " /* fitted */\n", " background-color: var(--sklearn-color-fitted-level-0);\n", "}\n", "\n", "/* on hover */\n", "#sk-container-id-1 div.sk-estimator:hover {\n", " /* unfitted */\n", " background-color: var(--sklearn-color-unfitted-level-2);\n", "}\n", "\n", "#sk-container-id-1 div.sk-estimator.fitted:hover {\n", " /* fitted */\n", " background-color: var(--sklearn-color-fitted-level-2);\n", "}\n", "\n", "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n", "\n", "/* Common style for \"i\" and \"?\" */\n", "\n", ".sk-estimator-doc-link,\n", "a:link.sk-estimator-doc-link,\n", "a:visited.sk-estimator-doc-link {\n", " float: right;\n", " font-size: smaller;\n", " line-height: 1em;\n", " font-family: monospace;\n", " background-color: var(--sklearn-color-background);\n", " border-radius: 1em;\n", " height: 1em;\n", " width: 1em;\n", " text-decoration: none !important;\n", " margin-left: 0.5em;\n", " text-align: center;\n", " /* unfitted */\n", " border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", " color: var(--sklearn-color-unfitted-level-1);\n", "}\n", "\n", ".sk-estimator-doc-link.fitted,\n", "a:link.sk-estimator-doc-link.fitted,\n", "a:visited.sk-estimator-doc-link.fitted {\n", " /* fitted */\n", " border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", " color: var(--sklearn-color-fitted-level-1);\n", "}\n", "\n", "/* On hover */\n", "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n", ".sk-estimator-doc-link:hover,\n", "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n", ".sk-estimator-doc-link:hover {\n", " /* unfitted */\n", " background-color: var(--sklearn-color-unfitted-level-3);\n", " color: var(--sklearn-color-background);\n", " text-decoration: none;\n", "}\n", "\n", "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n", ".sk-estimator-doc-link.fitted:hover,\n", "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n", ".sk-estimator-doc-link.fitted:hover {\n", " /* fitted */\n", " background-color: var(--sklearn-color-fitted-level-3);\n", " color: var(--sklearn-color-background);\n", " text-decoration: none;\n", "}\n", "\n", "/* Span, style for the box shown on hovering the info icon */\n", ".sk-estimator-doc-link span {\n", " display: none;\n", " z-index: 9999;\n", " position: relative;\n", " font-weight: normal;\n", " right: .2ex;\n", " padding: .5ex;\n", " margin: .5ex;\n", " width: min-content;\n", " min-width: 20ex;\n", " max-width: 50ex;\n", " color: var(--sklearn-color-text);\n", " box-shadow: 2pt 2pt 4pt #999;\n", " /* unfitted */\n", " background: var(--sklearn-color-unfitted-level-0);\n", " border: .5pt solid var(--sklearn-color-unfitted-level-3);\n", "}\n", "\n", ".sk-estimator-doc-link.fitted span {\n", " /* fitted */\n", " background: var(--sklearn-color-fitted-level-0);\n", " border: var(--sklearn-color-fitted-level-3);\n", "}\n", "\n", ".sk-estimator-doc-link:hover span {\n", " display: block;\n", "}\n", "\n", "/* \"?\"-specific style due to the `<a>` HTML tag */\n", "\n", "#sk-container-id-1 a.estimator_doc_link {\n", " float: right;\n", " font-size: 1rem;\n", " line-height: 1em;\n", " font-family: monospace;\n", " background-color: var(--sklearn-color-background);\n", " border-radius: 1rem;\n", " height: 1rem;\n", " width: 1rem;\n", " text-decoration: none;\n", " /* unfitted */\n", " color: var(--sklearn-color-unfitted-level-1);\n", " border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", "}\n", "\n", "#sk-container-id-1 a.estimator_doc_link.fitted {\n", " /* fitted */\n", " border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", " color: var(--sklearn-color-fitted-level-1);\n", "}\n", "\n", "/* On hover */\n", "#sk-container-id-1 a.estimator_doc_link:hover {\n", " /* unfitted */\n", " background-color: var(--sklearn-color-unfitted-level-3);\n", " color: var(--sklearn-color-background);\n", " text-decoration: none;\n", "}\n", "\n", "#sk-container-id-1 a.estimator_doc_link.fitted:hover {\n", " /* fitted */\n", " background-color: var(--sklearn-color-fitted-level-3);\n", "}\n", "</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>SVC(kernel='linear')</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>SVC</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.6/modules/generated/sklearn.svm.SVC.html\">?<span>Documentation for SVC</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></div></label><div class=\"sk-toggleable__content fitted\"><pre>SVC(kernel='linear')</pre></div> </div></div></div></div>" ] }, "metadata": {}, "execution_count": 10 } ] }, { "cell_type": "markdown", "metadata": { "id": "umVph3jWO1_l" }, "source": [ "### *Predicting, what the digit is from Test Data*" ] }, { "cell_type": "code", "metadata": { "id": "Cf1TTKbAO8i9", "colab": { "base_uri": "https://localhost:8080/", "height": 535 }, "outputId": "cc0a3dca-d97c-4390-f1c0-6d1f52fa84c0" }, "source": [ "n=13\n", "result = model.predict(dataset.images[n].reshape((1,-1)))\n", "plt.imshow(dataset.images[n], cmap=plt.cm.gray_r, interpolation='nearest')\n", "print(result)\n", "print(\"\\n\")\n", "plt.axis('off')\n", "plt.title('%i' %result)\n", "plt.show()" ], "execution_count": 11, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "[3]\n", "\n", "\n" ] }, { "output_type": "stream", "name": "stderr", "text": [ "<ipython-input-11-e7c448382e0f>:7: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.)\n", " plt.title('%i' %result)\n" ] }, { "output_type": "display_data", "data": { "text/plain": [ "<Figure size 640x480 with 1 Axes>" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "metadata": { "id": "7LeUrxqkJP6w" }, "source": [ "### *Prediction for Test Data*" ] }, { "cell_type": "code", "metadata": { "id": "2mcLDrhzJTwh", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "c1e6ad1e-6f04-4441-deba-6d4e9c4cca64" }, "source": [ "y_pred = model.predict(X_test)\n", "print(np.concatenate((y_pred.reshape(len(y_pred),1), y_test.reshape(len(y_test),1)),1))" ], "execution_count": 12, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "[[2 2]\n", " [8 8]\n", " [2 2]\n", " [6 6]\n", " [6 6]\n", " [7 7]\n", " [1 1]\n", " [9 9]\n", " [8 8]\n", " [5 5]\n", " [2 2]\n", " [8 8]\n", " [6 6]\n", " [6 6]\n", " [6 6]\n", " [6 6]\n", " [1 1]\n", " [0 0]\n", " [5 5]\n", " [8 8]\n", " [8 8]\n", " [7 7]\n", " [8 8]\n", " [4 4]\n", " [7 7]\n", " [5 5]\n", " [4 4]\n", " [9 9]\n", " [2 2]\n", " [9 9]\n", " [4 4]\n", " [7 7]\n", " [6 6]\n", " [8 8]\n", " [9 9]\n", " [4 4]\n", " [3 3]\n", " [1 1]\n", " [0 0]\n", " [1 1]\n", " [8 8]\n", " [6 6]\n", " [7 7]\n", " [7 7]\n", " [1 1]\n", " [0 0]\n", " [7 7]\n", " [6 6]\n", " [2 2]\n", " [1 1]\n", " [9 9]\n", " [6 6]\n", " [7 7]\n", " [9 9]\n", " [0 0]\n", " [0 0]\n", " [5 5]\n", " [1 1]\n", " [6 6]\n", " [3 3]\n", " [0 0]\n", " [2 2]\n", " [3 3]\n", " [4 4]\n", " [1 1]\n", " [9 9]\n", " [2 2]\n", " [6 6]\n", " [9 9]\n", " [1 1]\n", " [8 8]\n", " [3 3]\n", " [5 5]\n", " [1 1]\n", " [2 2]\n", " [8 8]\n", " [2 2]\n", " [2 2]\n", " [9 9]\n", " [7 7]\n", " [2 2]\n", " [3 3]\n", " [6 6]\n", " [0 0]\n", " [5 5]\n", " [3 3]\n", " [7 7]\n", " [5 5]\n", " [1 1]\n", " [2 2]\n", " [9 9]\n", " [9 9]\n", " [3 3]\n", " [1 1]\n", " [7 7]\n", " [7 7]\n", " [4 4]\n", " [8 8]\n", " [5 5]\n", " [8 8]\n", " [5 5]\n", " [5 5]\n", " [2 2]\n", " [5 5]\n", " [9 9]\n", " [0 0]\n", " [7 7]\n", " [1 1]\n", " [4 4]\n", " [4 7]\n", " [3 3]\n", " [4 4]\n", " [8 8]\n", " [9 9]\n", " [7 7]\n", " [9 9]\n", " [8 8]\n", " [2 2]\n", " [1 6]\n", " [5 5]\n", " [2 2]\n", " [5 5]\n", " [8 8]\n", " [4 4]\n", " [1 8]\n", " [7 7]\n", " [0 0]\n", " [6 6]\n", " [1 1]\n", " [5 5]\n", " [5 9]\n", " [9 9]\n", " [9 9]\n", " [5 5]\n", " [9 9]\n", " [9 9]\n", " [5 5]\n", " [7 7]\n", " [5 5]\n", " [6 6]\n", " [2 2]\n", " [8 8]\n", " [6 6]\n", " [9 9]\n", " [6 6]\n", " [1 1]\n", " [5 5]\n", " [1 1]\n", " [5 5]\n", " [9 9]\n", " [9 9]\n", " [1 1]\n", " [5 5]\n", " [3 3]\n", " [6 6]\n", " [1 1]\n", " [8 8]\n", " [9 9]\n", " [8 8]\n", " [7 7]\n", " [6 6]\n", " [7 7]\n", " [6 6]\n", " [5 5]\n", " [6 6]\n", " [0 0]\n", " [8 8]\n", " [8 8]\n", " [9 9]\n", " [8 8]\n", " [6 6]\n", " [1 1]\n", " [0 0]\n", " [4 4]\n", " [1 1]\n", " [6 6]\n", " [3 3]\n", " [8 8]\n", " [6 6]\n", " [7 7]\n", " [4 4]\n", " [9 5]\n", " [6 6]\n", " [3 3]\n", " [0 0]\n", " [3 3]\n", " [3 3]\n", " [3 3]\n", " [0 0]\n", " [7 7]\n", " [7 7]\n", " [5 5]\n", " [7 7]\n", " [8 8]\n", " [0 0]\n", " [7 7]\n", " [1 8]\n", " [9 9]\n", " [6 6]\n", " [4 4]\n", " [5 5]\n", " [0 0]\n", " [1 1]\n", " [4 4]\n", " [6 6]\n", " [4 4]\n", " [3 3]\n", " [3 3]\n", " [0 0]\n", " [9 9]\n", " [5 5]\n", " [3 9]\n", " [2 2]\n", " [1 1]\n", " [4 4]\n", " [2 2]\n", " [1 1]\n", " [6 6]\n", " [8 8]\n", " [9 9]\n", " [2 2]\n", " [4 4]\n", " [9 9]\n", " [3 3]\n", " [7 7]\n", " [6 6]\n", " [2 2]\n", " [3 3]\n", " [3 3]\n", " [1 1]\n", " [6 6]\n", " [9 9]\n", " [3 3]\n", " [6 6]\n", " [3 3]\n", " [2 2]\n", " [2 2]\n", " [0 0]\n", " [7 7]\n", " [6 6]\n", " [1 1]\n", " [1 1]\n", " [9 9]\n", " [7 7]\n", " [2 2]\n", " [7 7]\n", " [8 8]\n", " [5 5]\n", " [5 5]\n", " [7 7]\n", " [5 5]\n", " [2 2]\n", " [3 3]\n", " [7 7]\n", " [2 2]\n", " [7 7]\n", " [5 5]\n", " [5 5]\n", " [7 7]\n", " [0 0]\n", " [9 9]\n", " [1 1]\n", " [6 6]\n", " [5 5]\n", " [9 9]\n", " [7 7]\n", " [4 4]\n", " [3 3]\n", " [8 8]\n", " [0 0]\n", " [3 3]\n", " [6 6]\n", " [4 4]\n", " [6 6]\n", " [3 3]\n", " [2 2]\n", " [6 6]\n", " [8 8]\n", " [8 8]\n", " [8 8]\n", " [4 4]\n", " [6 6]\n", " [7 7]\n", " [5 5]\n", " [2 2]\n", " [4 4]\n", " [5 5]\n", " [3 3]\n", " [2 2]\n", " [4 4]\n", " [6 6]\n", " [9 9]\n", " [4 4]\n", " [5 5]\n", " [4 4]\n", " [3 3]\n", " [4 4]\n", " [6 6]\n", " [2 2]\n", " [9 9]\n", " [0 0]\n", " [1 1]\n", " [7 7]\n", " [2 2]\n", " [0 0]\n", " [9 9]\n", " [6 6]\n", " [0 0]\n", " [4 4]\n", " [2 2]\n", " [0 0]\n", " [7 7]\n", " [9 9]\n", " [8 8]\n", " [5 5]\n", " [4 4]\n", " [8 8]\n", " [2 2]\n", " [8 8]\n", " [4 4]\n", " [3 3]\n", " [7 7]\n", " [2 2]\n", " [6 6]\n", " [9 9]\n", " [1 1]\n", " [5 5]\n", " [1 1]\n", " [0 0]\n", " [8 8]\n", " [2 2]\n", " [8 1]\n", " [9 9]\n", " [5 5]\n", " [6 6]\n", " [2 8]\n", " [2 2]\n", " [7 7]\n", " [2 2]\n", " [1 1]\n", " [5 5]\n", " [1 1]\n", " [6 6]\n", " [4 4]\n", " [5 5]\n", " [0 0]\n", " [9 9]\n", " [4 4]\n", " [1 1]\n", " [1 1]\n", " [7 7]\n", " [0 0]\n", " [8 8]\n", " [9 9]\n", " [0 0]\n", " [5 5]\n", " [4 4]\n", " [3 3]\n", " [8 8]\n", " [8 8]\n", " [6 6]\n", " [5 5]\n", " [3 3]\n", " [4 4]\n", " [4 4]\n", " [4 4]\n", " [8 8]\n", " [8 8]\n", " [7 7]\n", " [0 0]\n", " [9 9]\n", " [6 6]\n", " [3 3]\n", " [5 5]\n", " [2 2]\n", " [3 3]\n", " [0 0]\n", " [8 8]\n", " [8 3]\n", " [3 3]\n", " [1 1]\n", " [3 3]\n", " [3 3]\n", " [0 0]\n", " [0 0]\n", " [4 4]\n", " [6 6]\n", " [0 0]\n", " [7 7]\n", " [7 7]\n", " [6 6]\n", " [2 2]\n", " [0 0]\n", " [4 4]\n", " [4 4]\n", " [2 2]\n", " [3 3]\n", " [7 7]\n", " [1 8]\n", " [9 9]\n", " [8 8]\n", " [6 6]\n", " [8 8]\n", " [5 5]\n", " [6 6]\n", " [2 2]\n", " [2 2]\n", " [3 3]\n", " [1 1]\n", " [7 7]\n", " [7 7]\n", " [8 8]\n", " [0 0]\n", " [3 3]\n", " [3 3]\n", " [2 2]\n", " [1 1]\n", " [5 5]\n", " [5 5]\n", " [9 9]\n", " [1 1]\n", " [3 3]\n", " [7 7]\n", " [0 0]\n", " [0 0]\n", " [7 7]\n", " [0 0]\n", " [4 4]\n", " [5 5]\n", " [8 9]\n", " [9 3]\n", " [3 3]\n", " [4 4]\n", " [3 3]\n", " [1 1]\n", " [8 8]\n", " [9 9]\n", " [8 8]\n", " [3 3]\n", " [6 6]\n", " [2 2]\n", " [1 1]\n", " [6 6]\n", " [2 2]\n", " [1 1]\n", " [7 7]\n", " [5 5]\n", " [5 5]\n", " [1 1]\n", " [9 9]]\n" ] } ] }, { "cell_type": "markdown", "metadata": { "id": "gfNRnb-MJi9P" }, "source": [ "### *Evaluate Model - Accuracy Score*" ] }, { "cell_type": "code", "metadata": { "id": "irsPBj9KJnl-", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "9fcd5e90-df75-4aee-d182-d3c938032b54" }, "source": [ "from sklearn.metrics import accuracy_score\n", "print(\"Accuracy of the Model: {0}%\".format(accuracy_score(y_test, y_pred)*100))" ], "execution_count": 13, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Accuracy of the Model: 97.11111111111111%\n" ] } ] }, { "cell_type": "markdown", "metadata": { "id": "C95vmesVLUrO" }, "source": [ "### *Play with the Different Method*" ] }, { "cell_type": "code", "metadata": { "id": "BVv7Pux6LdpH", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "cb5ae2d4-1583-4f09-8641-98028ef13223" }, "source": [ "from sklearn import svm\n", "model1 = svm.SVC(kernel='linear')\n", "model2 = svm.SVC(kernel='rbf')\n", "model3 = svm.SVC(gamma=0.001)\n", "model4 = svm.SVC(gamma=0.001,C=0.1)\n", "\n", "model1.fit(X_train,y_train)\n", "model2.fit(X_train,y_train)\n", "model3.fit(X_train,y_train)\n", "model4.fit(X_train,y_train)\n", "\n", "y_predModel1 = model1.predict(X_test)\n", "y_predModel2 = model2.predict(X_test)\n", "y_predModel3 = model3.predict(X_test)\n", "y_predModel4 = model4.predict(X_test)\n", "\n", "print(\"Accuracy of the Model 1: {0}%\".format(accuracy_score(y_test, y_predModel1)*100))\n", "print(\"Accuracy of the Model 2: {0}%\".format(accuracy_score(y_test, y_predModel2)*100))\n", "print(\"Accuracy of the Model 3: {0}%\".format(accuracy_score(y_test, y_predModel3)*100))\n", "print(\"Accuracy of the Model 4: {0}%\".format(accuracy_score(y_test, y_predModel4)*100))" ], "execution_count": 14, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Accuracy of the Model 1: 97.11111111111111%\n", "Accuracy of the Model 2: 99.11111111111111%\n", "Accuracy of the Model 3: 99.55555555555556%\n", "Accuracy of the Model 4: 96.66666666666667%\n" ] } ] }, { "cell_type": "markdown", "metadata": { "id": "Z22DqlQn_DaS" }, "source": [] } ] }