diff --git a/Project_Outline.ipynb b/Project_Outline.ipynb index e47f144..2383ed6 100644 --- a/Project_Outline.ipynb +++ b/Project_Outline.ipynb @@ -1 +1,1209 @@ -{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"Project Outline.ipynb","provenance":[],"authorship_tag":"ABX9TyPZl4d0nA5Qmq8X1mDqSb1O"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"markdown","source":["# **Title of Project**"],"metadata":{"id":"dqZ-nhxiganh"}},{"cell_type":"markdown","source":["-------------"],"metadata":{"id":"gScHkw6jjrLo"}},{"cell_type":"markdown","source":["## **Objective**"],"metadata":{"id":"Xns_rCdhh-vZ"}},{"cell_type":"markdown","source":[""],"metadata":{"id":"9sPvnFM1iI9l"}},{"cell_type":"markdown","source":["## **Data Source**"],"metadata":{"id":"-Vbnt9CciKJP"}},{"cell_type":"markdown","source":[""],"metadata":{"id":"sGcv5WqQiNyl"}},{"cell_type":"markdown","source":["## **Import Library**"],"metadata":{"id":"r7GrZzX0iTlV"}},{"cell_type":"code","source":[""],"metadata":{"id":"UkK6NH9DiW-X"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["## **Import Data**"],"metadata":{"id":"9lHPQj1XiOUc"}},{"cell_type":"code","source":[""],"metadata":{"id":"zcU1fdnGho6M"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["## **Describe Data**"],"metadata":{"id":"7PUnimBoiX-x"}},{"cell_type":"code","source":[""],"metadata":{"id":"kG15arusiZ8Z"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["## **Data Visualization**"],"metadata":{"id":"oBGX4Ekniriz"}},{"cell_type":"code","source":[""],"metadata":{"id":"lW-OIRK0iuzO"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["## **Data Preprocessing**"],"metadata":{"id":"UqfyPOCYiiww"}},{"cell_type":"code","source":[""],"metadata":{"id":"3cyr3fbGin0A"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["## **Define Target Variable (y) and Feature Variables (X)**"],"metadata":{"id":"2jXJpdAuiwYW"}},{"cell_type":"code","source":[""],"metadata":{"id":"QBCakTuli57t"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["## **Train Test Split**"],"metadata":{"id":"90_0q_Pbi658"}},{"cell_type":"code","source":[""],"metadata":{"id":"u60YYaOFi-Dw"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["## **Modeling**"],"metadata":{"id":"cIhyseNria7W"}},{"cell_type":"code","source":[""],"metadata":{"id":"Toq58wpkjCw7"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["## **Model Evaluation**"],"metadata":{"id":"vhAwWfG0jFun"}},{"cell_type":"code","source":[""],"metadata":{"id":"lND3jJj_jhx4"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["## **Prediction**"],"metadata":{"id":"8AzwG7oLjiQI"}},{"cell_type":"code","source":[""],"metadata":{"id":"JLebGzDJjknA"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["## **Explaination**"],"metadata":{"id":"SBo38CJZjlEX"}},{"cell_type":"markdown","source":[""],"metadata":{"id":"Ybi8FR9Kjv00"}}]} \ No newline at end of file +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "authorship_tag": "ABX9TyMDsrofmVp478drccS8I2b1", + "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": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "source": [ + "# **Import Library**\n" + ], + "metadata": { + "id": "v5gs1zYHcHsS" + } + }, + { + "cell_type": "code", + "source": [ + "import pandas as pd" + ], + "metadata": { + "id": "3Ep9XgbacebF" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import numpy as np" + ], + "metadata": { + "id": "ocuC3ZxFcjNW" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import matplotlib.pyplot as plt" + ], + "metadata": { + "id": "FnWTTK_KcnMP" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# **Import Data**" + ], + "metadata": { + "id": "BtBXkBgwcu2O" + } + }, + { + "cell_type": "code", + "source": [ + "from sklearn.datasets import load_digits" + ], + "metadata": { + "id": "joFDzlv-czcb" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "df = load_digits()" + ], + "metadata": { + "id": "vhFWaq1Fc-OB" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "_, axes = plt.subplots(nrows=1, ncols=4, figsize=(10, 3))\n", + "for ax, image, label in zip(axes, df.images, df.target):\n", + " ax.set_axis_off()\n", + " ax.imshow(image, cmap=plt.cm.gray_r, interpolation=\"nearest\")\n", + " ax.set_title(\"Training: %i\" % label)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 187 + }, + "id": "ozAsy9ijdB_2", + "outputId": "97a8b6e2-903b-4a58-9944-89bfd05ea3fa" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxsAAADSCAYAAAAi0d0oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAASFklEQVR4nO3db5CVZd0H8N8KsRsBsiLkkiUsOmPJIAHNJCbgsBCkBkmgLxhZxgYqGaM/M8sU5oJlkjZjhRnxBgNzlDLIJlMY2JymN7GyloYzSyw6GU6Kyx9F/no/L57HfaIld8Hr8rC7n88MM+x1zv29rwP82POd++w5ZUVRFAEAAJDYOaXeAAAA0D0pGwAAQBbKBgAAkIWyAQAAZKFsAAAAWSgbAABAFsoGAACQhbIBAABkoWwAAABZKBtnoLa2NoYNG3ZGx9bX10dZWVnaDcFZyJxAx8wJdMycdG3dqmyUlZV16ldDQ0Opt3rW+dOf/hSf+tSnom/fvnHBBRfErbfeGq+//nqpt0UG5uTMPPnkk3HzzTfHyJEjo1evXmf8jY+uwZycvkOHDsV9990XU6dOjaqqqujfv398/OMfj/vvvz9OnDhR6u2RgTk5M3feeWd88pOfjMGDB0dFRUVccsklsXjx4njllVdKvbUsyoqiKEq9iVTWrVt30tc///nPY9OmTbF27dqT1qdMmRIf/OAHz/g8x44di7feeivKy8tP+9jjx4/H8ePHo6Ki4ozPn1pTU1NcccUV8dGPfjQWLFgQ//jHP+Kee+6Jq6++Oh5//PFSb4/EzMmZqa2tjYcffjjGjBkTL774YvTq1St2795d6m2RiTk5fc8++2yMGjUqJk+eHFOnTo0BAwbEE088Eb/+9a/jpptuigceeKDUWyQxc3JmZs2aFYMHD45LL700+vfvHzt27IjVq1fHkCFDoqmpKT7wgQ+UeotpFd3YLbfcUnTmIb7xxhvvwW7OXtOnTy+qqqqK/fv3t62tXr26iIjiiSeeKOHOeC+Yk8556aWXiqNHjxZFURTXXHNNcdFFF5V2Q7ynzEnHXnnlleLZZ59ttz5//vwiIorm5uYS7Ir3kjk5c7/85S+LiCgeeuihUm8luW71MqrOmDRpUowcOTIaGxtjwoQJ0bdv3/jmN78ZEREbN26Ma665JoYOHRrl5eUxYsSIuOOOO9pd/v3P1w7u3r07ysrK4p577omf/exnMWLEiCgvL49PfOIT8ec///mkY0/12sGysrJYtGhRbNiwIUaOHBnl5eVx2WWXxe9///t2+29oaIhx48ZFRUVFjBgxIlatWnXKzFdffTWef/75OHTo0Dv+eRw4cCA2bdoUc+fOjQEDBrSt33TTTdGvX7945JFH3vF4uidz0t7QoUPjfe97X4f3o+cwJyc7//zz47LLLmu3/rnPfS4iInbs2PGOx9M9mZPOefvx7du374yOP5v1LvUGSmHv3r0xffr0uPHGG2Pu3Lltl/bWrFkT/fr1i6997WvRr1+/2LJlS3z729+OAwcOxN13391h7i9+8Ys4ePBgLFy4MMrKyuL73/9+XH/99bFr164On6T88Y9/jEcffTS+/OUvR//+/eNHP/pRzJo1K1588cUYNGhQRERs3749pk2bFlVVVbFs2bI4ceJELF++PAYPHtwub+XKlbFs2bLYunVrTJo06b+e969//WscP348xo0bd9J6nz59YvTo0bF9+/YOHzfdkzmBjpmTjr388ssR8b9lhJ7JnLRXFEXs3bs3jh8/Hs3NzbFkyZLo1atX9/xeVOpLKzmd6nLexIkTi4gofvrTn7a7/6FDh9qtLVy4sOjbt29x+PDhtrV58+ad9BKKlpaWIiKKQYMGFa+99lrb+saNG4uIKB577LG2tdtvv73dniKi6NOnT7Fz5862tWeeeaaIiOLHP/5x29p1111X9O3bt3jppZfa1pqbm4vevXu3y3z7PFu3bm33mP7d+vXri4gonnrqqXa3zZ49u7jgggve8Xi6PnPS8Zz8Jy+j6nnMyenPSVEUxZEjR4qPfexjxfDhw4tjx46d9vF0Leak83OyZ8+eIiLafl144YXFww8/3Klju5oe9zKqiIjy8vKYP39+u/X3v//9bb8/ePBgvPrqq3HVVVfFoUOH4vnnn+8w94YbbojKysq2r6+66qqIiNi1a1eHx9bU1MSIESPavh41alQMGDCg7dgTJ07E5s2bY+bMmTF06NC2+1188cUxffr0dnn19fVRFEWHDfnNN9+MiDjlD11VVFS03U7PY06gY+bknS1atCj+9re/xcqVK6N37x75YgrCnJzKeeedF5s2bYrHHnssli9fHueff363fRfQHjn5H/rQh6JPnz7t1p977rlYunRpbNmyJQ4cOHDSbfv37+8w9yMf+chJ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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# **Data Preprocessing**" + ], + "metadata": { + "id": "9AD6wZBqflon" + } + }, + { + "cell_type": "markdown", + "source": [ + "Flatten Image" + ], + "metadata": { + "id": "sh0UQbGHfr43" + } + }, + { + "cell_type": "code", + "source": [ + "df.images.shape" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "GGnClwdaf96n", + "outputId": "d7a381c6-c24c-4856-ca77-ee13b649b94c" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(1797, 8, 8)" + ] + }, + "metadata": {}, + "execution_count": 12 + } + ] + }, + { + "cell_type": "code", + "source": [ + "df.images[0]" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "2qz0a3l_gKlI", + "outputId": "d4f87992-aab0-43fb-cb6e-e7c5c46d716d" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 0., 0., 5., 13., 9., 1., 0., 0.],\n", + " [ 0., 0., 13., 15., 10., 15., 5., 0.],\n", + " [ 0., 3., 15., 2., 0., 11., 8., 0.],\n", + " [ 0., 4., 12., 0., 0., 8., 8., 0.],\n", + " [ 0., 5., 8., 0., 0., 9., 8., 0.],\n", + " [ 0., 4., 11., 0., 1., 12., 7., 0.],\n", + " [ 0., 2., 14., 5., 10., 12., 0., 0.],\n", + " [ 0., 0., 6., 13., 10., 0., 0., 0.]])" + ] + }, + "metadata": {}, + "execution_count": 13 + } + ] + }, + { + "cell_type": "code", + "source": [ + "df.images[0].shape" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "e7wudT3-gN8U", + "outputId": "a2b1c369-fe5f-4452-e997-19e8df8bac7d" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(8, 8)" + ] + }, + "metadata": {}, + "execution_count": 14 + } + ] + }, + { + "cell_type": "code", + "source": [ + "len(df.images)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "y1YXqIVKgScn", + "outputId": "68205992-7b29-41b5-8b58-f216aa0e6719" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1797" + ] + }, + "metadata": {}, + "execution_count": 16 + } + ] + }, + { + "cell_type": "code", + "source": [ + "n_samples = len(df.images)\n", + "data = df.images.reshape((n_samples, -1))" + ], + "metadata": { + "id": "fOsOxcUTgZOQ" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "data[0]" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "X5FNNs61gudS", + "outputId": "a3ae7351-2c74-47b1-bafd-b0f38fb7844d" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([ 0., 0., 5., 13., 9., 1., 0., 0., 0., 0., 13., 15., 10.,\n", + " 15., 5., 0., 0., 3., 15., 2., 0., 11., 8., 0., 0., 4.,\n", + " 12., 0., 0., 8., 8., 0., 0., 5., 8., 0., 0., 9., 8.,\n", + " 0., 0., 4., 11., 0., 1., 12., 7., 0., 0., 2., 14., 5.,\n", + " 10., 12., 0., 0., 0., 0., 6., 13., 10., 0., 0., 0.])" + ] + }, + "metadata": {}, + "execution_count": 19 + } + ] + }, + { + "cell_type": "code", + "source": [ + "data[0].shape" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "JGz95wiugw9i", + "outputId": "429203b9-e601-4a13-d61b-c2b843e6d7d8" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(64,)" + ] + }, + "metadata": {}, + "execution_count": 20 + } + ] + }, + { + "cell_type": "code", + "source": [ + "data.shape" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "OJI67zxVg2hn", + "outputId": "aa28b5a3-28ec-4b5c-e3dd-1cabe7041d6a" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(1797, 64)" + ] + }, + "metadata": {}, + "execution_count": 21 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# **Scalingg Image Data**" + ], + "metadata": { + "id": "3cqX7uxxg6lW" + } + }, + { + "cell_type": "code", + "source": [ + "data.min()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "-Rd3xl93g_VT", + "outputId": "84d504be-a580-48fa-f7df-91242a71c9cb" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.0" + ] + }, + "metadata": {}, + "execution_count": 22 + } + ] + }, + { + "cell_type": "code", + "source": [ + "data.max()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "pGlkZI5dhDAM", + "outputId": "e6ccc750-10ca-4567-a441-00e6b10ef659" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "16.0" + ] + }, + "metadata": {}, + "execution_count": 23 + } + ] + }, + { + "cell_type": "code", + "source": [ + "data = data/16" + ], + "metadata": { + "id": "AMMMrTb7hPCR" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "data.min()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "yUHDLYYwhSpL", + "outputId": "122be94d-196b-4be7-9746-992bce223ed4" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0.0" + ] + }, + "metadata": {}, + "execution_count": 26 + } + ] + }, + { + "cell_type": "code", + "source": [ + "data.max()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ZlQJk0qZhV1I", + "outputId": "4cf6390b-1771-4f3d-8221-42b6b37c5067" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1.0" + ] + }, + "metadata": {}, + "execution_count": 27 + } + ] + }, + { + "cell_type": "code", + "source": [ + "data[0]" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "o78RdBdrhYnh", + "outputId": "ad915599-0175-433d-a8c2-83418b117bc7" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([0. , 0. , 0.3125, 0.8125, 0.5625, 0.0625, 0. , 0. ,\n", + " 0. , 0. , 0.8125, 0.9375, 0.625 , 0.9375, 0.3125, 0. ,\n", + " 0. , 0.1875, 0.9375, 0.125 , 0. , 0.6875, 0.5 , 0. ,\n", + " 0. , 0.25 , 0.75 , 0. , 0. , 0.5 , 0.5 , 0. ,\n", + " 0. , 0.3125, 0.5 , 0. , 0. , 0.5625, 0.5 , 0. ,\n", + " 0. , 0.25 , 0.6875, 0. , 0.0625, 0.75 , 0.4375, 0. ,\n", + " 0. , 0.125 , 0.875 , 0.3125, 0.625 , 0.75 , 0. , 0. ,\n", + " 0. , 0. , 0.375 , 0.8125, 0.625 , 0. , 0. , 0. ])" + ] + }, + "metadata": {}, + "execution_count": 28 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# **Train Test Split Data**" + ], + "metadata": { + "id": "MoWIFkzWhdVe" + } + }, + { + "cell_type": "code", + "source": [ + "from sklearn.model_selection import train_test_split" + ], + "metadata": { + "id": "16BeaRfohjym" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "X_train, X_test, y_train, y_test = train_test_split(data, df.target, test_size=0.3)" + ], + "metadata": { + "id": "4LBv49AZh2yP" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "X_train.shape, X_test.shape, y_train.shape, y_test.shape" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "GuvNBVqhh4-w", + "outputId": "f86f7105-ce4e-4139-95f7-6e194132b941" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "((1257, 64), (540, 64), (1257,), (540,))" + ] + }, + "metadata": {}, + "execution_count": 36 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# **Random Forest Model**" + ], + "metadata": { + "id": "M70wSYCEir64" + } + }, + { + "cell_type": "code", + "source": [ + "from sklearn.ensemble import RandomForestClassifier" + ], + "metadata": { + "id": "vNCssNQniwJW" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "rf = RandomForestClassifier()" + ], + "metadata": { + "id": "ndqrmY68i43D" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "rf.fit(X_train, y_train)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 80 + }, + "id": "jjwsdb7FjAY6", + "outputId": "8200c532-c40e-4717-db5d-fa9f293022cb" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "RandomForestClassifier()" + ], + "text/html": [ + "
RandomForestClassifier()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ] + }, + "metadata": {}, + "execution_count": 39 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# **Predict Test Data**" + ], + "metadata": { + "id": "TRe355sqjIEd" + } + }, + { + "cell_type": "code", + "source": [ + "y_pred = rf.predict(X_test)" + ], + "metadata": { + "id": "SQDdGN89jMfx" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "y_pred" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "d0AqTtEzjR8L", + "outputId": "6a8daff4-e352-4491-a19a-a0db8ba014ef" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([6, 7, 3, 5, 2, 3, 5, 6, 8, 6, 7, 9, 4, 1, 9, 6, 7, 7, 0, 8, 0, 4,\n", + " 0, 5, 3, 4, 4, 2, 8, 2, 7, 3, 4, 0, 3, 9, 5, 4, 6, 6, 1, 8, 7, 1,\n", + " 9, 9, 0, 8, 5, 9, 4, 9, 4, 9, 1, 8, 3, 7, 9, 9, 5, 2, 6, 5, 3, 0,\n", + " 2, 7, 8, 0, 2, 6, 1, 9, 8, 6, 9, 3, 7, 6, 0, 4, 3, 4, 0, 2, 3, 6,\n", + " 9, 6, 8, 8, 0, 4, 5, 5, 2, 9, 0, 5, 9, 6, 3, 9, 2, 5, 5, 6, 1, 6,\n", + " 7, 4, 1, 9, 6, 2, 5, 3, 3, 6, 7, 3, 1, 3, 8, 3, 5, 2, 1, 1, 3, 8,\n", + " 0, 6, 0, 2, 7, 0, 5, 8, 1, 4, 0, 6, 8, 9, 7, 6, 6, 9, 1, 5, 8, 7,\n", + " 3, 4, 8, 5, 4, 9, 7, 6, 3, 0, 1, 3, 7, 4, 1, 8, 6, 9, 2, 9, 7, 9,\n", + " 7, 4, 6, 9, 4, 0, 1, 2, 0, 2, 1, 9, 2, 2, 4, 7, 4, 1, 9, 8, 0, 1,\n", + " 4, 9, 1, 3, 6, 8, 3, 8, 6, 5, 1, 9, 5, 4, 9, 1, 4, 0, 3, 0, 1, 0,\n", + " 5, 9, 4, 3, 5, 4, 3, 6, 2, 9, 6, 4, 6, 4, 1, 0, 8, 0, 9, 1, 5, 3,\n", + " 6, 1, 3, 0, 4, 3, 1, 0, 8, 9, 4, 1, 6, 4, 3, 8, 1, 4, 8, 0, 6, 5,\n", + " 0, 0, 8, 6, 1, 2, 9, 9, 8, 1, 5, 6, 7, 9, 5, 7, 1, 4, 0, 4, 1, 4,\n", + " 4, 1, 1, 8, 6, 7, 7, 5, 6, 2, 8, 1, 0, 7, 4, 0, 7, 8, 6, 5, 8, 3,\n", + " 1, 4, 3, 4, 9, 0, 2, 1, 8, 7, 3, 7, 8, 0, 2, 2, 5, 1, 2, 3, 9, 6,\n", + " 0, 3, 2, 9, 9, 9, 3, 6, 0, 8, 5, 4, 4, 0, 9, 3, 1, 8, 5, 2, 4, 7,\n", + " 6, 4, 7, 9, 3, 1, 5, 7, 8, 1, 2, 1, 5, 4, 6, 4, 7, 3, 3, 4, 3, 2,\n", + " 6, 2, 5, 3, 0, 9, 8, 7, 2, 2, 5, 3, 4, 0, 8, 8, 2, 3, 5, 3, 3, 3,\n", + " 8, 3, 1, 1, 3, 8, 1, 1, 8, 9, 4, 5, 8, 6, 9, 8, 8, 5, 4, 1, 2, 1,\n", + " 2, 6, 9, 0, 9, 5, 9, 7, 8, 5, 2, 1, 2, 7, 3, 1, 7, 0, 6, 0, 0, 2,\n", + " 7, 1, 6, 5, 2, 7, 7, 8, 6, 2, 9, 2, 0, 9, 0, 4, 5, 4, 6, 7, 2, 7,\n", + " 0, 2, 3, 3, 7, 1, 2, 8, 4, 0, 1, 6, 9, 8, 9, 9, 4, 9, 4, 7, 1, 0,\n", + " 5, 1, 2, 2, 4, 5, 1, 4, 1, 5, 3, 9, 1, 8, 4, 9, 6, 0, 5, 9, 7, 7,\n", + " 6, 9, 5, 8, 4, 8, 9, 2, 3, 5, 5, 4, 1, 1, 4, 6, 8, 6, 2, 6, 1, 7,\n", + " 3, 3, 6, 4, 6, 3, 8, 7, 1, 9, 7, 7])" + ] + }, + "metadata": {}, + "execution_count": 41 + } + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "we5tTz5GjUX5" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# **Model Accuracy**" + ], + "metadata": { + "id": "xjL5lEJljZPS" + } + }, + { + "cell_type": "code", + "source": [ + "from sklearn.metrics import confusion_matrix, classification_report" + ], + "metadata": { + "id": "vYyrJv_zjd3o" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "confusion_matrix(y_test, y_pred)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "I_xy18m8juLP", + "outputId": "c7ed186f-c759-4db1-d53a-f1628530022f" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[49, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n", + " [ 0, 60, 0, 0, 0, 0, 0, 0, 0, 0],\n", + " [ 0, 0, 47, 0, 0, 0, 0, 0, 0, 0],\n", + " [ 0, 1, 0, 55, 0, 1, 0, 2, 2, 1],\n", + " [ 0, 0, 0, 0, 59, 0, 0, 0, 0, 0],\n", + " [ 0, 0, 0, 0, 0, 45, 0, 0, 0, 2],\n", + " [ 0, 0, 0, 0, 0, 0, 56, 0, 0, 0],\n", + " [ 0, 0, 0, 0, 0, 0, 0, 44, 0, 0],\n", + " [ 0, 1, 0, 0, 1, 0, 0, 2, 50, 0],\n", + " [ 0, 0, 0, 1, 0, 2, 0, 0, 1, 58]])" + ] + }, + "metadata": {}, + "execution_count": 43 + } + ] + }, + { + "cell_type": "code", + "source": [ + "print(classification_report(y_test, y_pred))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Pm4lVRU5j3BG", + "outputId": "5a65beda-1a1b-4200-a34b-95bf78122403" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 1.00 1.00 1.00 49\n", + " 1 0.97 1.00 0.98 60\n", + " 2 1.00 1.00 1.00 47\n", + " 3 0.98 0.89 0.93 62\n", + " 4 0.98 1.00 0.99 59\n", + " 5 0.94 0.96 0.95 47\n", + " 6 1.00 1.00 1.00 56\n", + " 7 0.92 1.00 0.96 44\n", + " 8 0.94 0.93 0.93 54\n", + " 9 0.95 0.94 0.94 62\n", + "\n", + " accuracy 0.97 540\n", + " macro avg 0.97 0.97 0.97 540\n", + "weighted avg 0.97 0.97 0.97 540\n", + "\n" + ] + } + ] + } + ] +}