{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as pt\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.tree import DecisionTreeClassifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "train = pd.read_csv(\"./fashion-mnist_train.csv\")\n",
    "data = pd.read_csv(\"./fashion-mnist_train.csv\").values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[2 0 0 ... 0 0 0]\n",
      " [9 0 0 ... 0 0 0]\n",
      " [6 0 0 ... 0 0 0]\n",
      " ...\n",
      " [8 0 0 ... 0 0 0]\n",
      " [8 0 0 ... 0 0 0]\n",
      " [7 0 0 ... 0 0 0]]\n"
     ]
    }
   ],
   "source": [
    "print(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "clf = DecisionTreeClassifier()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-1 {color: black;background-color: white;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>DecisionTreeClassifier()</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 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 sk-toggleable__label-arrow\">DecisionTreeClassifier</label><div class=\"sk-toggleable__content\"><pre>DecisionTreeClassifier()</pre></div></div></div></div></div>"
      ],
      "text/plain": [
       "DecisionTreeClassifier()"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xtrain = data[0:21000,1:]\n",
    "train_label = data[0:21000,0]\n",
    "clf.fit(xtrain,train_label)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "xtest = data[21000:,1:]\n",
    "actual_label = data[21000:,0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "d = xtest[8]\n",
    "d.shape=(28,28)\n",
    "pt.imshow(255-d,cmap='gray')\n",
    "pt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1]\n"
     ]
    }
   ],
   "source": [
    "print (clf.predict([xtest[8]]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "p = clf.predict(xtest)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "16179\n",
      "77.04285714285714\n"
     ]
    }
   ],
   "source": [
    "count_accuracy = 0\n",
    "for i in range(0,21000):\n",
    "    count_accuracy+=1 if p[i]==actual_label[i] else 0\n",
    "print (count_accuracy)\n",
    "print ((count_accuracy/21000)*100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "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.9.15"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
