--- a +++ b/notebooks/model/evaluation/testing.ipynb @@ -0,0 +1,200 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score, roc_curve, confusion_matrix, classification_report\n", + "\n", + "import warnings\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "import joblib\n", + "\n", + "warnings.filterwarnings('ignore')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "data = pd.read_csv('../../../data/input/test.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "feature = data.drop('LUNG_CANCER', axis='columns')\n", + "label = data['LUNG_CANCER']" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Load trained model\n", + "model = joblib.load('../../../models/gradient_boosting.joblib')\n", + "\n", + "pred = model.predict(feature)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAArMAAAHWCAYAAABkNgFvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABT8klEQVR4nO3deXgNZ//H8c9JZBWJJZEEIXYRIcRSW6kilofyaO17USUtUrXUTi2tpbRVlFq6KC2qWi3VlKpQe1RrJyRVSxQJQULO+f3h5zxOE1tEjtH367rOdWXuuWfmOydHfHLnnhmTxWKxCAAAADAgB3sXAAAAAGQWYRYAAACGRZgFAACAYRFmAQAAYFiEWQAAABgWYRYAAACGRZgFAACAYRFmAQAAYFiEWQAAABgWYRYAHnOHDx9Ww4YN5eXlJZPJpJUrV9q7JAB4bBBmARhebGysIiIiVKpUKbm7u8vd3V1ly5ZV37599dtvv9n0HT16tEwmk/Xl4OAgf39//ec//9Gvv/5qpzO4uy5dumjv3r0aP368PvnkE1WuXNneJQHAYyOHvQsAgIfx7bffqk2bNsqRI4c6dOigChUqyMHBQQcOHNCKFSs0a9YsxcbGqkiRIjbbzZo1Sx4eHjKbzYqPj9fcuXP19NNPa9u2bQoNDbXPyWTg6tWr2rJli4YNG6aIiAh7lwMAjx3CLADDOnr0qNq2basiRYooKipK/v7+NuvfeustffDBB3JwSP9HqOeff17e3t7W5RYtWqhcuXL68ssvH4swe+3aNTk7OyshIUGSlDt37izbd3JysnLmzJll+wMAe2KaAQDDevvtt5WcnKwFCxakC7KSlCNHDr366qsKCAi45778/Pys29yLyWRSRESEPvvsM5UuXVqurq4KCwvTxo0b0/U9efKkunfvLl9fX7m4uCg4OFjz58+36bNhwwaZTCYtWbJEw4cPV8GCBeXu7q7IyEjriPLrr78uk8mkwMBA63a7d+9W48aN5enpKQ8PDz377LPppkosXLhQJpNJP//8s/r06aP8+fOrUKFCkqS6deuqXLly+u2331SnTh25u7urRIkSWrZsmSTp559/VrVq1eTm5qbSpUvrxx9/tNn3iRMn1KdPH5UuXVpubm7Kly+fXnjhBR0/fjzDGqKjoxUZGSkfHx/lzJlTLVu2tIb1233//feqU6eOcuXKJU9PT1WpUkWLFy+26bN161Y1atRIXl5ecnd3V506dRQdHX2X7xqAJxUjswAM69tvv1WJEiVUrVq1B972/PnzkiSz2ayTJ09q3LhxcnV1VevWre9r+59//llLly7Vq6++KhcXF33wwQdq1KiRtm3bpnLlykmSzpw5o6eeesoafn18fPT999/rxRdfVFJSkvr372+zz3HjxsnZ2VkDBw5USkqKmjRposDAQA0YMEDt2rVTkyZN5OHhIUn6448/VLt2bXl6emrQoEFycnLSnDlzVLduXWsIvV2fPn3k4+OjkSNHKjk52dp+4cIF/ec//1Hbtm31wgsvaNasWWrbtq0+++wz9e/fX71791b79u01efJkPf/884qPj1euXLkkSdu3b9fmzZvVtm1bFSpUSMePH9esWbNUt25d7du3T+7u7jY1vPLKK8qTJ49GjRql48ePa/r06YqIiNDSpUutfRYuXKju3bsrODhYQ4cOVe7cubV7926tWbNG7du3lyT99NNPaty4scLCwjRq1Cg5ODhowYIFqlevnn755RdVrVr1vr6HAJ4QFgAwoMTERIskS4sWLdKtu3DhgiUhIcH6unLlinXdqFGjLJLSvXLnzm1Zs2bNfR371jY7duywtp04ccLi6upqadmypbXtxRdftPj7+1vOnTtns33btm0tXl5e1rrWr19vkWQpVqyYTa0Wi8USGxtrkWSZPHmyTXuLFi0szs7OlqNHj1rb/vrrL0uuXLksTz/9tLVtwYIFFkmWWrVqWW7cuGGzjzp16lgkWRYvXmxtO3DggEWSxcHBwfLrr79a29euXWuRZFmwYIG17Z+1WiwWy5YtWyySLB9//HG6GurXr28xm83W9gEDBlgcHR0tFy9etFgsFsvFixctuXLlslSrVs1y9epVm/3e2s5sNltKlixpCQ8Pt9nXlStXLEWLFrU0aNAgXU0AnmxMMwBgSElJSZJkHam8Xd26deXj42N9zZw5M12f5cuXa926dfrhhx+0YMEClSpVSq1atdLmzZvv6/jVq1dXWFiYdblw4cJ67rnntHbtWqWlpclisWj58uVq1qyZLBaLzp07Z32Fh4crMTFRu3btstlnly5d5Obmds9jp6Wl6YcfflCLFi1UrFgxa7u/v7/at2+vTZs2Wd+fW3r27ClHR8d0+/Lw8FDbtm2ty6VLl1bu3LkVFBRkM7p76+tj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559q166d8ubNq5w5c6py5craunWrJGnPnj165plnlCtXLnl6eiosLEw7dux4lG8LADyUHPYuAAD+Tbp3764FCxaoQ4cOkqT58+erW7du2rBhg7XPxIkT9emnn2r27NkqWbKkNm7cqI4dO8rHx0e1atXS8uXL1apVKx08eFCenp5yc3Ozbrto0SK9/PLLio6OzvD4ly9fVp06dVSwYEGtWrVKfn5+2rVrl8xmsySpQ4cOqlixombNmiVHR0fFxMTIycnp0b0hAPCQCLMAkI06duyooUOH6sSJE5Kk6OhoLVmyxBpmU1JSNGHCBP3444+qXr26JKlYsWLatGmT5syZozp16ihv3rySpPz58yt37tw2+y9ZsqTefvvtOx5/8eLFSkhI0Pbt2637KVGihHV9XFycXn/9dZUpU8a6PwB4nBFmASAb+fj4qGnTplq4cKEsFouaNm0qb29v6/ojR47oypUratCggc12qampNlMR7iQsLOyu62NiYlSxYkVrkP2nyMhI9ejRQ5988onq16+vF154QcWLF7+PMwMA+yDMAkA26969uyIiIiRJM2fOtFl3+fJlSdLq1atVsGBBm3X3cxFXzpw577r+9ikJGRk9erTat2+v1atX6/vvv9eoUaO0ZMkStWzZ8p7HBgB74AIwAMhmjRo1Umpqqq5fv269SOuWsmXLysXFRXFxcSpRooTNKyAgQJLk7OwsSUpLS3vgY5cvX14xMTE6f/78HfuUKlVKAwYM0A8//KD//ve/WrBgwQMfBwCyC2EWALKZo6Oj9u/fr3379snR0dFmXa5cuTRw4EANGDBAixYt0tGjR7Vr1y699957WrRokSSpSJEiMplM+vbbb5WQkGAdzb0f7dq1k5+fn1q0aKHo6GgdO3ZMy5cv15YtW3T16lVFRERow4YNOnHihKKjo7V9+3YFBQVl6fkDQFYizAKAHXh6esrT0zPDdePGjdOIESM0ceJEBQUFqVGjRlq9erWKFi0qSSpYsKDGjBmjIUOGyNfX1zpl4X44Ozvrhx9+UP78+dWkSROFhIRo0qRJcnR0lKOjo/7++2917txZpUqVUuvWrdW4cWONGTMmS84ZAB4Fk8Visdi7CAAAACAzGJkFAACAYRFmAQAAYFiEWQAAABgWYRYAAACGRZgFAACAYRFmAQAAYFiEWQAAABgWYRYAAACGRZgFAACAYRFmAQAAYFiEWQAAABjW/wEVNxraSni12QAAAABJRU5ErkJggg==", + "text/plain": [ + "<Figure size 800x500 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Display model performace\n", + "metrics = ['accuracy', 'precision', 'recall', 'f1']\n", + "scores = [accuracy_score(label, pred), precision_score(label, pred), recall_score(label, pred), f1_score(label, pred)]\n", + "colors = ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728']\n", + "\n", + "plt.figure(figsize=(8, 5))\n", + "bars = plt.bar(metrics, scores, color=colors, label=metrics)\n", + "\n", + "for bar in bars:\n", + " height = bar.get_height()\n", + " plt.text(bar.get_x() + bar.get_width()/2, height + 0.01, f'{height:.3f}', ha='center', va='bottom', fontsize=8)\n", + "\n", + "plt.xlabel('Metrics') \n", + "plt.ylabel('Scores') \n", + "plt.title('GB performance') \n", + "plt.legend(title='Evaluation') \n", + "\n", + "plt.savefig('../../../figures/model/gb_metrics.png')\n", + "plt.show() " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAf8AAAHHCAYAAACx2FF+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAyD0lEQVR4nO3de3QU9f3/8dcmkE0IyWK45CIBUS4BMYCphWjlIpGLFkGiVMEaEPGgAYV4I18vgKhLsQpSbhYh4asEBC1YqYCIEuwXIhBEEFtqYihQSLwAQQIsgczvD4/7cyegWdyw6czz4ZlzyGdmZz7jEV95v+ezuw7DMAwBAADbCAn2BAAAwMVF+AMAYDOEPwAANkP4AwBgM4Q/AAA2Q/gDAGAzhD8AADZD+AMAYDOEPwAANkP4A/ByOByaNGlSsKcBoJYR/oCkkpISjRkzRm3btlWDBg3UoEEDdejQQZmZmdq5c6fPsZMmTZLD4fBuISEhio+P129/+1sVFBTU6HqXXXaZHA6H0tLSzrl//vz53vNv27bN7/vZtGmTJk2apKNHj/r9WgDWVy/YEwCCbdWqVfrd736nevXqadiwYerUqZNCQkL0z3/+U3/5y180d+5clZSUqGXLlj6vmzt3rho2bKiqqirt379f8+fPV/fu3bVlyxZ17tz5Z68bHh6uDz/8UKWlpYqLi/PZt3jxYoWHh+vUqVMXdE+bNm3S5MmTNXz4cDVq1KjGrzt58qTq1eN/C4DV8bcctlZcXKw77rhDLVu21Pr16xUfH++z/w9/+IPmzJmjkJDqTbLbbrtNTZo08f48aNAgdezYUcuXL69R+F933XXaunWr3njjDT300EPe8QMHDuijjz7SrbfeqrfeeuvCb66GqqqqdPr0aYWHhys8PLzWrwcg+Gj7w9amTZumiooK5eTkVAt+SapXr54efPBBJSYm/uy5fqjea1o5h4eHa/DgwcrLy/MZX7JkiS655BL17du32mt27typ4cOH6/LLL1d4eLji4uJ0zz336Ntvv/UeM2nSJD366KOSpFatWnkfH+zdu1fS98/1x4wZo8WLF+vKK6+U0+nUmjVrvPt+eOZ/8uRJJSUlKSkpSSdPnvSe//Dhw4qPj9e1116rs2fP1uheAdQtVP6wtVWrVql169bq2rWr3689fPiwpO8r5//85z+aMmWKwsPDNWTIkBqfY+jQoerTp4+Ki4t1xRVXSJLy8vJ02223qX79+tWOX7dunb788kuNGDFCcXFx2r17t/785z9r9+7dKigokMPh0ODBg/Wvf/1LS5Ys0fTp073diaZNm3rP88EHH2jZsmUaM2aMmjRpossuu6zatSIiIrRo0SJdd911euKJJ/TSSy9JkjIzM1VeXq7c3FyFhobW+F4B1CEGYFPl5eWGJGPQoEHV9h05csT4+uuvvduJEye8+yZOnGhIqrY1atTIWLNmTY2u3bJlS+Pmm282zpw5Y8TFxRlTpkwxDMMwPv/8c0OSkZ+fb+Tk5BiSjK1bt3pf9+N5/GDJkiWGJGPjxo3esRdeeMGQZJSUlFQ7XpIREhJi7N69+5z7Jk6c6DOWnZ1thISEGBs3bjSWL19uSDJmzJhRo/sEUDfR9odtHTt2TJLUsGHDavt69uyppk2berfZs2dXO+att97SunXr9N577yknJ0dt27ZVenq6Nm3aVOM5hIaGasiQIVqyZImk7xf6JSYm6vrrrz/n8REREd4/nzp1St988426desmSdq+fXuNr9ujRw916NChRsdOmjRJV155pTIyMvTAAw+oR48eevDBB2t8LQB1D21/2FZUVJQk6fjx49X2vfLKK/ruu+9UVlamu+6665yv7969u8+Cv9tuu01t2rTR2LFjVVhYWON5DB06VDNnztSnn36qvLw83XHHHXI4HOc89vDhw5o8ebKWLl2qr776ymdfeXl5ja/ZqlWrGh8bFhamhQsX6pprrlF4eLhycnLOOz8A/x0If9iWy+VSfHy8Pvvss2r7flgD8MMiuZpo2LChunbtqrffflsVFRWKjIys0eu6du2qK664QuPGjVNJSYmGDh163mOHDBmiTZs26dFHH1Xnzp29bzXs16+fqqqqajzXH3cQamLt2rWSvu82fPHFF3798gCg7qHtD1u7+eabVVRUpC1btgTkfGfOnJF07m7CT7nzzju1YcMGtW/f/rxvEzxy5IjWr1+vCRMmaPLkybr11lt144036vLLL692bCAr8507d+qZZ57RiBEj1KVLF917771+dRkA1D2EP2ztscceU4MGDXTPPfeorKys2n7DMGp8rsOHD2vTpk2Ki4tTs2bN/JrHvffeq4kTJ+rFF1887zE/rKw3z2nGjBnVjv2h6/BLP+GvsrJSw4cPV0JCgl5++WXl5uaq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wGYIf8BPw4cP9/lO9549e2rcuHEXfR4bNmyQw+HQ0aNHz3uMw+HQypUra3zOSZMmqXPnzr9oXnv37pXD4dCOHTt+0XkA1B7CH5YwfPhwORwOORwOhYWFqXXr1nrmmWd05syZWr/2X/7yF02ZMqVGx9YksAGgtvHZ/rCMfv36KScnRx6PR++++64yMzNVv359ZWdnVzv29OnTCgsLC8h1Y2JiAnIeALhYqPxhGU6nU3FxcWrZsqXuv/9+paWl6a9//auk/9+qf+6555SQkKB27dpJkvbv368hQ4aoUaNGiomJ0cCBA7V3717vOc+ePausrCw1atRIjRs31mOPPSbzJ2Kb2/4ej0ePP/64EhMT5XQ61bp1ay1YsEB79+71fk78JZdcIofDoeHDh0v6/lsU3W63WrVqpYiICHXq1Elvvvmmz3XeffddtW3bVhEREerVq5fPPGvq8ccfV9u2bdWgQQNdfvnleuqpp1RZWVntuFdeeUWJiYlq0KCBhgwZovLycp/9r776qtq3b6/w8HAlJSVpzpw5573mkSNHNGzYMDVt2lQRERFq06aNcnJy/J47gMCh8odlRURE6Ntvv/X+vH79ekVHR2vdunWSpMrKSvXt21epqan66KOPVK9ePT377LPq16+fdu7cqbCwML344ovKzc3VwoUL1b59e7344otasWKFbrjhhvNe9+6779bmzZs1c+ZMderUSSUlJfrmm2+UmJiot956S+np6dqzZ4+io6MVEREhSXK73Xr99dc1b948tWnTRhs3btRdd92lpk2bqkePHtq/f78GDx6szMxM3Xfffdq2bZsefvhhv/+dREVFKTc3VwkJCdq1a5dGjRqlqKgoPfbYY95jioqKtGzZMr3zzjs6duyYRo4cqQceeECLFy+WJC1evFhPP/20Zs2apS5duuiTTz7RqFGjFBkZqYyMjGrXfOqpp/T5559r9erVatKkiYqKinTy5Em/5w4ggAzAAjIyMoyBAwcahmEYVVVVxrp16wyn02k88sgj3v2xsbGGx+Pxvua1114z2rVrZ1RVVXnHPB6PERERYaxdu9YwDMOIj483pk2b5t1fWVlpNG/e3HstwzCMHj16GA899JBhGIaxZ88eQ5Kxbt26c87zww8/NCQZR44c8Y6dOnXKaNCggbFp0yafY0eOHGnceeedhmEYRnZ2ttGhQwef/Y8//ni1c5lJMlasWHHe/S+88IKRkpLi/XnixIlGaGioceDAAe/Y6tWrjZCQEOPQoUOGYRjGFVdcYeTl5fmcZ8qUKUZqaqphGIZRUlJiSDI++eQTwzAMY8CAAcaIESPOOwcAFx+VPyxj1apVatiwoSorK1VVVaWhQ4dq0qRJ3v1XXXWVz3P+Tz/9VEVFRYqKivI5z6lTp1RcXKzy8nIdOnTI52uN69Wrp1/96lfVWv8/2LFjh0JDQ9WjR48az7uoqEgnTpzQjTfe6DN++vRpdenSRZL0j3/8o9rXK6emptb4Gj944403NHPmTBUXF+v48eM6c+aMoqOjfY5p0aKFLr30Up/rVFVVac+ePYqKilJxcbFGjhypUaNGeY85c+aMXC7XOa95//33Kz09Xdu3b1efPn00aNAgXXvttX7PHUDgEP6wjF69emnu3LkKCwtTQkKC6tXz/c87MjLS5+fjx48rJSXF287+saZNm17QHH5o4/vj+PHjkqS//e1vPqErfb+OIVA2b96sYcOGafLkyerbt69cLpeWLl2qF1980e+5zp8/v9ovI6Ghoed8Tf/+/fXvf/9b7777rtatW6fevXsrMzNTf/zjHy/8ZgD8IoQ/LCMyMlKtW7eu8fFXX3213njjDTVr1qxa9fuD+Ph4ffzxx+revbuk7yvcwsJCXX311ec8/qqrrlJVVZXy8/OVlpZWbf8PnYezZ896xzp06CCn06l9+/adt2PQvn177+LFHxQUFPz8Tf7Ipk2b1LJlSz3xxBPesX//+9/Vjtu3b58OHjyohIQE73VCQkLUrl07xcbGKiEhQV9++aWGDRtW42s3bdpUGRkZysjI0PXXX69HH32U8AeCiNX+sK1hw4apSZMmGjhwoD766COVlJRow4YNevDBB3XgwAFJ0kMPPaSpU6dq5cqV+uc//6kHHnjgJ9+jf9lllykjI0P33HOPVq5c6T3nsmXLJEktW7aUw+HQqlWr9PXXX+v48eOKiorSI488ovHjx2vRokUqLi7W9u3b9ac//UmLFi2SJI0ePVpffPGFHn30Ue3Zs0d5eXnKzc31637btGmjffv2aenSpSouLtbMmTO1YsWKaseFh4crIyNDn376qT766CM9+OCDGjJkiOLi4iRJkydPltvt1syZM/Wvf/1Lu3btUk5Ojl566aVzXvfpp5/W22+/raKiIu3evVurVq1S+/bt/Zo7gMAi/GFbDRo00MaNG9WiRQsNHjxY7du318iRI3Xq1ClvJ+Dhhx/W73//e2VkZCg1NVVRUVG69dZbf/K8c+fO1W233aYHHnhASUlJGjVqlCoqKiRJl156qSZPnqwJEyYoNjZWY8aMkSRNmTJFTz31lNxut9q3b69+/frpb3/7m1q1aiXp++fwb731llauXKlOnTpp3rx5ev755/2631tuuUXjx4/XmDFj1LlzZ23atElPPfVUteNat26twYMH66abblKfPn2UnJzs81a+e++9V6+++qpycnJ01VVXqUePHsrNzfXO1SwsLEzZ2dlKTk5W9+7dFRoaqqVLl/o1dwCB5TDOt3IJAABYEpU/AAA2Q/gDAGAzhD8AADZD+AMAYDOEPwAANkP4AwBgM4Q/AAA2Q/gDAGAzhD8AADZD+AMAYDOEPwAANkP4AwBgM/8PhGyhxcYSz9gAAAAASUVORK5CYII=", + "text/plain": [ + "<Figure size 640x480 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Display class distributions\n", + "matrix = confusion_matrix(label, pred)\n", + "\n", + "sns.heatmap(matrix, annot=True, cmap='Blues', fmt='g')\n", + "plt.xlabel('Predicted labels')\n", + "plt.title('GB Matrix')\n", + "\n", + "plt.savefig('../../../figures/model/gb_matrix.png')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "<Figure size 800x600 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Display True positive rates\n", + "probs = model.predict_proba(feature)[:, 1] \n", + "\n", + "roc_auc = roc_auc_score(label, probs)\n", + "fpr, tpr, _ = roc_curve(label, probs)\n", + "\n", + "plt.figure(figsize=(8, 6))\n", + "plt.plot(fpr, tpr, label=f'GB (AUC = {roc_auc})', color='#2ca02c')\n", + "plt.plot([0, 1], [0, 1], color='gray', linestyle='--')\n", + "plt.xlabel('False Positive Rate')\n", + "plt.ylabel('True Positive Rate')\n", + "plt.title('ROC Curve')\n", + "plt.legend()\n", + "\n", + "plt.savefig('../../../figures/model/gb_roc_auc.png')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.91 0.95 0.93 42\n", + " 1 0.96 0.91 0.93 47\n", + "\n", + " accuracy 0.93 89\n", + " macro avg 0.93 0.93 0.93 89\n", + "weighted avg 0.93 0.93 0.93 89\n", + "\n" + ] + } + ], + "source": [ + "# Display class reports\n", + "print(classification_report(label, pred))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.12.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}