noshot 5.0.0__py3-none-any.whl → 7.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- noshot/data/ML TS XAI/ML/Rolls Royce AllinOne.ipynb +691 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/1. EDA-PCA (Balance Scale Dataset).ipynb +147 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/1. EDA-PCA (Rice Dataset).ipynb +181 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/10. HMM Veterbi.ipynb +152 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/2. KNN (Balance Scale Dataset).ipynb +117 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/2. KNN (Iris Dataset).ipynb +156 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/2. KNN (Sobar-72 Dataset).ipynb +215 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/3. LDA (Balance Scale Dataset).ipynb +78 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/3. LDA (NPHA Doctor Visits Dataset).ipynb +114 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/4. Linear Regression (Machine Dataset).ipynb +115 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/4. Linear Regression (Real Estate Dataset).ipynb +146 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/5. Logistic Regression (Magic04 Dataset).ipynb +130 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/5. Logistic Regression (Wine Dataset).ipynb +112 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/6. Naive Bayes Classifier (Agaricus Lepiota Dataset).ipynb +118 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/6. Naive Bayes Classifier (Wine Dataset).ipynb +89 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/7. SVM (Rice Dataset).ipynb +120 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/8. FeedForward NN (Sobar72 Dataset).ipynb +262 -0
- noshot/data/ML TS XAI/ML/Tamilan Code/9. CNN (Cifar10 Dataset).ipynb +156 -0
- noshot/data/ML TS XAI/ML/Whitefang Code/1. PCA.ipynb +162 -0
- noshot/data/ML TS XAI/ML/Whitefang Code/10. CNN.ipynb +100 -0
- noshot/data/ML TS XAI/ML/Whitefang Code/11. HMM.ipynb +336 -0
- noshot/data/ML TS XAI/ML/Whitefang Code/2. KNN.ipynb +149 -0
- noshot/data/ML TS XAI/ML/Whitefang Code/3. LDA.ipynb +132 -0
- noshot/data/ML TS XAI/ML/Whitefang Code/4. Linear Regression.ipynb +86 -0
- noshot/data/ML TS XAI/ML/Whitefang Code/5. Logistic Regression.ipynb +115 -0
- noshot/data/ML TS XAI/ML/Whitefang Code/6. Naive Bayes (Titanic).ipynb +196 -0
- noshot/data/ML TS XAI/ML/Whitefang Code/6. Naive Bayes (Wine).ipynb +98 -0
- noshot/data/ML TS XAI/ML/Whitefang Code/7. SVM Linear.ipynb +109 -0
- noshot/data/ML TS XAI/ML/Whitefang Code/8. SVM Non-Linear.ipynb +195 -0
- noshot/data/ML TS XAI/ML/Whitefang Code/9. FNN With Regularization.ipynb +189 -0
- noshot/data/ML TS XAI/ML/Whitefang Code/9. FNN Without Regularization.ipynb +197 -0
- noshot/data/ML TS XAI/ML/Whitefang Code/All in One Lab CIA 1 Q.ipynb +1087 -0
- {noshot-5.0.0.dist-info → noshot-7.0.0.dist-info}/METADATA +1 -1
- noshot-7.0.0.dist-info/RECORD +41 -0
- {noshot-5.0.0.dist-info → noshot-7.0.0.dist-info}/WHEEL +1 -1
- noshot/data/ML TS XAI/XAI/Q1.ipynb +0 -535
- noshot/data/ML TS XAI/XAI/Q2.ipynb +0 -38129
- noshot/data/ML TS XAI/XAI/Q3.ipynb +0 -1340
- noshot/data/ML TS XAI/XAI/Q4.ipynb +0 -246
- noshot/data/ML TS XAI/XAI/Q5.ipynb +0 -2450
- noshot-5.0.0.dist-info/RECORD +0 -14
- {noshot-5.0.0.dist-info → noshot-7.0.0.dist-info}/licenses/LICENSE.txt +0 -0
- {noshot-5.0.0.dist-info → noshot-7.0.0.dist-info}/top_level.txt +0 -0
@@ -1,535 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"cells": [
|
3
|
-
{
|
4
|
-
"cell_type": "markdown",
|
5
|
-
"id": "b4680af5-77e8-4743-8acb-b60446e0a4d4",
|
6
|
-
"metadata": {},
|
7
|
-
"source": [
|
8
|
-
"<h1>Download the Credit Card Fraud Detection dataset. Use the SMOTE (Synthetic\n",
|
9
|
-
"Minority Oversampling Technique) algorithm to balance the dataset. Then, train\n",
|
10
|
-
"and evaluate a Logistic Regression model on the data before and after applying\n",
|
11
|
-
"SMOTE. Compare the models performance in both cases.</h1>"
|
12
|
-
]
|
13
|
-
},
|
14
|
-
{
|
15
|
-
"cell_type": "markdown",
|
16
|
-
"id": "ac8b845d-dc46-426d-a390-a7361b68685c",
|
17
|
-
"metadata": {},
|
18
|
-
"source": [
|
19
|
-
"<h1>dataset link</h1>"
|
20
|
-
]
|
21
|
-
},
|
22
|
-
{
|
23
|
-
"cell_type": "markdown",
|
24
|
-
"id": "16013e87-7144-4430-8f08-306d0a4ba365",
|
25
|
-
"metadata": {},
|
26
|
-
"source": [
|
27
|
-
"<h1>https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud</h1>"
|
28
|
-
]
|
29
|
-
},
|
30
|
-
{
|
31
|
-
"cell_type": "code",
|
32
|
-
"execution_count": 1,
|
33
|
-
"id": "25445452",
|
34
|
-
"metadata": {},
|
35
|
-
"outputs": [],
|
36
|
-
"source": [
|
37
|
-
"#!pip install pandas matplotlib seaborn scikit-learn imbalanced-learn --quiet\n"
|
38
|
-
]
|
39
|
-
},
|
40
|
-
{
|
41
|
-
"cell_type": "code",
|
42
|
-
"execution_count": 2,
|
43
|
-
"id": "e7899e39",
|
44
|
-
"metadata": {},
|
45
|
-
"outputs": [],
|
46
|
-
"source": [
|
47
|
-
"#pip install -U scikit-learn imbalanced-learn\n"
|
48
|
-
]
|
49
|
-
},
|
50
|
-
{
|
51
|
-
"cell_type": "code",
|
52
|
-
"execution_count": 3,
|
53
|
-
"id": "e1255b28-ef76-4019-80c6-8f8d57b142d0",
|
54
|
-
"metadata": {},
|
55
|
-
"outputs": [
|
56
|
-
{
|
57
|
-
"data": {
|
58
|
-
"image/png": "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FSpUiLpd1zdu3Bj3PqNHj7Znn3022e1VqlTJsnoCWaHES49mdxWAHPd38PPPP1uJEiVSLENIZyG1ujWGHTh37pwdPHjQypQpY0lJSdlat9xKR7A6SNq5c6cVL148u6sDZAv+DrKXWtAK6MqVK6dalpBOUNmyZS1v3ry2b9++qNt1vWLFinHvU7BgQXeJVLJkySytJxKjDyY+nJDb8XeQfVJrQQeYOJagAgUKWKNGjWzhwoVRLWNdb9GiRbbWDQCQM9GSTgN1XXfv3t0aN25sTZs2tfHjx9uxY8fcbG8AADIbIZ0GnTp1sgMHDtiIESNs79691rBhQ5s/f36yyWTwl4YftM49dhgCyE34O7h4JIUSmQMOAAAuOMakAQDwFCENAICnCGkAADxFSAMA4ClCGrkGXzOK3G7p0qV29913uzNd6ayHs2fPzu4qIRWENHIFvmYUMHdeB733dcCKiwNLsJArqOXcpEkTmzhxYvhscTp3cd++fW3IkCHZXT3gglNLetasWda+ffvsrgpSQEsaueZrRvW1ool+zSgA+ICQRq7+mlGdOQ4AfEVIAwDgKUIaOV56vmYUAHxASCPH42tGAVys+BYs5Ap8zShgdvToUduyZUv4+rZt22zt2rVWunRpu/zyy7O1boiPJVjINbT8asyYMeGvGX3xxRfd0iwgt1iyZIm1atUq2e06gJ02bVq21AkpI6QBAPAUY9IAAHiKkAYAwFOENAAAniKkAQDwFCENAICnCGkAADxFSAMA4ClCGgAATxHSADJdUlKSzZ49O7urAVz0CGkAaaZTq/bt29dq1KhhBQsWtCpVqtjdd98d9SUmADKOL9gAkCbbt2+3G264wUqWLOnOhV6/fn07ffq0ffTRR9a7d2/buHFjdlcRyDFoSQNIk9/97neuO3vFihXWsWNHu/LKK+3qq6923zT2+eefx73P4MGDXbkiRYq41vfTTz/tgj3w1VdfuS9+uOSSS6x48eLuq0VXrVrltn333XeulV6qVCkrWrSoe6x58+ZdsOcLZCda0gASdvDgQZs/f7794Q9/cIEZS63reBS++palypUr27p166xnz57utkGDBrntXbt2tWuvvdamTJliefPmdV+fmD9/frdNrfNTp07Z0qVL3WP+85//tGLFimXxMwX8QEgDSJi+i1hfnFe7du003W/48OHh/1erVs2efPJJe/vtt8MhvWPHDhs4cGB4v7Vq1QqX1za12NWtLmqJA7kF3d0AEpbeb7adMWOGG8euWLGiawUrtBW+AXWV9+jRw1q3bm3/9V//ZVu3bg1ve+yxx+y5555z9x85cqR9/fXXmfJcgIsBIQ0gYWrhajw6LZPDli9f7rqz77zzTpszZ459+eWXNmzYMNeFHXjmmWdsw4YN1q5dO1u0aJHVrVvXZs2a5bYpvL/99lvr1q2b6ypv3LixvfTSS1ny/ADfJIXSe2gMIFe64447XFhu2rQp2bj0oUOH3Li0glwh2759exs7dqxNnjw5qnWs4P3rX//qysfTpUsXO3bsmL3//vvJtg0dOtTmzp1Lixq5Ai1pAGkyadIkO3v2rDVt2tT+9re/2ebNm+2bb76xF1980Vq0aBG39a2ubY1BK6hVLmgly/Hjx61Pnz62ZMkSN5P7s88+s5UrV1qdOnXc9n79+rnlXdu2bbM1a9bY4sWLw9uAnI6JYwDSRBO3FJaa4f3EE0/Ynj17rFy5cm7ZlGZnx7rnnnusf//+LohPnjzpurS1BEtd3KLZ3D/++KPdf//9tm/fPitbtqx16NDBnn32WbddBwSa4b1r1y63POv222+3cePGXfDnDWQHursBAPAU3d0AAHiKkAYAwFOENAAAniKkAQDwFCENAICnCGkAADxFSAMA4ClCGgAATxHSAAB4ipAGAMBThDQAAOan/wdCzN+7O5PXmAAAAABJRU5ErkJggg==",
|
59
|
-
"text/plain": [
|
60
|
-
"<Figure size 500x400 with 1 Axes>"
|
61
|
-
]
|
62
|
-
},
|
63
|
-
"metadata": {},
|
64
|
-
"output_type": "display_data"
|
65
|
-
}
|
66
|
-
],
|
67
|
-
"source": [
|
68
|
-
"import pandas as pd\n",
|
69
|
-
"import matplotlib.pyplot as plt\n",
|
70
|
-
"import seaborn as sns\n",
|
71
|
-
"from sklearn.model_selection import train_test_split\n",
|
72
|
-
"from sklearn.linear_model import LogisticRegression\n",
|
73
|
-
"from sklearn.metrics import classification_report, confusion_matrix, roc_curve, auc\n",
|
74
|
-
"from imblearn.over_sampling import SMOTE\n",
|
75
|
-
"import warnings\n",
|
76
|
-
"warnings.filterwarnings('ignore')\n",
|
77
|
-
"# Load dataset\n",
|
78
|
-
"df = pd.read_csv(\"creditcard.csv\")\n",
|
79
|
-
"\n",
|
80
|
-
"# Features and target\n",
|
81
|
-
"X = df.drop(columns=[\"Class\"])\n",
|
82
|
-
"y = df[\"Class\"]\n",
|
83
|
-
"\n",
|
84
|
-
"# Train-test split\n",
|
85
|
-
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)\n",
|
86
|
-
"\n",
|
87
|
-
"# Class distribution before SMOTE\n",
|
88
|
-
"plt.figure(figsize=(5, 4))\n",
|
89
|
-
"sns.countplot(x=y)\n",
|
90
|
-
"plt.title(\"Class Distribution Before SMOTE\")\n",
|
91
|
-
"plt.xlabel(\"Class\")\n",
|
92
|
-
"plt.ylabel(\"Count\")\n",
|
93
|
-
"plt.show()\n",
|
94
|
-
"\n"
|
95
|
-
]
|
96
|
-
},
|
97
|
-
{
|
98
|
-
"cell_type": "code",
|
99
|
-
"execution_count": 4,
|
100
|
-
"id": "83bd4937",
|
101
|
-
"metadata": {},
|
102
|
-
"outputs": [
|
103
|
-
{
|
104
|
-
"data": {
|
105
|
-
"text/plain": [
|
106
|
-
"Class\n",
|
107
|
-
"0 284315\n",
|
108
|
-
"1 492\n",
|
109
|
-
"Name: count, dtype: int64"
|
110
|
-
]
|
111
|
-
},
|
112
|
-
"execution_count": 4,
|
113
|
-
"metadata": {},
|
114
|
-
"output_type": "execute_result"
|
115
|
-
}
|
116
|
-
],
|
117
|
-
"source": [
|
118
|
-
"df['Class'].value_counts()"
|
119
|
-
]
|
120
|
-
},
|
121
|
-
{
|
122
|
-
"cell_type": "code",
|
123
|
-
"execution_count": 5,
|
124
|
-
"id": "03293d81-832c-40ce-bfa8-9b83183aeaa0",
|
125
|
-
"metadata": {},
|
126
|
-
"outputs": [],
|
127
|
-
"source": [
|
128
|
-
"# Logistic Regression without SMOTE\n",
|
129
|
-
"model = LogisticRegression(max_iter=1000)\n",
|
130
|
-
"model.fit(X_train, y_train)\n",
|
131
|
-
"y_pred = model.predict(X_test)\n"
|
132
|
-
]
|
133
|
-
},
|
134
|
-
{
|
135
|
-
"cell_type": "code",
|
136
|
-
"execution_count": 6,
|
137
|
-
"id": "8d13d00e-4b51-4984-aa8a-bed9bdb28d9a",
|
138
|
-
"metadata": {},
|
139
|
-
"outputs": [
|
140
|
-
{
|
141
|
-
"data": {
|
142
|
-
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAhkAAAGzCAYAAACCdQWeAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAR6RJREFUeJzt3Qd8FGX6wPEntNBBSggcVelKkY4UjxNBmiKggJ4g9eAg0ktOBES8KKgUaSoq3CkKeIIUATEIqERpghRpB1IEEpASiRAI2f/nef3P3u6wgQ3OmAR+Xz9jMjPvzszuksyzz/s+b0I8Ho9HAAAAHJbJ6QMCAAAoggwAAOAKggwAAOAKggwAAOAKggwAAOAKggwAAOAKggwAAOAKggwAAOAKggwAAOAKggwEtH//fmnWrJnky5dPQkJCZPHixY4e/8cffzTHnTNnjqPHzcj+/Oc/myW927Rpk9x3332SK1cu8x5u27YtrS8JQDpFkJGO/fe//5W//e1vcuedd0r27Nklb9680qBBA5kyZYpcvHjR1XN37dpVduzYIS+++KL8+9//llq1asmt4umnnzY3R309A72OGmDpfl1eeeWVVB//+PHjMnbs2DS/+VrPwVo0KKhcubKMHz9efv3115s65pUrV+Sxxx6TM2fOyKRJk8y/jVKlSkl6oP9eO3ToYK5Hf17+9Kc/yYMPPiivv/66X7vSpUub16Np06YBj/PWW295X7PNmzdfs//rr7+WRx99VIoUKSKhoaHmePpzeuTIkWuC6GAWbbt27drrtvnwww9deMUA92X5A86Bm7B8+XLzy1x/iXXp0kXuueceuXz5snz11VcybNgw2bVrl7z55puunFtvvDExMfLss89K//79XTmH3gj0PFmzZpW0kCVLFnOjXbp0qTz++ON++95//31zk7p06dJNHVuDjOeff97cfKpXrx704z777DNxmt5k9d+PunDhgnz55Zfy3HPPyfbt22XhwoU3FfgePnzY3Ih79uwp6cWGDRukSZMmUrJkSenVq5eEh4fL0aNH5ZtvvjFBeUREhF97fX+/+OILOXnypGkb7PuvAcuAAQNM4K/HLFq0qPzwww8ye/ZsmT9/vnz66acmy1O4cGETgPl69dVX5dixYyY486VtNdBQzzzzjNSuXfua89avX/93vT5AmtE/kIb05eDBg57cuXN7Klas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",
|
143
|
-
"text/plain": [
|
144
|
-
"<Figure size 640x480 with 2 Axes>"
|
145
|
-
]
|
146
|
-
},
|
147
|
-
"metadata": {},
|
148
|
-
"output_type": "display_data"
|
149
|
-
}
|
150
|
-
],
|
151
|
-
"source": [
|
152
|
-
"plt.title(\"Confusion Matrix Before SMOTE\")\n",
|
153
|
-
"sns.heatmap(confusion_matrix(y_test, y_pred), annot=True, fmt=\"d\")\n",
|
154
|
-
"plt.show()"
|
155
|
-
]
|
156
|
-
},
|
157
|
-
{
|
158
|
-
"cell_type": "code",
|
159
|
-
"execution_count": 7,
|
160
|
-
"id": "3bdc518e-3080-4866-a26f-b20b7411f3c3",
|
161
|
-
"metadata": {},
|
162
|
-
"outputs": [
|
163
|
-
{
|
164
|
-
"data": {
|
165
|
-
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAekAAAGJCAYAAACuOsvNAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAPLtJREFUeJzt3Ql4TPf+x/FvYomlYifSqlBaOxWlFKVNhapWaa+tqFrKDbW0oWnV3uqfa63tamv7l1p6UUXtW1tRxK64tFFaEqpEpSTE/J/v73nO/GeSiSSEnCTv1/McY+b85syZycx8zm874+VwOBwCAABsxzujdwAAAHhGSAMAYFOENAAANkVIAwBgU4Q0AAA2RUgDAGBThDQAADZFSAMAYFOENAAANkVII9MICAiQ119/XTK74cOHi5eX1315rMaNG5vFsnXrVvPYX3311X15fP176d/N7nbv3i3169eX/Pnzm9dn//79Gb1LgEFII8P9/PPP8uabb0q5cuUkT5484uvrK0899ZRMnjxZrl27JnY2d+5c86VuLbr//v7+EhwcLFOmTJG//vorXR7n7NmzJtztGB523jd19OhR59/m8uXLSdbfuHFDXn31Vfnzzz9l4sSJ8r//+79SpkwZmT59uvn73k/x8fHmff/444+bz0GhQoWkSpUq0rNnTzl27JjH993333+fZDt6tufSpUub9S+88EKS9bGxsTJq1CipXr265MuXTwoWLCgNGzaU+fPnm/u6HmS5vr+TW6yDZz0gTK5MxYoV79nrlpXlzOgdQPa2evVq8wXp4+MjnTt3lqpVq5ovKv3iCQ0NlSNHjsisWbPE7kaOHClly5Y1X/hRUVGmxtq/f3+ZMGGCrFy50nwZWoYMGSLvvvtumoNwxIgRplZas2bNVN9v/fr1cq/dbt8+/fRTuXXrlmSkL774Qvz8/OTSpUumBaF79+5JDhJ//fVXs6+u6zSkixUrdl9bb9q0aSPffvuttG/fXnr06GHeTxrOq1atMjX9xEGnBx4LFy6UBg0auN2+bds2+e2338znKrHo6Gh59tlnzcFLu3btpE+fPnL9+nX5z3/+I126dJE1a9bIggULJEeOHObgOSgoyHnfyMhIGTp0qDlo0FC3PPLII87/P/TQQzJmzJgkj6sHArgD+gMbQEb45ZdfHA888ICjYsWKjrNnzyZZf+LECcekSZOc18uUKePo0qWLw07mzJmj1Q7H7t27k6zbtGmTI2/evGa///7777t6HN2+Po4+XmrExsZ6vH3Lli1mO0uXLr2r/bmbfbufbt265QgICHAMHDjQ8fLLLzsaN26cpMy2bds8viZVqlRxPP300+m6Pzdu3HDExcV5XLdr1y6zHx9++GGSdTdv3nT88ccfSd53rVu3dhQrVsxs11WPHj0cgYGB5r3XokULt3XBwcEOb29vx9dff53kcd555x2z3Y8//viO/tb6eunrhvRDSCPD9OrVy3zgf/jhh1SVTxzSFy9edLz99tuOqlWrOvLnz+8oUKCAo1mzZo79+/cnue+UKVMclStXNqFZqFAh8wW2YMEC5/orV644+vXrZx4jd+7cjuLFizuCgoIcERERdxzS6qOPPjLrZ82a5bxt2LBh5jZX69evdzz11FOOggULmufy6KOPOsLCwtyCNfFifVFaX4x79uxxNGzY0DxHfS7WOtegsba1aNEis/2SJUs68uXL52jZsqXj9OnTt329La7bTGnf9P66HVdXr141ofnQQw+Z11qf67hx40ygutLthISEOJYvX26en5bVv+G3337rSK3vvvvObEcDcPHixSaczpw541yv+5d43/W56T57ut1y6dIl8xpbz+GRRx4xwZaQkOAsExkZae6nz23ixImOcuXKmcfft2+fx3398ssvTfmtW7em+Lys950eWHh5eTnWrFnjXKcHAYULF3aMHz8+SUiHh4eb+73xxhset6thX6FCBXN/TweWhPT9R3M3Msw333xj+qG1Ge9O/PLLL7JixQrTXK5NzdqM9+9//1uefvpp+emnn0zfsNJmzLfeekteeeUV6devn2naO3jwoPz444/SoUMHU6ZXr16mKVSb/ipXriwXL140Te7aJFirVq07fo6dOnWS9957zzQ7a/OlJ9qkr/2G2iSuzebaRHny5En54YcfzPpKlSqZ2xM3M7q+brq/zZs3N82Xr732mpQsWfK2+/Xhhx+afsLBgwfL+fPnZdKkSaZZU/uV8+bNm+rnl5p9c6XZ++KLL8qWLVukW7dupnl83bp1pmvj999/N33CrvRvsGzZMvnnP/8pBQoUMP382iR8+vRpKVq0aIr7p8222hT7xBNPmK4U7X/98ssvzeMpbc598MEH5aOPPjLvES2nr5322fbt21ceeOABef/9901Z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elR69+4tsbGx5vEAAMiWfdK//fabCeSLFy9K8eLFpUGDBmZ6lf5f6TQpHWmtJzHRkdQ6KltD1qKBvmrVKhOqGt758+eXLl26yMiRI51ldPrV6tWrTShPnjxZHnroIfnss8/Mtixt27aVCxcumPnVOlhMp3PpYLbEg8kAAEhPXg6Hw5GuW0SydOCYtgDoHO/06J8ODJ2fLvsFpCRiXGexKz4HyGyfg7Rkga2buwEAyM4IaQAAbIqQBgDApghpAABsipAGAMCmCGkAAGyKkAYAwKYIaQAAbIqQBgDApghpAABsipAGAMCmCGkAAGyKkAYAwKYIaQAAbIqQBgDApghpAABsipAGAMCmCGkAAGyKkAYAwKYIaQAAbIqQBgDApghpAABsipAGAMCmCGkAAGyKkAYAwKYIaQAAbMrWIT1mzBh54oknpECBAlKiRAlp1aqVHD9+3K1M48aNxcvLy23p1auXW5nTp09LixYtJF++fGY7oaGhcvPmTbcyW7dulVq1aomPj4+UL19e5s6dm2R/pk2bJgEBAZInTx6pW7eu7Nq16x49cwAAbB7S27Ztk5CQENm5c6ds2LBBbty4IU2bNpXY2Fi3cj169JBz5845l7FjxzrXJSQkmICOj4+XHTt2yLx580wADx061FkmMjLSlGnSpIns379f+vfvL927d5d169Y5yyxevFgGDhwow4YNk71790qNGjUkODhYzp8/f59eDQBAduPlcDgckklcuHDB1IQ1vBs1auSsSdesWVMmTZrk8T7ffvutvPDCC3L27FkpWbKkuW3mzJkyePBgs73cuXOb/69evVoOHz7svF+7du3k8uXLsnbtWnNda85aq586daq5fuvWLSldurT07dtX3n333VTt/5UrV6RgwYISExMjvr6+d/16BIbOv+ttAKkRMa6z2BWfA2S2z0FassDWNenE9AmpIkWKuN2+YMECKVasmFStWlXCwsLk77//dq4LDw+XatWqOQNaaQ1YX6QjR444ywQFBbltU8vo7Upr4REREW5lvL29zXWrjCdxcXHmcVwXAABSK6dkElpz1Wbop556yoSxpUOHDlKmTBnx9/eXgwcPmlqx9lsvW7bMrI+KinILaGVd13W3K6Oheu3aNbl06ZJpNvdU5tixY7ftUx8xYkQ6PHsAQHaUaUJa+6a1Ofr77793u71nz57O/2uNuVSp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",
|
166
|
-
"text/plain": [
|
167
|
-
"<Figure size 500x400 with 1 Axes>"
|
168
|
-
]
|
169
|
-
},
|
170
|
-
"metadata": {},
|
171
|
-
"output_type": "display_data"
|
172
|
-
}
|
173
|
-
],
|
174
|
-
"source": [
|
175
|
-
"# Apply SMOTE\n",
|
176
|
-
"smote = SMOTE(random_state=42)\n",
|
177
|
-
"X_train_smote, y_train_smote = smote.fit_resample(X_train, y_train)\n",
|
178
|
-
"\n",
|
179
|
-
"# Class distribution after SMOTE\n",
|
180
|
-
"plt.figure(figsize=(5, 4))\n",
|
181
|
-
"sns.countplot(x=y_train_smote)\n",
|
182
|
-
"plt.title(\"Class Distribution After SMOTE\")\n",
|
183
|
-
"plt.xlabel(\"Class\")\n",
|
184
|
-
"plt.ylabel(\"Count\")\n",
|
185
|
-
"plt.show()\n",
|
186
|
-
"\n",
|
187
|
-
"# Logistic Regression with SMOTE\n",
|
188
|
-
"model_smote = LogisticRegression(max_iter=1000)\n",
|
189
|
-
"model_smote.fit(X_train_smote, y_train_smote)\n",
|
190
|
-
"y_pred_smote = model_smote.predict(X_test)\n"
|
191
|
-
]
|
192
|
-
},
|
193
|
-
{
|
194
|
-
"cell_type": "code",
|
195
|
-
"execution_count": 8,
|
196
|
-
"id": "43dd7ca8-d47f-4695-b67a-5759f08245ef",
|
197
|
-
"metadata": {},
|
198
|
-
"outputs": [
|
199
|
-
{
|
200
|
-
"data": {
|
201
|
-
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAhkAAAGzCAYAAACCdQWeAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAARqRJREFUeJzt3QmcTvX+wPHv2AYjZJuxDKZkK3HtCl0lKpStkJAlfy6yL3OTLTWFsoRUuriVQvdSCIlwQ9nXbN2sMTNcuxjLPP/X99c9z32eM8/wjM4xM3zevU7PnHN+z3nOmcX5Pt/f7/t7Qjwej0cAAAAclsHpAwIAACiCDAAA4AqCDAAA4AqCDAAA4AqCDAAA4AqCDAAA4AqCDAAA4AqCDAAA4AqCDAAA4AqCDNyUffv2Sb169SRXrlwSEhIi8+bNc/T4Bw4cMMedPn26o8dNz/785z+b5Xb8eQO4PRFkpGP//ve/5f/+7//knnvukaxZs0rOnDnl4YcflvHjx8vFixddfe127drJ9u3b5fXXX5ePP/5YKleuLLeLF1980dxI9fsZ6PuoN1zdr8uYMWNSfPyjR4/KsGHDZMuWLZIWnD592vz+6PXs2rUr6J/3zJkzZdy4cbf0XBMTE+Xvf/+7VKtWTfLkySN33XWXlCxZUtq2bSs//PCDt92KFSu8P6NPPvkk4LH0b0X3P/DAA0n2XblyRSZMmCBVqlQxr5EjRw7ztW7TfRb9OVqvc73FCg6t361Ai/4MgNtNptQ+AdychQsXyrPPPiuhoaHmH1j9h/Ly5cvy/fffS//+/WXnzp3ywQcfuPLaeuNdu3atvPLKK9K9e3dXXqNYsWLmdTJnziypIVOmTPLbb7/J/Pnz5bnnnvPb9+mnn5obwqVLl27q2BpkDB8+XIoXLy4VKlQI+nnffPONuGHOnDnmJhcREWGubeTIkUH9vDXI2LFjh/Tq1UtulZdfflkmTZokzzzzjLRu3dr8nPbs2SOLFi0ywXb16tX92uvPSc/zhRdeSJIpW7NmTcAb+4ULF6RBgwaycuVKadiwoQkMMmTIIIsXL5aePXvKP//5T/P3FxYWJk2bNpUSJUp4n3v+/Hnp2rWrNGnSxOyzhIeHe7/Wv9mpU6cmed2MGTP+4e8PkOboB6Qhffnll188OXLk8JQuXdpz9OjRJPv37dvnGTdunGuvf/DgQf1QPc/o0aM9t6N27dp5wsLCPPXq1fM0btw4yf777rvP06xZs5v+Hqxfv948d9q0aUG1v3DhgsdNtWvX9jRt2tTTu3dvT1RUVNA/7wYNGniKFSvm6Llcu3bNc/HixYD7YmNjPSEhIZ6XXnopyb7ExERPXFycd/27774z56zXlSlTJs/x48f92r/++uue8PBwT82aNT3333+/377OnTub57777rtJXmfixIlmX5cuXQKeo76O7h86dOh1f7eAOwVBRjqk/8DpP2SrV68Oqv2VK1c8I0aM8Nxzzz2eLFmymBtDdHS059KlS37tdLveOP71r395qlSp4gkNDTU3nRkzZnjb6D+e+tq+i3Wj0X9AA910rOf4+uabbzwPP/ywJ1euXOYf3ZIlS5pzsuzfvz/gjXjZsmXmxpA9e3bz3Kefftrz008/BXw9Dbb0nLRdzpw5PS+++GJQN2zrRjB9+nTzPTh16pR337p168yx//GPfyS58f7nP//x9O3b1/PAAw+Y5991112eJ554wrNly5YkNz/7Yl3nI488Ym56GzZs8NSqVcuTLVs2T8+ePb37dLG0bdvWnJ/9+jU4yp07t+fXX3+94bVqAKE37tmzZ3t+/PHHJL9Xyf289TyS+z1Q+rs1ZMgQz7333mt+54oUKeLp379/kt85fV63bt08n3zyiads2bImIJg7d27Ac127dq1prz+XG7G+z/q7qz+LyZMn++3X73GPHj2832/L4cOHPRkzZvQ8+uijyR67Tp065jy1rR1BBuCP7pJ0SFP4mhp+6KGHgmrfqVMnmTFjhjRv3lz69u0rP/74o8TExJj+97lz5/q1/fnnn027jh07mn74v/3tbyZdXKlSJbn//vtNCjh37tzSu3dvadWqlTz11FOmvzoltCtH09APPvigjBgxwqSP9XVXr1593ed9++238uSTT5pr175wTeO/++67pm9906ZNpvvBl3ZzREVFmWvV/ZqiLlCggLz11ltBnadea5cuXUx6vEOHDmabpt5Lly4tFStWTNL+l19+MQMitRtLXzcuLk7ef/99eeSRR+Snn36SQoUKSZkyZcw1DxkyRDp37iy1atUyz/X9Wf7nP/8x19myZUuT5vdNtfvSsTfLly83PyftztB0u76edqvouAl9vRv57LPPTNpffx7ZsmWTe++913SZWOeT3M9bn3PmzBk5cuSIjB071rS1fg903MTTTz9tuu70GvWadTyHttu7d2+SQaN6DbNnzzZdMfny5Uvyc/TtQrO6d/R7nD179hten7bRrhW9Tu3GUFu3bjW/g/r7sG3bNr/22u1y7do10wWZHN333Xffme4T/du6GSdOnEiyLUuWLGYcEHBbsQUdSOPOnDlj3ik988wzQbXXd9HavlOnTn7b+/XrZ7YvX77cu03fieq2VatWebfFx8ebd8v6Dt2eZbCnz4PNZIwdO9as21PYvgJlMipUqOApUKCAyRhYtm7d6smQIYN5V29/vQ4dOvgds0mTJp68efMm+5qB3m02b97c89hjj3lT+REREZ7hw4cH/B7ou3RtY78O/f5pJimY7hIrQzBlypSA+3wzGWrJkiWm/ciRI73daIG6eJJTrlw5T+vWrb3rf/3rXz358uUz2S/fa0hJd8nHH39sfiaaEfOl12TPlOi6tt25c2dQ56s/Z33O3XffbX6eY8aM8ezatSvZTMacOXM8CxYsMNmaQ4cOmX2aUdGsnrJnMnr16mWet3nz5mTPYdOmTaZNnz59biqTESiTpUv9+vWD+h4A6QnVJenM2bNnzaOOeA/G119/bR779Onjt10zGkoHsPkqW7as9921yp8/v5QqVcq8S3eKvjNWX375pXnXG4xjx46ZagzNqmhVgUWzIY8//rj3On1pFsKXXpdmCazvYTCef/55U6kQGxtr3nHro24LRDMyOkBQ6bthfS19d6/fP82kBEuP0759+6DaalmpVhhpdkSzDjqQUbMZwdB38Zph0AyFRb/Wd9lLliyRm6WZBs1eaMZHj2Utjz76qNmvWQBfmunR37tgTJs2TSZOnGgyRZqF69evn3mtxx57TH799ddkv0f6O/P5559rpGsefa/Z17lz527492XtS8nvkS/9GS1dujTJ8uabb97U8YC0jCAjnbHSqdY/hjdy8OBBc+PzHQGvtJJAb/a631fRokWTHOPuu++WU6dOiVNatGhhujg01axdAdotoOny6wUc1nnqDdtObzJ6E9OqgOtdi16HSsm1aPeA3lRmzZpluhG0jNH+vbTo+WuXwH333WcCBU39a5CmN3PtWghW4cKFTeo8WFpGqzdRDcK0xFK7hIKhpZ3a7aHdT9pdpYveALW7Qq/1ZmmJr3ZH6LX7LlpqquLj4/3aa8AQLP1d7tatm2zcuNH8zDVQ1a4lDQD19ygQrVDS7hXt6lq1apUcPnw42UDRCiCu9/cVTCByPdqtVbdu3SRLSiqNgPSCMRnpMMjQvnYtHUwJLVEMRnJldL9ntm/uNfRdvS/t+9d/7PUdrWZStG9bb+L6TlfHEzhVyvdHrsWiwYJmCHRMi2ZzdCxIct544w159dVXzfiN1157zdz49aaoJZ7BZmys709KbN682XvjtmcmkqPfAx2noIFZoCyCHk/LMVM63kbptZYrV07eeeedgPsjIyP/0PVa8ubNa8Z+6KLzUGjJqQaj1tgNXxpUTJkyxfz8ypcvn2zmRANWpYFhcjd9axxHsNkX4E5GkJEO6SA9nQNDB/vVqFHjum31H1z9R1/fXVr/gCodlKiTMAX6B/lmaaZAj2lnz5YovflqilsXvRnpDVrnYdDAQ9/VBboOpXMi2O3evdtkDfRduRv0BqUDYPWck3u3rL744gupU6eOfPTRR37b9Xui55fSgC8YGiRo14re8HSw5qhRo8wcDZpxuR69IeugTe1m8f29sDI9OmBTB2ja55fwldx16OBRHVypP1snr/V6dHIwvSbtVgv0O12zZk2T2dKur+sN/NWsiAanOnA2ucGfOhmYzs/xxBNPOHoNwO2I7pJ0aMCAAeaGqt0NGiwEmglUKw+sdL+yz8xovcvUSYecojcX7RbwHbGv/+jbK1hOnjyZ5LnWu8aEhISAxy5YsKBpoxkF30BGMzqa/bCu0w0aOGhmQscCaDdTcvTmZM+S6PgE+1gBKxgKFJCl1MCBA+XQoUPm+6I/U+3q0GqT5L6P9q4SnbhNq4l8l5deesl0+dyoy8SqMLHTqh695g8//DDJPq0IsndrBUvHw2iVjp1OQrds2bKA3YIWDXa0K2no0KHSpk2bZF9DsywatGkl03vvvZdkv2ZDtGtGq6+KFClyU9cB3EnIZKRDejPX/mUd26DvQn1n/NRZDPXGpgMklaaG9aajmQ+9qekgu3Xr1pmbUuPGjc0N1Cn6Ll9vevpOWmdm1Bkz9R9q7Yv3Hfio7561u0QDHH3Xqan5yZMnm3+09R1nckaPHm3eaWr2Rv+Rt0pY9fM0rteN8UfpzWvw4MFBZZj02vQmpVkF7brQG7WOebD//HQ8jN6wtF9fb9Y6TXZKxiYovdnp901vnFZJrQ6M1K4D7bbRrEYgGoD84x//MANmk5vKWrsgNFC1j5/wpWXN2s2lg4o1c6JdK40aNTI3cR1jowNvNTOl42+0y0wzTrpdB5XezDT0mnmpWrWq6VbTLIkGfHp+2u2jmRPtlvLNGNlpKasuN6LjavRc//KXv5iuPCtjoeetY0D0b+jtt9+Wm3X16tVkpzrXvx23MnJAqkjt8hbcvL1795rZD4sXL24mPNLJn3SCK52p0HfSIy1H1LJLnVgrc+bMnsjIyOtOxnWj0snkShqtSbZ0Mio9n1KlSplJluwlrDqhlpbgFipUyLTTx1atWpnrsb+Gvczz22+/Ndeok1TpBFuNGjVKdjIue4msHku367GvJ5gJk5IrYdVS34IFC5rz0/PUCaQClZ5++eWX3smnAk3GFYjvcc6ePWt+XhUrVvQrN1U6c6eWheprB2JNJPbRRx8le30rVqwwbcaPH5/sz/v8+fOe559/3kz8ZZ+M6/Lly5633nrLXIuW8GrJaaVKlczvoZZh2yfjCoZes56Plnrq5F76u6y/8zVq1PB8+OGHZtbPQCWs15Pc9zshIcGUWus56++CTv6m32udSVevLTl/pIQ1mN9NIL0J0f+lTngDAABuZ4zJAAAAriDIAAAAriDIAAAAriDIAAAAriDIAAAAriDIAAAAriDIAAAAt/eMn1dOOPdR4sDtIqxw7dQ+BSBNupxwJN3ckzLn85/1906SZoIMAADSjET/T4/GzaG7BAAAuIJMBgAAdp7E1D6D2wJBBgAAdokEGU4gyAAAwMZDJsMRjMkAAACuIJMBAIAd3SWOIMgAAMCO7hJH0F0CAABcQSYDAAA7JuNyBEEGAAB2dJc4gu4SAADgCjIZAADYUV3iCIIMAABsmIzLGXSXAACQRly7dk1effVViYqKkmzZssm9994rr732mng8Hm8b/XrIkCFSsGBB06Zu3bqyb98+v+OcPHlSWrduLTlz5pTcuXNLx44d5fz5835ttm3bJrVq1ZKsWbNKZGSkjBo1Ksn5zJkzR0qXLm3alCtXTr7++usUXQ9BBgAAgbpLnFpS4K233pL33ntPJk6cKLt27TLrevN/9913vW10fcKECTJlyhT58ccfJSwsTOrXry+XLl3yttEAY+fOnbJ06VJZsGCBrFq1Sjp37uzdf/bsWalXr54UK1ZMNm7cKKNHj5Zhw4bJBx984G2zZs0aadWqlQlQNm/eLI0bNzbLjh07gr6eEI9veJSKrpz4JbVPAUhzwgrXTu1TANKkywlHXD1+wt7vHTtWaMmaQbdt2LChhIeHy0cffeTd1qxZM5Ox+OSTT0wWo1ChQtK3b1/p16+f2X/mzBnznOnTp0vLli1NcFK2bFlZv369VK5c2bRZvHixPPXUU3LkyBHzfA1kXnnlFYmNjZUsWbKYNoMGDZJ58+bJ7t27zXqLFi3kwoULJkixVK9eXSpUqGACnGCQyQAAINA8GQ4tCQkJJnPgu+i2QB566CFZtmyZ7N2716xv3bpVvv/+e3nyySfN+v79+01goF0klly5ckm1atVk7dq1Zl0ftYvECjCUts+QIYPJfFhtateu7Q0wlGZD9uzZI6dOnfK28X0dq431OsEgyAAAwEUxMTEmEPBddFsgmk3QbISOg8icObP86U9/kl69epnuD6UBhtLMhS9dt/bpY4ECBfz2Z8qUSfLkyePXJtAxfF8juTbW/mBQXQIAgJ2D1SXR0dHSp08fv22hoaEB286ePVs+/fRTmTlzptx///2yZcsWE2RoF0e7du0kvSHIAADAxXkyQkNDkw0q7Pr37+/NZiit6Dh48KDJfGiQERERYbbHxcWZ6hKLrutYCaVt4uPj/Y579epVU3FiPV8f9Tm+rPUbtbH2B4PuEgAA0ojffvvNjJ3wlTFjRkn8b9Cjpa16k9dxGxYd46FjLWrUqGHW9fH06dOmasSyfPlycwwdu2G10YqTK1eueNtoJUqpUqXk7rvv9rbxfR2rjfU6wSDIAAAgUHeJU0sKNGrUSF5//XVZuHChHDhwQObOnSvvvPOONGnSxOwPCQkx3ScjR46Ur776SrZv3y5t27Y13SlaXqrKlCkjTzzxhLz00kuybt06Wb16tXTv3t1kR7Sdev75582gTy1P1VLXWbNmyfjx4/26dXr27GmqUt5++21TcaIlrhs2bDDHChYlrEAaRgkrkEolrNuWOHas0AfrB9323LlzZjIuDS60y0ODAp2rQiffsipB9LY9dOhQM6eFZixq1qwpkydPlpIlS3qPo10jGgzMnz/fZEa0DFbn1siRI4ffZFzdunUzpa758uWTHj16yMCBA5NMxjV48GAT8Nx3331mjg4thQ0WQQaQhhFkAHdWkHG7YeAnAAA2Hs+11D6F2wJBBgAAdnxAmiMY+AkAAFxBJgMAABfnybiTEWQAAGBHd4kjCDIAALDTDzfDH8aYDAAA4AoyGQAA2NFd4giCDAAA7Bj46Qi6SwAAgCvIZAAAYEd3iSMIMgAAsKO7xBF0lwAAAFeQyQAAwI5MhiMIMgAAsOFTWJ1BdwkAAHAFmQwAAOzoLnEEQQYAAHaUsDqCIAMAADsyGY5gTAYAAHAFmQwAAOzoLnEEQQYAAHZ0lziC7hIAAOAKMhkAANjRXeIIggwAAOzoLnEE3SUAAMAVZDIAALAjk+EIggwAAOwYk+EIuksAAIAryGQAAGBHd4kjCDIAALCju8QRBBkAANiRyXAEYzIAAIArCDIAAAjUXeLUkgLFixeXkJCQJEu3bt3M/kuXLpmv8+bNKzly5JBmzZpJXFyc3zEOHTokDRo0kOzZs0uBAgWkf//+cvXqVb82K1askIoVK0poaKiUKFFCpk+fnuRcJk2aZM4na9asUq1aNVm3bp2kFEEGAACBukucWlJg/fr1cuzYMe+ydOlSs/3ZZ581j71795b58+fLnDlzZOXKlXL06FFp2rSp9/nXrl0zAcbly5dlzZo1MmPGDBNADBkyxNtm//79pk2dOnVky5Yt0qtXL+nUqZMsWbLE22bWrFnSp08fGTp0qGzatEnKly8v9evXl/j4+JRcjoR4PB6PpAFXTvyS2qcApDlhhWun9ikAadLlhCOuHv/iFyMdO1a25oNv+rkaACxYsED27dsnZ8+elfz588vMmTOlefPmZv/u3bulTJkysnbtWqlevbosWrRIGjZsaIKP8PBw02bKlCkycOBAOX78uGTJksV8vXDhQtmxY4f3dVq2bCmnT5+WxYsXm3XNXFSpUkUmTpxo1hMTEyUyMlJ69OghgwYNCvr8yWQAAOBiJiMhIcEECL6LbrsRzUZ88skn0qFDB9NlsnHjRrly5YrUrVvX26Z06dJStGhRE2QofSxXrpw3wFCagdDX3Llzp7eN7zGsNtYx9HX1tXzbZMiQwaxbbYJFkAEAgJ0m+R1aYmJiJFeuXH6LbruRefPmmezCiy++aNZjY2NNJiJ37tx+7TSg0H1WG98Aw9pv7bteGw1ELl68KCdOnDDdLoHaWMcIFiWsAAC4KDo62oxv8KUDLm/ko48+kieffFIKFSok6RVBBgAALs6TERoaGlRQ4evgwYPy7bffyj//+U/vtoiICNOVodkN32yGVpfoPquNvQrEqj7xbWOvSNH1nDlzSrZs2SRjxoxmCdTGOkaw6C4BACCNVJdYpk2bZspPtQrEUqlSJcmcObMsW7bMu23Pnj2mZLVGjRpmXR+3b9/uVwWiFSoaQJQtW9bbxvcYVhvrGNolo6/l20YHfuq61SZYZDIAAEhDEhMTTZDRrl07yZTpf7dpHcvRsWNH0/WSJ08eEzhotYfe+LWyRNWrV88EE23atJFRo0aZMRSDBw82c2tY2ZQuXbqYqpEBAwaYQaXLly+X2bNnm4oTi76Gvn7lypWlatWqMm7cOLlw4YK0b98+RddCkAEAQBr67JJvv/3WZCc0ALAbO3asqfTQSbi0QkWrQiZPnuzdr90cWvLatWtXE3yEhYWZYGHEiBHeNlFRUSag0Dk3xo8fL0WKFJGpU6eaY1latGhhSl51fg0NVCpUqGDKW+2DQW+EeTKANIx5MoBUmifj79GOHStb2xtXktyuyGQAAGCXNt5/p3sM/AQAAK4gkwEAgB0f9e4IggwAAOwIMhxBdwkAAHAFmQwAANJQCevthCADAAAbTyLVJU6guwQAALiCTAYAAHYM/HQEQQYAAHaMyXAE3SUAAMAVZDIAALBj4KcjCDIAALBjTIYjCDIAALAjyHAEYzIAAIAryGQAAGDHR707giADAAA7ukscQXdJOnft2jV594O/S/3mL0qlOs/IE8+2lynTZoonmSh8+Kh35YGHn5SPZ80NuP/y5cvSrF0302b33n97tyckXJZXRr4tTdp0lfK1G8jLg0Ykee7xEydlwLC3pEHLTlKu5lPy5rgpDl4p4KwMGTLIsKH9ZM+eNXLm9M+ya9f38tfonn5tChTIJ1M/fEcO7N8gp0/tk/nzP5ESJaKSHKtatYqyZPEsOXVyr5w4vkuWffuFZM2a9RZeDZA2kclI5z76ZI7MmrdQXh/cV0pEFZOdu/fK4NfHSo4cYfLCs8/4tf125WrZtnO3FMiXN9njvT35b1IgXx7Z8/MvftuvJSZKaGgWaf3s07J0xeqAz7185YrcnTuXdG7XMtkgBkgr+vf7i3Tu3FY6duolP/20VypVLC8ffvi2nDl7TiZN+ptp88Wcj+TKlSvSrHlHOXfunPTs2VkWff2ZlK9QR3777aI3wFgw/xMZNWqS9O79qly9dlUeLFdWEnknnL5RwuoIgox0bsuOXVKnVnV55KGqZr1wwXD5eulK2f7THr92ccdPSMzY9+T9d16Xv/QfEvBY/1q7Xtas2yTjXn9F/vXDBr992bNllSH9e5ivN2/7Sc6dv5Dk+fra0b26mK/nLvzGsWsE3FC9RmWZP/8bWbRouVk/ePCItGjxjFSpXMGs33dflFSvXkkqVHhUftq112zr3j1aDh/aLC1aNJZp0z4z28aMHmaCktFjJnmPvXevf5COdIgZP1Onu+TEiRMyatQoadKkidSoUcMs+vXo0aPl+PHj7pwlklXhgTLy44YtcuDQEbO+e98vsmnbTqlVvbK3jb6jih4xRl58vrmUuKdYwOOcOHlKhr01XmJe7UeaF3eEH9ZukDp1HjbBhHqwXBl56KEqsmTJd2Y9NEuoebyUkOB9jnZDatfhww9VMev58+c1mYz44/+RlSvmmQDk26VfmOMASGEmY/369VK/fn3Jnj271K1bV0qWLGm2x8XFyYQJE+TNN9+UJUuWSOXK/7vBBZKQkGAWXxkSEiQ09Pc/agSvU5vn5MJvv0mj5ztLxgwZTLfGy53bScP6j/p1qWTMmCFJ94nvP5yDX39HnmvcQB4oU1J+PRZ3C68ASB2jRk+SnDnvku3bVpqxTRkzZpQhQ96Szz7/vatv956fTXZj5GuD5C/dBsmFC79Jz5dfksjIQhJRsIBpExX1e9D+6uA+MnDQa7Jt605p/UJzWbL4c/lTxbry88/7U/Ua8QfQXXLrg4wePXrIs88+K1OmTJGQkJAkN6ouXbqYNmvXrr3ucWJiYmT48OF+2wb3f1mGDPAfdIUbW7x8lSz45jt5a9gAMyZDMxlvjX/fjKt45qnHZefuffLJnC9lzt/eTfIzs3z6xVcmUNGABbhTPNu8kbRs2UTatu1uxmSUL3+/jBkzTI4di5OPP/lCrl69Ks+1eEk+eH+MxMftNOvLln8vixYv9/4tZcjw++PUqZ/I3/8+23y9ZetOebROTXmxXQsZ/OqbqXqNuHkextTc+iBj69atMn369IA3K93Wu3dv+dOf/nTD40RHR0ufPn38tmU492tKTgX/9fakj6TTC8/JU3X/bNZL3hslx2LjZerHs02QsWnrDjl56rQ83qyt9znXriXK6IlT5ePZ8+Sbf8yQdRu3ytYdu6Vinaf9jt2i08vS4PE68sar/W75dQFui4kZbMZRzJ7zlVnfsXO3FC1aWAYM6G6CDLV583apUrW+yXhkyZJZTpw4Kd//a75s3LTV7I+NjTePu3bt8zv27t37JDKy8C2/JiBdBxkRERGybt06KV26dMD9ui88PPyGx9FuEXvXyJXLJ1JyKvivS5cSJOS/76Z8S/MS/1vC2uiJx6R6Ff/A7/96D5ZGTzwqjZ+qZ9Z1sGaPzv8LQrR/+f/6DJYxw6Ol3P2lbsl1ALda9uzZklSAaLeJ/v3YnT17zjxq+WqlSg/KsOGjzfqBA4fl119jpWTJe/za33ffPd6xHUin6C659UFGv379pHPnzrJx40Z57LHHvAGFjslYtmyZfPjhhzJmzBhnzgxB+fPD1eTDGZ9LwfACprtk196f5e+z/ilNGvweQOTOldMsvjJlyij58twtUcWKmPWCEb/3L1uyZ8tmHiMLF5SIAvm92/+9/6BcuXLVlPhd+O2idx6N0iXv9baxtv322yU5dfqMWc+cOZPc+9++ayCtWLhwqQwa+LIcPvyr6S6pUP4BU6I6Y8Ysb5tmTRuY+V+0zQMPlJa3xwyXr75aIt9+u8rb5p2x78mQV/vKtm27ZOu2ndLmheZSqlQJadnq/1LpyuAIqktufZDRrVs3yZcvn4wdO1YmT55son6lA6YqVapkulKee45+/Vvpr727yrsf/l1GjplkukXy58sjzz7zlHRt/7zjr9W13xA5+t/0sGrevrt53LF6UZJt6qc9+2Th0hVSKKKA6ZYB0pJevV+VYcP6y4Txb5hJt44eizVjK0a+Ps7bJqJguIwaNVTCw/PJsWPx8umnX8jrb4z3O867734kWUOzyujRQyVPntyybdtP8uRTreSXXw6mwlXBMWQyHBHiSW5qyBvQCWq0nFVp4JE5c+Y/dCJXTlBXDtiFFa6d2qcApEmXE34v23fLhRGtHTtW2JBP5U5105NxaVBRsGBBZ88GAIC0gOoSRzDjJwAAdnSXOIIPSAMAAK4gkwEAgB3VJY4gyAAAwI7uEkfQXQIAQBry66+/ygsvvCB58+aVbNmySbly5WTDhv99MrYWhQ4ZMsQUX+h+/Syxffv8Z509efKktG7dWnLmzCm5c+eWjh07yvnz5/3abNu2TWrVqmU+FDMyMtJ8+KndnDlzzASc2kbP4+uvv07RtRBkAAAQ4LNLnFpS4tSpU/Lwww+bCs5FixbJTz/9JG+//bbcfffd3jYaDOiHkurniP34448SFhZmPrz00qVL3jYaYOzcuVOWLl0qCxYskFWrVpnJNC1nz56VevXqSbFixcwEm/pJ6sOGDZMPPvjA22bNmjXSqlUrE6Bs3rxZGjdubJYdO3a4P0+G05gnA0iKeTKA1Jkn4/zApo4dK8db/wy67aBBg2T16tXyr3/9K+B+vWUXKlRI+vbta2bhVmfOnDEzcOuEmC1btpRdu3ZJ2bJlzSenW5+KvnjxYnnqqafkyJEj5vnvvfeevPLKKxIbGytZsmTxvva8efNk9+7dZr1FixZy4cIFE6RYqlevLhUqVDABTjDIZAAA4KKEhASTOfBddFsgX331lQkM9BPPCxQoYD50VD+yw7J//34TGGgXiSVXrlxSrVo17yeg66N2kVgBhtL2+rk8mvmw2tSuXdsbYCjNhuzZs8dkU6w2vq9jtbnRJ637IsgAACDQwE+HlpiYGBMI+C66LZBffvnFZBnuu+8+WbJkiXTt2lVefvllmTHj949m0ABD2T+MVNetffqoAYqvTJkySZ48efzaBDqG72sk18baHwyqSwAAcLGENTo6Wvr06eO3zf5J5Bb9ZGDNQLzxxhtmXTMZOgZCuyfatWsn6Q2ZDAAAXMxkhIaGmioP3yW5IEMrRnQ8ha8yZcrIoUOHzNcRERHeTz/3pevWPn2Mj//fh1mqq1evmooT3zaBjuH7Gsm1sfYHgyADAIA04uGHHzbjInzt3bvXVIGoqKgoc5NftmyZd7+O8dCxFjVq1DDr+nj69GlTNWJZvny5yZLo2A2rjVac6IedWrQSpVSpUt5KFm3j+zpWG+t1gkGQAQCAjSfR49iSEr1795YffvjBdJf8/PPPMnPmTFNW2q1bN7M/JCREevXqJSNHjjSDRLdv3y5t27Y1FSNaXmplPp544gl56aWXZN26daZapXv37qbyRNup559/3gz61PJULXWdNWuWjB8/3q9bp2fPnqYqRUtoteJES1x1vg49VrAoYQXSMEpYgdQpYT33ckPHjnXXhP+VgAZDS0Z1HIdOsKWZC73xa8Bg0dv20KFDTfChGYuaNWvK5MmTpWTJkt422jWiwcD8+fNNVUmzZs3M3Bo5cuTwm4xLgxctdc2XL5/06NFDBg4cmGQyrsGDB8uBAwfMYFSdo0NLYYNFkAGkYQQZwJ0XZNxOqC4BAMAuhTN1IjCCDAAA7PiANEcw8BMAALiCTAYAAHZkMhxBkAEAgE0aqYlI9+guAQAAriCTAQCAHd0ljiDIAADAjiDDEQQZAADYpHQ6cATGmAwAAOAKMhkAANiRyXAEQQYAAHbMKu4IuksAAIAryGQAAGDDwE9nEGQAAGBHkOEIuksAAIAryGQAAGDHwE9HEGQAAGDDmAxn0F0CAABcQSYDAAA7ukscQZABAIAN3SXOIMgAAMCOTIYjGJMBAABcQSYDAAAbD5kMRxBkAABgR5DhCLpLAACAK8hkAABgQ3eJMwgyAACwI8hwBN0lAADAFWQyAACwobvEGQQZAADYEGQ4gyADAAAbggxnMCYDAAC4giADAAA7T4hzSwoMGzZMQkJC/JbSpUt791+6dEm6desmefPmlRw5ckizZs0kLi7O7xiHDh2SBg0aSPbs2aVAgQLSv39/uXr1ql+bFStWSMWKFSU0NFRKlCgh06dPT3IukyZNkuLFi0vWrFmlWrVqsm7dOkkpggwAAAJ0lzi1pNT9998vx44d8y7ff/+9d1/v3r1l/vz5MmfOHFm5cqUcPXpUmjZt6t1/7do1E2BcvnxZ1qxZIzNmzDABxJAhQ7xt9u/fb9rUqVNHtmzZIr169ZJOnTrJkiVLvG1mzZolffr0kaFDh8qmTZukfPnyUr9+fYmPj0/RtYR4PJ408Xm2V078ktqnAKQ5YYVrp/YpAGnS5YQjrh4/tvafHTvW3UuXSEJCgt82zSDoEiiTMW/ePHPztztz5ozkz59fZs6cKc2bNzfbdu/eLWXKlJG1a9dK9erVZdGiRdKwYUMTfISHh5s2U6ZMkYEDB8rx48clS5Ys5uuFCxfKjh07vMdu2bKlnD59WhYvXmzWNXNRpUoVmThxollPTEyUyMhI6dGjhwwaNCjoayeTAQCAjScxxLElJiZGcuXK5bfotuTs27dPChUqJPfcc4+0bt3adH+ojRs3ypUrV6Ru3brettqVUrRoURNkKH0sV66cN8BQmoE4e/as7Ny509vG9xhWG+sYmgXR1/JtkyFDBrNutQkW1SUAALhYXRIdHW26HnwFymJYGQTt3ihVqpTpKhk+fLjUqlXLZB1iY2NNJiJ37tx+z9GAQvcpffQNMKz91r7rtdFA5OLFi3Lq1CnT7RKojWZOUoIgAwAAF4Um0zUSyJNPPun9+sEHHzRBR7FixWT27NmSLVs2SW/oLgEAwMbjCXFs+SM0a1GyZEn5+eefJSIiwnRl6NgJX1pdovuUPtqrTaz1G7XJmTOnCWTy5csnGTNmDNjGOkawCDIAAEhD1SW+zp8/L//+97+lYMGCUqlSJcmcObMsW7bMu3/Pnj1mzEaNGjXMuj5u377drwpk6dKlJoAoW7ast43vMaw21jG0S0Zfy7eNDvzUdatNsAgyAABII/r162dKUw8cOGBKUJs0aWKyCq1atTIDRjt27GjGd3z33XdmcGb79u3NjV8rS1S9evVMMNGmTRvZunWrKUsdPHiwmVvD6rLp0qWL/PLLLzJgwAAzxmLy5MmmO0bLYy36Gh9++KEpgd21a5d07dpVLly4YF4vJRiTAQCAjVaFpIYjR46YgOI///mPKVetWbOm/PDDD+ZrNXbsWFPpoZNwaVmsVoVokGDRgGTBggUmKNDgIywsTNq1aycjRozwtomKijIlrBpUjB8/XooUKSJTp041x7K0aNHClLzq/Bo6ULRChQqmvNU+GPRGmCcDSMOYJwNInXkyDlV+zLFjFd3g3zVxJyGTAQBAGslk3G4YkwEAAFxBJgMAABsyGc4gyAAAwCZtjFZM/+guAQAAriCTAQCADd0lziDIAADA5o9OB47f0V0CAABcQSYDAAAXP+r9TkaQAQCATSLdJY6guwQAALiCTAYAADYM/HQGQQYAADaUsDqDIAMAABtm/HQGYzIAAIAryGQAAGBDd4kzCDIAALChhNUZdJcAAABXkMkAAMCGElZnEGQAAGBDdYkz6C4BAACuIJMBAIANAz+dQZABAIANYzKcQXcJAABwBZkMAABsGPjpDIIMAABsGJNxmwUZ2QrVSu1TAADAYEyGMxiTAQAAbu9MBgAAaQXdJc4gyAAAwIZxn86guwQAALiCTAYAADZ0lziDTAYAAAGqS5xabtabb74pISEh0qtXL++2S5cuSbdu3SRv3rySI0cOadasmcTFxfk979ChQ9KgQQPJnj27FChQQPr37y9Xr171a7NixQqpWLGihIaGSokSJWT69OlJXn/SpElSvHhxyZo1q1SrVk3WrVuX4msgyAAAII1Zv369vP/++/Lggw/6be/du7fMnz9f5syZIytXrpSjR49K06ZNvfuvXbtmAozLly/LmjVrZMaMGSaAGDJkiLfN/v37TZs6derIli1bTBDTqVMnWbJkibfNrFmzpE+fPjJ06FDZtGmTlC9fXurXry/x8fEpuo4QjydtzGuWKUvh1D4FAEA6cfXyr64e/18RzR07Vq3YL1LU/vz58ybLMHnyZBk5cqRUqFBBxo0bJ2fOnJH8+fPLzJkzpXnz389v9+7dUqZMGVm7dq1Ur15dFi1aJA0bNjTBR3h4uGkzZcoUGThwoBw/flyyZMlivl64cKHs2LHD+5otW7aU06dPy+LFi826Zi6qVKkiEydONOuJiYkSGRkpPXr0kEGDBgV9LWQyAACw8UiIY0tCQoKcPXvWb9FtydHuEM001K1b12/7xo0b5cqVK37bS5cuLUWLFjVBhtLHcuXKeQMMpRkIfc2dO3d629iPrW2sY2gWRF/Lt02GDBnMutUmWAQZAAC4KCYmRnLlyuW36LZAPv/8c9M9EWh/bGysyUTkzp3bb7sGFLrPauMbYFj7rX3Xa6OByMWLF+XEiROm2yVQG+sYwaK6BAAAm0QHBxJER0eb8Q2+dMCl3eHDh6Vnz56ydOlSM9jydkCQAQCATaI4V8IaGhoaMKiw0y4KHVip4zEsmlFYtWqVGRuhAzO1K0PHTvhmM7S6JCIiwnytj/YqEKv6xLeNvSJF13PmzCnZsmWTjBkzmiVQG+sYwaK7BAAAF8dkBOuxxx6T7du3m4oPa6lcubK0bt3a+3XmzJll2bJl3ufs2bPHlKzWqFHDrOujHsO3CkQzIxpAlC1b1tvG9xhWG+sY2iVTqVIlvzY68FPXrTbBIpMBAEAacNddd8kDDzzgty0sLMzMiWFt79ixo+l6yZMnjwkctNpDb/xaWaLq1atngok2bdrIqFGjzBiKwYMHm8GkVjalS5cuJjMyYMAA6dChgyxfvlxmz55tKk4s+hrt2rUzgU3VqlVNdcuFCxekffv2KbomggwAAGwSJW0aO3asqfTQSbi0QkWrQrTU1aLdHAsWLJCuXbua4EODFA0WRowY4W0TFRVlAgqdc2P8+PFSpEgRmTp1qjmWpUWLFqbkVefX0EBFy2i1vNU+GPRGmCcDAJDuuD1PxjfhLR07Vr24z+VOxZgMAADgCrpLAABIJ90l6Q1BBgAANgQZzqC7BAAAuIJMBgAANimZ3wLJI8gAAMAmkRjDEXSXAAAAV5DJAADAxc8uuZMRZAAAYJMmZqm8DRBkAABgQwmrMxiTAQAAXEEmAwAAm8QQxmQ4gSADAAAbxmQ4g+4SAADgCjIZAADYMPDTGQQZAADYMOOnM+guAQAAriCTAQCADTN+OoMgAwAAG6pLnEF3CQAAcAWZDAAAbBj46QyCDAAAbChhdQZBBgAANozJcAZjMgAAgCvIZAAAYMOYDGcQZAAAYMOYDGfQXQIAAFxBJgMAABsyGc4gyAAAwMbDmAxH0F0CAABcQSYDAAAbukucQZABAIANQYYz6C4BAACuIMgAACDAtOJOLSnx3nvvyYMPPig5c+Y0S40aNWTRokXe/ZcuXZJu3bpJ3rx5JUeOHNKsWTOJi4vzO8ahQ4ekQYMGkj17dilQoID0799frl696tdmxYoVUrFiRQkNDZUSJUrI9OnTk5zLpEmTpHjx4pI1a1apVq2arFu3TlKKIAMAgAAzfjq1pESRIkXkzTfflI0bN8qGDRvk0UcflWeeeUZ27txp9vfu3Vvmz58vc+bMkZUrV8rRo0eladOm3udfu3bNBBiXL1+WNWvWyIwZM0wAMWTIEG+b/fv3mzZ16tSRLVu2SK9evaRTp06yZMkSb5tZs2ZJnz59ZOjQobJp0yYpX7681K9fX+Lj41N0PSEejydNfA5MpiyFU/sUAADpxNXLv7p6/LFFX3DsWL0PffKHnp8nTx4ZPXq0NG/eXPLnzy8zZ840X6vdu3dLmTJlZO3atVK9enWT9WjYsKEJPsLDw02bKVOmyMCBA+X48eOSJUsW8/XChQtlx44d3tdo2bKlnD59WhYvXmzWNXNRpUoVmThxollPTEyUyMhI6dGjhwwaNCjocyeTAQCAixISEuTs2bN+i267Ec1KfP7553LhwgXTbaLZjStXrkjdunW9bUqXLi1FixY1QYbSx3LlynkDDKUZCH1NKxuibXyPYbWxjqFZEH0t3zYZMmQw61abYBFkAAAQoLrEqSUmJkZy5crlt+i25Gzfvt2Mt9DxEl26dJG5c+dK2bJlJTY21mQicufO7ddeAwrdp/TRN8Cw9lv7rtdGA5GLFy/KiRMnTIATqI11jGBRwgoAgI2T4wiio6PN+AZfGkAkp1SpUmasxJkzZ+SLL76Qdu3amfEX6RFBBgAALgoNDb1uUGGn2Qqt+FCVKlWS9evXy/jx46VFixamK0PHTvhmM7S6JCIiwnytj/YqEKv6xLeNvSJF17WaJVu2bJIxY0azBGpjHSNYdJcAAJBGqksC0UGXOoZDA47MmTPLsmXLvPv27NljSlZ1zIbSR+1u8a0CWbp0qQkgtMvFauN7DKuNdQwNcvS1fNvoOei61SZYZDIAAEgjM35GR0fLk08+aQZznjt3zlSS6JwWWl6qYzk6duxoul604kQDB6320Bu/VpaoevXqmWCiTZs2MmrUKDOGYvDgwWZuDSubouM8tGpkwIAB0qFDB1m+fLnMnj3bVJxY9DW0m6Zy5cpStWpVGTdunBmA2r59+xRdD0EGAABpRHx8vLRt21aOHTtmggqdmEsDjMcff9zsHzt2rKn00Em4NLuhVSGTJ0/2Pl+7ORYsWCBdu3Y1wUdYWJgJFkaMGOFtExUVZQIKnXNDu2F0bo6pU6eaY1m0a0ZLXnV+DQ1UKlSoYMpb7YNBb4R5MgAA6Y7b82TEFHNunozog39snoz0jEwGAAA2iY7Wl9y5GPgJAABcQSYDAAAbPurdGQQZAADY0FniDIIMAABsyGQ4gzEZAADAFWQyAACwcWKmThBkAACQBCWszqC7BAAAuIJMBgAANuQxnEGQAQCADdUlzqC7BAAAuIJMBgAANgz8dAZBBgAANoQYzqC7BAAAuIJMBgAANgz8dAZBBgAANozJcAZBBgAANoQYzmBMBgAAcAWZDAAAbBiT4QyCDAAAbDx0mDiC7hIAAOAKMhkAANjQXeIMggwAAGwoYXUG3SUAAMAVZDIAALAhj+EMggwAAGzoLnEG3SV3qFo1q8m8udPl0IGNcvXyr/L00/WTtBk2tJ8cPrhJzp35WZYs+lxKlIhKlXMFUuPvIFOmTBLzxl9l86Zv5cypfabNtL+Nl4IFw5Mc56knH5M13883fyvH43bKP7746BZfCZA2EWTcocLCssu2bT9Jj56vBNzfv99fpHu3DvKX7oPkoZqN5MJvv8nXCz6V0NDQW36uQGr8HWTPnk3+VKGcvP7GeKlS7Ql59rmXpFTJe2TuP6f5tWvS5CmZPm28TJ8xWypWrie1/9xYPvt83i28CrhVXeLUcicL8Xg8aSInlClL4dQ+hTuWvoNr2ryDfPXVEu82zWCMHfe+vDP2fbOeM+ddcvTIFunQqbfMnv1VKp4tcOv+DuwqVyovP6z9WqLurSKHDx+VjBkzyr/3/SjDR4yRadM/v6Xne6fTn5ebOhVv7tixph74Qu5UZDKQRFRUUZMSXrb8e++2s2fPybp1m6V6tUqpem5AasqVK6ckJibK6dNnzXrFP5WTIkUKmm3r1y0xwfmCrz6W++8vldqnij+ITEYaDTIOHz4sHTp0uG6bhIQEOXv2rN+SRhIqEJGI8ALmMS7uuN/2uPgTEhHx+z7gTqNdhW+88Vf5fNY8OXfuvNkWdU9R8zjk1b7yRsx4eaZxOzl1+owsW/qF3H137lQ+Y+A2DDJOnjwpM2bMuG6bmJgYyZUrl9/iSTzn9KkAgCN0EOjnn02RkJAQ6dY92rs9Q4bf/wmNeXOCzJ37tWzavF06dupj3jQ1b9YwFc8YTnx2iVP/3clSHGR89dVX112+++67Gx4jOjpazpw547eEZLjrZq8BDouNizeP4eH5/baHF8gnsbG/7wPutACjaNEi8sSTrbxZDBV77Pe/h1279nq3Xb58WfbvPyhFizLOLD1Lre6SmJgYqVKlitx1111SoEABady4sezZs8evzaVLl6Rbt26SN29eyZEjhzRr1kzi4uL82hw6dEgaNGgg2bNnN8fp37+/XL161a/NihUrpGLFiiZLV6JECZk+fXqS85k0aZIUL15csmbNKtWqVZN169a5O0+GXrBG89fr3tD916MXZK9SuNFzcOvs339Ijh2Lk0fr1JStW3eabXfdlUOqVv2TTPng76l9esAtDzC0fLvu48/KyZOn/PZv3LTN/INfsuS9snrNeu9zihWLlIMHj6TSWSM9W7lypQkgNNDQoOCvf/2r1KtXT3766ScJCwszbXr37i0LFy6UOXPmmJ6A7t27S9OmTWX16tVm/7Vr10yAERERIWvWrJFjx45J27ZtJXPmzPLGG2+YNvv37zdtunTpIp9++qksW7ZMOnXqJAULFpT69X8v5Z41a5b06dNHpkyZYgKMcePGmX0a9Gjg4kp1SeHChWXy5MnyzDPPBNy/ZcsWqVSpkrnIlKC65NaX7lnzXmxc/4307TdMVqxcY/4R1VHzWsI6oH83ad+xlxw4cFiGD+sv5R4oI+XK1zFjaoDb/e/g2LF4mT3rA1PG+kyTdn5jlE6ePC1XrlwxX789Zrg0a9pAXurcRw4e+lX69ukiDRs8LveXe0ROnz6Tatd2u3O7uqRNsaaOHevjg/+86eceP37c3NA1+Khdu7bJ/OfPn19mzpwpzZv/XgGze/duKVOmjKxdu1aqV68uixYtkoYNG8rRo0clPPz3eV00UBg4cKA5XpYsWczXGqjs2LHD+1otW7aU06dPy+LFi826BhYa7EycONGs6wDnyMhI6dGjhwwaNMid7hINIDZu3Jjs/htlOZA2aCme/qOqi3p7zDDz9bCh/c366DGTZdLkaTJl8ij5Yc1CyREWJg0avUCAgTvm76Bw4Qh5ulF9iYwsJJs2LJVfD2/xLg/VqOw9xsBBr8ns2V/K9GkTzN9KsaJF5PH6zxFgpHMeB5eEAMUOwf5bqkGFypMnj3nU+68GuHXr1vW2KV26tBQtWtQEGUofy5Ur5w0wlGYg9HV37tzpbeN7DKuNdQzt9tPX8m2jY5B03WrjSneJ9utcuHAh2f3arxPMuAykrpWr1t4wezRs+BizAHfq30EwGVZNaQ8Y9JpZgOTGWQwfPtxv29ChQ2XYsGHXfZ5mDnr16iUPP/ywPPDAA2ZbbGysyUTkzu1fvaQBhe6z2vgGGNZ+a9/12mggcvHiRTl16pTpkQjURjMnrgUZtWrVuu5+7TN65JFHUnpYAABuy88uiY6ONmMbfAUze7KOzdDujO+//9+cRekNH5AGAICNk6WnoQGKHW5EB3MuWLBAVq1aJUWKFPFu18Gc2pWhYyd8sxlaXaL7rDb2KhCr+sS3jb0iRddz5swp2bJlM7PZ6hKojXWMYDDjJwAAaYTH4zEBxty5c2X58uUSFRWVZFykVoloNYhFqz20ZLVGjRpmXR+3b98u8fH/m3Jg6dKlJoAoW7ast43vMaw21jG0S0Zfy7eNdt/outUmGGQyAACwSa3pwLt162YqR7788kszV4Y1hkJLVTXDoI8dO3Y03S86GFQDB6320Bu/VpYoLXnVYKJNmzYyatQoc4zBgwebY1sZFS1d1aqRAQMGmFm6NaCZPXu2qTix6Gu0a9dOKleuLFWrVjUlrDoms3379kFfDx+QBgBId9wuYX22WOBpGm7GnINfBt02uTmjpk2bJi+++KL5Wudm6du3r3z22WemSkWrQnRqCd9ujIMHD0rXrl3NhFs6VlKDhTfffNPM42LRfTrnhs7BoV0yr776qvc1LBqIjB492gQqFSpUkAkTJpjS1qCvhyADAJDeuB1kNC/2tGPH+uLgnfvJ1YzJAAAArmBMBgAANnf6R7Q7hSADAACbNDKSIN2juwQAALiCTAYAAC7O+HknI8gAAMCGMRnOoLsEAAC4gkwGAAAufnbJnYwgAwAAG8ZkOIPuEgAA4AoyGQAA2DBPhjMIMgAAsKG6xBkEGQAA2DDw0xmMyQAAAK4gkwEAgA3VJc4gyAAAwIaBn86guwQAALiCTAYAADZ0lziDIAMAABuqS5xBdwkAAHAFmQwAAGwSGfjpCIIMAABsCDGcQXcJAABwBZkMAABsqC5xBkEGAAA2BBnOIMgAAMCGGT+dwZgMAADgCjIZAADY0F3iDIIMAABsmPHTGXSXAAAAV5DJAADAhoGfziDIAADAhjEZzqC7BAAAuIIgAwCAAN0lTi0psWrVKmnUqJEUKlRIQkJCZN68eX779XhDhgyRggULSrZs2aRu3bqyb98+vzYnT56U1q1bS86cOSV37tzSsWNHOX/+vF+bbdu2Sa1atSRr1qwSGRkpo0aNSnIuc+bMkdKlS5s25cqVk6+//lpSiiADAIAA3SVOLSlx4cIFKV++vEyaNCngfg0GJkyYIFOmTJEff/xRwsLCpH79+nLp0iVvGw0wdu7cKUuXLpUFCxaYwKVz587e/WfPnpV69epJsWLFZOPGjTJ69GgZNmyYfPDBB942a9askVatWpkAZfPmzdK4cWOz7NixI0XXE+JJI6NbMmUpnNqnAABIJ65e/tXV45ePeMixY22NXXNTz9NMxty5c83NXentWjMcffv2lX79+pltZ86ckfDwcJk+fbq0bNlSdu3aJWXLlpX169dL5cqVTZvFixfLU089JUeOHDHPf++99+SVV16R2NhYyZIli2kzaNAgkzXZvXu3WW/RooUJeDRIsVSvXl0qVKhgApxgkckAACDAPBlO/ZeQkGCyB76Lbkup/fv3m8BAu0gsuXLlkmrVqsnatWvNuj5qF4kVYChtnyFDBpP5sNrUrl3bG2AozYbs2bNHTp065W3j+zpWG+t1gkWQAQCATaLH49gSExNjggHfRbellAYYSjMXvnTd2qePBQoU8NufKVMmyZMnj1+bQMfwfY3k2lj7g0UJKwAALs74GR0dLX369PHbFhoaKncCggwAAFwUGhrqSFARERFhHuPi4kx1iUXXdayE1SY+Pt7veVevXjUVJ9bz9VGf48tav1Eba3+w6C4BAMDF7hKnREVFmZv8smXLvNt0fIeOtahRo4ZZ18fTp0+bqhHL8uXLJTEx0YzdsNpoxcmVK1e8bbQSpVSpUnL33Xd72/i+jtXGep1gEWQAAODiwM+U0PkstmzZYhZrsKd+fejQIVNt0qtXLxk5cqR89dVXsn37dmnbtq2pGLEqUMqUKSNPPPGEvPTSS7Ju3TpZvXq1dO/e3VSeaDv1/PPPm0GfWp6qpa6zZs2S8ePH+3Xp9OzZ01SlvP3226biREtcN2zYYI6VEpSwAgDSHbdLWEsXqOLYsXbHrw+67YoVK6ROnTpJtrdr186Uqeote+jQoWZOC81Y1KxZUyZPniwlS5b0ttWuEQ0G5s+fb6pKmjVrZubWyJEjh99kXN26dTOlrvny5ZMePXrIwIEDk0zGNXjwYDlw4IDcd999Zo4OLYVNCYIMAEC643aQUTL//0pA/6i9xzfInYqBnwAAuFhdcidjTAYAAHAFmQwAAGycrAq5kxFkAABgQ3eJM+guAQAAriCTAQCAjceTmNqncFsgyAAAwCaR7hJHEGQAAGCTRqaQSvcYkwEAAFxBJgMAABu6S5xBkAEAgA3dJc6guwQAALiCTAYAADbM+OkMggwAAGyY8dMZdJcAAABXkMkAAMCGgZ/OIMgAAMCGElZn0F0CAABcQSYDAAAbukucQZABAIANJazOIMgAAMCGTIYzGJMBAABcQSYDAAAbqkucQZABAIAN3SXOoLsEAAC4gkwGAAA2VJc4gyADAAAbPiDNGXSXAAAAV5DJAADAhu4SZxBkAABgQ3WJM+guAQAAriCTAQCADQM/nUGQAQCADd0lziDIAADAhiDDGYzJAAAAriCTAQCADXkMZ4R4yAnBR0JCgsTExEh0dLSEhoam9ukAaQJ/F8DNIciAn7Nnz0quXLnkzJkzkjNnztQ+HSBN4O8CuDmMyQAAAK4gyAAAAK4gyAAAAK4gyIAfHdQ2dOhQBrcBPvi7AG4OAz8BAIAryGQAAABXEGQAAABXEGQAAABXEGQAAABXEGQAAABXEGTAa9KkSVK8eHHJmjWrVKtWTdatW5fapwSkqlWrVkmjRo2kUKFCEhISIvPmzUvtUwLSFYIMGLNmzZI+ffqYuQA2bdok5cuXl/r160t8fHxqnxqQai5cuGD+FjQAB5ByzJMBQzMXVapUkYkTJ5r1xMREiYyMlB49esigQYNS+/SAVKeZjLlz50rjxo1T+1SAdINMBuTy5cuyceNGqVu3rndbhgwZzPratWtT9dwAAOkXQQbkxIkTcu3aNQkPD/fbruuxsbGpdl4AgPSNIAMAALiCIAOSL18+yZgxo8TFxflt1/WIiIhUOy8AQPpGkAHJkiWLVKpUSZYtW+bdpgM/db1GjRqpem4AgPQrU2qfANIGLV9t166dVK5cWapWrSrjxo0z5Xvt27dP7VMDUs358+fl559/9q7v379ftmzZInny5JGiRYum6rkB6QElrPDS8tXRo0ebwZ4VKlSQCRMmmNJW4E61YsUKqVOnTpLtGpBPnz49Vc4JSE8IMgAAgCsYkwEAAFxBkAEAAFxBkAEAAFxBkAEAAFxBkAEAAFxBkAEAAFxBkAEAAFxBkAEAAFxBkAEAAFxBkAEAAFxBkAEAAMQN/w8PFpCSiZB+cAAAAABJRU5ErkJggg==",
|
202
|
-
"text/plain": [
|
203
|
-
"<Figure size 640x480 with 2 Axes>"
|
204
|
-
]
|
205
|
-
},
|
206
|
-
"metadata": {},
|
207
|
-
"output_type": "display_data"
|
208
|
-
}
|
209
|
-
],
|
210
|
-
"source": [
|
211
|
-
"plt.title(\"Confusion Matrix After SMOTE\")\n",
|
212
|
-
"sns.heatmap(confusion_matrix(y_test, y_pred_smote), annot=True, fmt=\"d\")\n",
|
213
|
-
"plt.show()"
|
214
|
-
]
|
215
|
-
},
|
216
|
-
{
|
217
|
-
"cell_type": "code",
|
218
|
-
"execution_count": 9,
|
219
|
-
"id": "b362b271-4469-4da2-a692-9961234f0024",
|
220
|
-
"metadata": {},
|
221
|
-
"outputs": [
|
222
|
-
{
|
223
|
-
"data": {
|
224
|
-
"image/png": "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FmnWolevXnLw4EF59913nd008gKhLvJEim379u3aZ2dv+fLlkj9/fvFOHEVCRK4Ha4c8evRIgwyselq4cGFnN4m8SKgDjAEDBkiLFi00k4GsBaqPT58+rV0nP//8s3gzhhlE5EyGYWiGAjNwQoYMGWTTpk16HSNGiFy6i6RWrVry008/6YcWE7Eg4Dh58qRuq1ChQvi0koiIgoX6ivr160vBggVl69attu3FihVjcEHuMw8GJmLBOGoiInJ+1mLx4sXSqVMnHYYaNWpUOX78OKf5JvfLYCDl9vfffwfa/s8//+htREQUMa5fv66jQzBKBMFFvnz55I8//pCOHTs6u2lEoQ8wLl265HD89PPnz21z2XubSJwqnIgi2LJly7R488cff9TZOIcMGSJ79+7VIIPIrbpIVq9ebft5w4YNEi9ePNt1BBy//vqrpEuXTrwZpwonooiCZdTv3bunBZyY/DB37tzObhJR2AKM2rVr6/+RIkXSUST2ED0juBg7dmxIn46IiEJZa3H16lUdegroFkG9Rd26dfU7mMhtAwwMSTVX3kMfX+LEicOzXURE9B8EFm3btpUDBw7IiRMnJGHChHqy16hRI2c3jci6GoyLFy8yuCAiiqCsBRaRRK3FunXrtJh+165dzm4WUfgNU338+LFOQXv58mXtB7T36aefhuUpiYjIDr5f27RpIxs3btTrmN571qxZkj17dmc3jSh8AgzMEle1alV58uSJBhpI1WExHSz1mzRpUi8NMDiKhIisgwUlP//8c3n48KHEiBFDV7H+7LPP/C0wSeRxXSRdu3aVGjVqaPWyr6+v7N69W/7880+dPW7MmDHizTiKhIis8Pvvv2twUaJECTl8+LB0796dwQV5foBx6NAh/bBjZT584DH/BaqaR48eLX369AmfVhIReTAU0T948MB2ffz48TJp0iTtis6SJYtT20YUYQEGhkMhuAB0iaCfEDAvxpUrV8LcECIib3ThwgUpV66cDjtFUSckSJBAOnTowKwFeVcNBpZkxzDVzJkzS+nSpXWxM9RgzJ8/X3LlyhU+rSQi8sCsBbIUvXr10po21LGdOXNGsmbN6uymETkngzFixAhJkSKF/jx8+HCNtNu3by+3b9+WadOmWdMqIiIPdu7cOV2MDEXxCC7w85EjRxhckHdnMAoVKmT7GV0k69evF29npjWJiIKD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",
|
225
|
-
"text/plain": [
|
226
|
-
"<Figure size 600x400 with 1 Axes>"
|
227
|
-
]
|
228
|
-
},
|
229
|
-
"metadata": {},
|
230
|
-
"output_type": "display_data"
|
231
|
-
},
|
232
|
-
{
|
233
|
-
"name": "stdout",
|
234
|
-
"output_type": "stream",
|
235
|
-
"text": [
|
236
|
-
"Before SMOTE:\n",
|
237
|
-
" precision recall f1-score support\n",
|
238
|
-
"\n",
|
239
|
-
" 0 1.00 1.00 1.00 85307\n",
|
240
|
-
" 1 0.82 0.63 0.71 136\n",
|
241
|
-
"\n",
|
242
|
-
" accuracy 1.00 85443\n",
|
243
|
-
" macro avg 0.91 0.82 0.86 85443\n",
|
244
|
-
"weighted avg 1.00 1.00 1.00 85443\n",
|
245
|
-
"\n",
|
246
|
-
"After SMOTE:\n",
|
247
|
-
" precision recall f1-score support\n",
|
248
|
-
"\n",
|
249
|
-
" 0 1.00 0.99 0.99 85307\n",
|
250
|
-
" 1 0.12 0.93 0.22 136\n",
|
251
|
-
"\n",
|
252
|
-
" accuracy 0.99 85443\n",
|
253
|
-
" macro avg 0.56 0.96 0.61 85443\n",
|
254
|
-
"weighted avg 1.00 0.99 0.99 85443\n",
|
255
|
-
"\n"
|
256
|
-
]
|
257
|
-
}
|
258
|
-
],
|
259
|
-
"source": [
|
260
|
-
"\n",
|
261
|
-
"fpr1, tpr1, _ = roc_curve(y_test, model.predict_proba(X_test)[:, 1])\n",
|
262
|
-
"fpr2, tpr2, _ = roc_curve(y_test, model_smote.predict_proba(X_test)[:, 1])\n",
|
263
|
-
"plt.figure(figsize=(6, 4))\n",
|
264
|
-
"plt.plot(fpr1, tpr1, label=f\"Before SMOTE (AUC = {auc(fpr1, tpr1):.2f})\")\n",
|
265
|
-
"plt.plot(fpr2, tpr2, label=f\"After SMOTE (AUC = {auc(fpr2, tpr2):.2f})\")\n",
|
266
|
-
"plt.plot([0, 1], [0, 1], 'k--')\n",
|
267
|
-
"plt.xlabel(\"False Positive Rate\")\n",
|
268
|
-
"plt.ylabel(\"True Positive Rate\")\n",
|
269
|
-
"plt.title(\"ROC Curve Comparison\")\n",
|
270
|
-
"plt.legend()\n",
|
271
|
-
"plt.show()\n",
|
272
|
-
"\n",
|
273
|
-
"# Classification reports\n",
|
274
|
-
"print(\"Before SMOTE:\\n\", classification_report(y_test, y_pred))\n",
|
275
|
-
"print(\"After SMOTE:\\n\", classification_report(y_test, y_pred_smote))\n"
|
276
|
-
]
|
277
|
-
},
|
278
|
-
{
|
279
|
-
"cell_type": "markdown",
|
280
|
-
"id": "00d7baa5-b1a1-4bb5-b8c3-2552f5572af1",
|
281
|
-
"metadata": {},
|
282
|
-
"source": [
|
283
|
-
"<h1>Load minist data set using the following code:\n",
|
284
|
-
"from tensorflow.keras.datasets import mnist\n",
|
285
|
-
"# Loads the MNIST dataset\n",
|
286
|
-
"(x_train, y_train), (x_test, y_test) = mnist.load_data()\n",
|
287
|
-
"Perform minimum of five EDA on the above mentioned data set.</h1>"
|
288
|
-
]
|
289
|
-
},
|
290
|
-
{
|
291
|
-
"cell_type": "code",
|
292
|
-
"execution_count": 10,
|
293
|
-
"id": "6860aef9-f583-44d1-a538-b8f8adc3026f",
|
294
|
-
"metadata": {},
|
295
|
-
"outputs": [],
|
296
|
-
"source": [
|
297
|
-
"import numpy as np\n",
|
298
|
-
"import matplotlib.pyplot as plt\n",
|
299
|
-
"import seaborn as sns\n",
|
300
|
-
"from tensorflow.keras.datasets import mnist\n",
|
301
|
-
"from tensorflow.image import flip_left_right, rot90"
|
302
|
-
]
|
303
|
-
},
|
304
|
-
{
|
305
|
-
"cell_type": "code",
|
306
|
-
"execution_count": 11,
|
307
|
-
"id": "17ce9851-25fb-40e7-ac3b-27c3f386fe49",
|
308
|
-
"metadata": {},
|
309
|
-
"outputs": [],
|
310
|
-
"source": [
|
311
|
-
"(x_train, y_train), (x_test, y_test) = mnist.load_data()"
|
312
|
-
]
|
313
|
-
},
|
314
|
-
{
|
315
|
-
"cell_type": "code",
|
316
|
-
"execution_count": 12,
|
317
|
-
"id": "a48e2cfb-5f35-4350-b62b-3e63a446c646",
|
318
|
-
"metadata": {},
|
319
|
-
"outputs": [
|
320
|
-
{
|
321
|
-
"data": {
|
322
|
-
"image/png": "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",
|
323
|
-
"text/plain": [
|
324
|
-
"<Figure size 1500x200 with 10 Axes>"
|
325
|
-
]
|
326
|
-
},
|
327
|
-
"metadata": {},
|
328
|
-
"output_type": "display_data"
|
329
|
-
}
|
330
|
-
],
|
331
|
-
"source": [
|
332
|
-
"# 1. Function to plot images from the dataset\n",
|
333
|
-
"def plot_sample_images(images, labels, count=10):\n",
|
334
|
-
" plt.figure(figsize=(15, 2))\n",
|
335
|
-
" for i in range(count):\n",
|
336
|
-
" plt.subplot(1, count, i+1)\n",
|
337
|
-
" plt.imshow(images[i], cmap='gray')\n",
|
338
|
-
" plt.title(f\"Label: {labels[i]}\")\n",
|
339
|
-
" plt.axis('off')\n",
|
340
|
-
" plt.show()\n",
|
341
|
-
"\n",
|
342
|
-
"plot_sample_images(x_train, y_train)"
|
343
|
-
]
|
344
|
-
},
|
345
|
-
{
|
346
|
-
"cell_type": "code",
|
347
|
-
"execution_count": 13,
|
348
|
-
"id": "0f97abbe-26ce-421f-9dc4-e3c86a6deb45",
|
349
|
-
"metadata": {},
|
350
|
-
"outputs": [
|
351
|
-
{
|
352
|
-
"data": {
|
353
|
-
"image/png": "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9zrGAGsAAGBFIFq1alXh1wQAACCQxhABAACI7S1ErVu3LrBrbOXKlX+mTgAAAP4fiJzxQ45Tp07J5s2bzXiivDd9BQAACMpANGHChHz3jxw5Uo4ePfpn6wQAABC4Y4geffRR7mMGAADsDkSpqakSERFRmKcEAADwzy6zzp07ez13uVxy8OBB2bhxozz//POFVTcAAAD/DURRUVFez4sUKSL16tWTUaNGSbt27QqrbgAAAP4biJKTkwu/JgAAAIEUiBxpaWmya9cu83HDhg3l2muvLax6AQAA+HcgysrKkoceekhWr14tZcqUMfsOHz5sFmycO3euVKxYsbDrCQAA4F+zzJ566ik5cuSI7NixQ3799Vez6aKMOTk58vTTTxd+LQEAAPythWjJkiWyfPlyadCggXtfXFycTJ06lUHVAADAjhais2fPSlhY2Dn7dZ8eAwAACPpA1KZNG+nfv78cOHDAvW///v0ycOBAadu2bWHWDwAAwD8D0ZQpU8x4oVq1akmdOnXMFhsba/ZNnjy58GsJAADgb2OIqlevLps2bTLjiL799luzT8cTxcfHF3b9AAAA/KuFaOXKlWbwtLYEhYSEyB133GFmnOl2/fXXm7WIvvjii8tXWwAAAF8HookTJ0qfPn2kdOnS+d7O4y9/+YuMHz++MOsHAADgX4Foy5Ytcuedd573uE6519WrAQAAgjYQHTp0KN/p9o7Q0FD5+eefC6NeAAAA/hmIqlatalakPp+tW7dKTExMYdQLAADAPwPRXXfdJc8//7ycOHHinGPHjx+XESNGyN13312Y9QMAAPCvaffDhg2T+fPny9VXXy39+vWTevXqmf069V5v23HmzBl57rnnLlddAQAAfB+IKleuLGvXrpUnn3xSEhMTxeVymf06Bb99+/YmFGkZAACAoF6YsWbNmvLpp5/Kb7/9Jrt37zah6KqrrpKyZctenhoCAAD440rVSgOQLsYIAABg5b3MAAAAgolPA9Ebb7whjRs3Nitf69ayZUv57LPP3Md1NltCQoKUL19eSpYsKV26dDFrIXnat2+fdOzYUYoXLy6VKlWSwYMHy+nTp73KrF69Wpo1aybh4eFSt25dmTVr1hW7RgAA4P98GoiqVasmr7zyilndeuPGjdKmTRvp1KmT7NixwxwfOHCgLFy4UD788ENZs2aNHDhwQDp37ux+vc5q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",
|
354
|
-
"text/plain": [
|
355
|
-
"<Figure size 640x480 with 1 Axes>"
|
356
|
-
]
|
357
|
-
},
|
358
|
-
"metadata": {},
|
359
|
-
"output_type": "display_data"
|
360
|
-
}
|
361
|
-
],
|
362
|
-
"source": [
|
363
|
-
"# 2.Visualize class distribution\n",
|
364
|
-
"sns.countplot(x=y_train)\n",
|
365
|
-
"plt.title(\"Class Distribution\")\n",
|
366
|
-
"plt.xlabel(\"Digit\")\n",
|
367
|
-
"plt.ylabel(\"Count\")\n",
|
368
|
-
"plt.show()\n"
|
369
|
-
]
|
370
|
-
},
|
371
|
-
{
|
372
|
-
"cell_type": "code",
|
373
|
-
"execution_count": null,
|
374
|
-
"id": "686a47bc-374b-4a92-a3b3-53455700643d",
|
375
|
-
"metadata": {},
|
376
|
-
"outputs": [],
|
377
|
-
"source": [
|
378
|
-
"# 3.Plot the distribution of image sizes\n",
|
379
|
-
"sizes = [(img.shape[0], img.shape[1]) for img in x_train]\n",
|
380
|
-
"sns.histplot(sizes)\n",
|
381
|
-
"plt.title(\"Image Size Distribution\")\n",
|
382
|
-
"plt.xlabel(\"Size\")\n",
|
383
|
-
"plt.ylabel(\"Frequency\")\n",
|
384
|
-
"plt.show()"
|
385
|
-
]
|
386
|
-
},
|
387
|
-
{
|
388
|
-
"cell_type": "code",
|
389
|
-
"execution_count": 15,
|
390
|
-
"id": "afe4ceee-437a-40ca-ba7b-79dab6f8e668",
|
391
|
-
"metadata": {},
|
392
|
-
"outputs": [
|
393
|
-
{
|
394
|
-
"data": {
|
395
|
-
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHHCAYAAABZbpmkAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAANY9JREFUeJzt3QucTXXf///PjGEwGIcw5Cw5HwoxdDYZkivRQUmTW5RQiOTOue7GrStKOVx1X+EqUq47FZVikGIcS85z4VJIjGhmUMYw6//4fP+/te+9xwwz7Jm95+v1fDyWfVhrr/1d39lmved7WDvEcRxHAAAALBUa6AIAAADkJ8IOAACwGmEHAABYjbADAACsRtgBAABWI+wAAACrEXYAAIDVCDsAAMBqhB0AAGA1wg4QZB5//HGpVatWvu1/zpw5EhISIj/99JMUpFWrVpn31dvC4PbbbzdLQdB6GT9+vOex3tfnfvvttwJ5f/286ecOsBVhByggbshwl+LFi8v1118vgwYNkqNHj0owadasmdSoUUMu9m0y7du3l8qVK8u5c+ck2OmJ3LvuS5UqJXXq1JH7779f/vd//1cyMzP98j5r1641QSUlJUWCTTCXDchvYfn+DgB8TJw4UWrXri1nzpyR7777TmbOnClffPGFbN++XUqWLCnvvPOO306+l6tXr17ywgsvyLfffiu33nrrBeu1VSgxMdEEtbCwwvFrJDw8XP7nf/7H3P/zzz/l559/lsWLF5vAoy04n376qZQpU8az/ddff31ZgWLChAkmXJUtWzbXr9Py5Hc9XqxsSUlJEhrK376wF59uoIB17txZHn30UXniiSdMa8+QIUNk//795mSrihYtak7MgfTII4+YFpD58+dnu/6DDz4wrT4aigoLDRNa77r069dPXn75Zfnxxx8lPj7edK3pc96KFStmlvyigVYDr9JWvkCGRv286ecOsBVhBwiwO++809xq4MluzM64cePMX90JCQk+r+vfv785GesJ27V+/Xrp1KmTREZGmlai2267TdasWZPnMlWvXt206Pzzn/+UjIyMC9ZrCKpbt660adPGtJA8/fTTUr9+fSlRooRUqFBBHnjggVyNCcpprEh242XS09NNXVx33XXm5KxlfP75583zV0JbsDp27CgLFy6Uf/3rXxctw5tvvimNGzc2dVuuXDlp1aqVJxBq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2+Tm98KBAwekS5cuUrJkSbOfESNGyLlz5+RqF5+L+r399tsv+Aw/9dRTQVu/hJ188uGHH5qLHeqUvO+//16aN28usbGxkpycHOiiFUqNGzeWX3/91bN89913nnVDhw6VxYsXy8KFC+Wbb76Rw4cPS/fu3QNa3mCmF9zUz6OG8exMnjxZpk2bJrNmzZL169dLRESE+ezqycOlJ+EdO3bIsmXLZMmSJebk3r9//wI8isJdx0rDjfdn+oMPPvBZTx3nTP+fa5BZt26dqZ+MjAzp2LGjqffc/l7QL5DWE/HZs2dl7dq1MnfuXJkzZ44J+le7b3JRv6pfv34+n2H93RG09atTz+F/N910kzNw4EDP4/PnzztVq1Z14uPjA1quwmjcuHFO8+bNs12XkpLiFC1a1Fm4cKHnuV27dunlFJzExMQCLGXhpPW0aNEiz+PMzEwnKirKefXVV33qODw83Pnggw/M4507d5rXbdy40bPNl19+6YSEhDi//PJLAR9B4atjFRcX59x77705voY6zpvk5GRTX998802ufy988cUXTmhoqHPkyBHPNjNnznTKlCnjpKenB+AoCk/9qttuu8159tlnnZwEW/3SspMPNMlu3rzZNP+7QkNDzePExMSAlq2w0m4U7RKoU6eO+YtXm0eV1rP+1eFd19rFVaNGDer6Muzfv99chdy7PvV7Z7Qb1q1PvdVuFf16Fpdur59xbQlC7qxatco07devX18GDBggx48f96yjjvMmNTXV3JYvXz7Xvxf0tmnTpj5X2tcWTP1iS21RQ87165o3b575Mu4mTZqYL9j+448/POuCrX6tuYJyMPntt99ME17Wr6vQx7t37w5YuQorPdFq86eeFLSpdMKECXLLLbfI9u3bzYlZvww26xe5al3rOuSNW2fZfXbddXqrJ2lvYWFh5hchdZ472oWlXSq1a9eWffv2yX/+539K586dzQmiSJEi1HEe6Bc/DxkyRNq3b29Ouio3vxf0NrvPubsOOdeveuSRR6RmzZrmj9CtW7fKyJEjzbiejz/+OCjrl7CDoKcnAVezZs1M+NH/ZB999JEZQAsUNj179vTc179+9XNdt25d09rToUOHgJatsNGxJfqHj/c4PuR//fb3Gj+mn2Gd0KCfXQ3v+lkONnRj5QNt1tO/zrKO/NfHUVFRASuXLfSvteuvv1727t1r6lO7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",
|
396
|
-
"text/plain": [
|
397
|
-
"<Figure size 640x480 with 1 Axes>"
|
398
|
-
]
|
399
|
-
},
|
400
|
-
"metadata": {},
|
401
|
-
"output_type": "display_data"
|
402
|
-
}
|
403
|
-
],
|
404
|
-
"source": [
|
405
|
-
"# 4.Plot the distribution of pixel values (RGB channels) for a sample image\n",
|
406
|
-
"sample_img = x_train[0]\n",
|
407
|
-
"plt.hist(sample_img.ravel(), bins=50, color='blue', alpha=0.7)\n",
|
408
|
-
"plt.title(\"Pixel Value Distribution\")\n",
|
409
|
-
"plt.xlabel(\"Pixel Intensity\")\n",
|
410
|
-
"plt.ylabel(\"Count\")\n",
|
411
|
-
"plt.show()\n"
|
412
|
-
]
|
413
|
-
},
|
414
|
-
{
|
415
|
-
"cell_type": "code",
|
416
|
-
"execution_count": 16,
|
417
|
-
"id": "492d7e9f-a98e-43f0-9a08-c2bed7fec88f",
|
418
|
-
"metadata": {},
|
419
|
-
"outputs": [
|
420
|
-
{
|
421
|
-
"data": {
|
422
|
-
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAC8CAYAAADl2K3eAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAGYJJREFUeJzt3Ql0VcX9wPEhiewBxA2aqggqFGwERC2IssiiCEGW0sYKooioWNQKlqUeFIVGQVswWFFZtLapSgWBiii7NhZFBVQUV0QpKoIJIWE5JPd/fnN683/JTMhN8rK8O9/POZHk9+6775rMm/e7c38zt5bneZ4CAADOiqvuAwAAANWLZAAAAMeRDAAA4DiSAQAAHEcyAACA40gGAABwHMkAAACOIxkAAMBxJAMAADiOZOA47r33XlWrVq1yPXfRokX6uTt37lSVRfYtryGvBbe0aNFCjRw5svDn9evX67Yg/4b1PQXUBDtD2u+GNhn48MMP1bXXXquSkpJUnTp11E9+8hP1m9/8RseBmsxPJG1fEydOrO7DA0ptswkJCbrvlYR19+7dZd5fZmamThyzsrLKfUyPPfZY6D6wK1OCCqEXX3xRpaamqqZNm6pRo0aps846S2dz8+fPV4sXL1b/+Mc/1KBBg0rdzx/+8Idyd77Dhw9Xv/71r3UiApTHtGnTdNuNdN5551m3veyyy9ShQ4dU7dq1q+jogJLb7OHDh9V//vMf/WH8xhtvqA8++EDVrVu3TMnAfffdp5OJJk2alDsZOPnkk4uMoMGhZODzzz/XH8QtW7ZUGzduVKecckrhY7fffru69NJL9ePbtm3T29jk5uaqBg0a6OxWvsojPj5efwHldeWVV6pOnToF2jYuLq5MnS1Q2W32xhtv1B/GDz74oFq2bJkaNmxYdR8eXLpMMHPmTJWXl6eeeOKJIomAkIY5b948/WH/0EMPFbmGuX37dnXNNdeoE088UXXt2rXIY5Hk7GvcuHF6X4mJiSolJUUPg8l2sv3xagbkOm///v11pnzRRRfpzlsSkmeeeabIa+zfv1+NHz9e/fznP1cNGzZUjRo10m+yrVu3VsrvDLHPVjPQvXt3PZLwzjvvqC5duqh69erps7bHH3/c+tznnntOTZ48WTVr1kwnw9K2v/76a+O1Nm3apK644grVuHFjVb9+fdWtWzf173//29hO2vmFF16o23mrVq30ew9ukZMv/yTNt3btWh2XNiZn/QMHDlQfffRR4ePSj06YMEF/L+3Vv/Tg96ULFy5UPXv2VKeeeqoeeW3btq36y1/+UuR1pa+VS8IbNmwofL68H3xy+eGOO+5Qp59+ut7H2WefrZOWgoKCIvuR7WRkQdq6HOt1111XoUsXNVnoRgaWL1+uG4LfCG3DqfL4v/71ryLxX/7yl+qcc85RM2bMUMe7q7M0jOeff16PLvziF7/Qje2qq64KfHyfffaZGjp0qL58IQ1rwYIFep8XXHCBateund7miy++UEuXLtXHJG+G7777Tnek0ulK0iL1Dwi/7Oxs9cMPPxSJSRJaFj/++KPq16+fPiuTS2fSdm+55RZ9OeGGG24osu306dN1p/n73/9eff/99+rPf/6z6tWrl9qyZYtOJPyOXBJTaa9Tp07VIxJ+5/z666/rJFe8//77qk+fPjohl8792LFjevvTTjutwr8XxA7/A1xOssTq1at1+5GTIGkXcnL16KOPqksuuUS9++67um8ePHiw+uSTT1RGRob605/+VNjm/ZM7+eCXvlKSVRm5lT7/1ltv1R/kY8eO1dtI2/3tb3+rT6amTJmiY37bk5NF6UvlJG7MmDHqjDPO0JclJk2apPbs2aOfK+RzQBIVSWpvvvlm9bOf/UwtWbJE99uh5IVIVlaWfIp7AwcOPO52KSkpersDBw54U6dO1d+npqYa2/mP+d555x398x133FFku5EjR+q4bO9buHChjn355ZeFsTPPPFPHNm7cWBj7/vvvvTp16nh33XVXYezw4cNefn5+kdeQ/ch206ZNKxKT/clrITz8tmP7imxL1113XeHP69at04/Lv75u3brp2MMPP1wYO3LkiNe+fXvv1FNP9Y4ePVrkuUlJSfo94Xv++ed1fPbs2frngoIC75xzzvH69u2rv/fl5eV5Z511lte7d+/C2NVXX+3VrVvX++qrrwpj27dv9+Lj44v8fyBcbXb16tXe3r17va+//tpbvHixd8opp+h+S34Wftvbt29f4XO3bt3qxcXFeSNGjCiMzZw50+g/I9tbcdImW7ZsWSTWrl07/R4o7v777/caNGjgffLJJ0XiEydO1O1z165d+uelS5fqY3jooYcKtzl27Jh36aWXhrLfDdVlgpycHP2vDN8fj//4gQMHCmOS+ZXmlVde0f9K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",
|
423
|
-
"text/plain": [
|
424
|
-
"<Figure size 640x480 with 3 Axes>"
|
425
|
-
]
|
426
|
-
},
|
427
|
-
"metadata": {},
|
428
|
-
"output_type": "display_data"
|
429
|
-
}
|
430
|
-
],
|
431
|
-
"source": [
|
432
|
-
"#5. Function to apply basic augmentation techniques\n",
|
433
|
-
"def augment_image(img):\n",
|
434
|
-
" flipped = flip_left_right(img[..., np.newaxis])\n",
|
435
|
-
" rotated = rot90(img[..., np.newaxis])\n",
|
436
|
-
" return flipped.numpy().squeeze(), rotated.numpy().squeeze()\n",
|
437
|
-
"\n",
|
438
|
-
"flip, rot = augment_image(x_train[0])\n",
|
439
|
-
"plt.subplot(1, 3, 1)\n",
|
440
|
-
"plt.imshow(x_train[0], cmap='gray')\n",
|
441
|
-
"plt.title(\"Original\")\n",
|
442
|
-
"plt.axis('off')\n",
|
443
|
-
"plt.subplot(1, 3, 2)\n",
|
444
|
-
"plt.imshow(flip, cmap='gray')\n",
|
445
|
-
"plt.title(\"Flipped\")\n",
|
446
|
-
"plt.axis('off')\n",
|
447
|
-
"plt.subplot(1, 3, 3)\n",
|
448
|
-
"plt.imshow(rot, cmap='gray')\n",
|
449
|
-
"plt.title(\"Rotated\")\n",
|
450
|
-
"plt.axis('off')\n",
|
451
|
-
"plt.show()"
|
452
|
-
]
|
453
|
-
},
|
454
|
-
{
|
455
|
-
"cell_type": "code",
|
456
|
-
"execution_count": 17,
|
457
|
-
"id": "cbb73cd8-3006-4962-bb82-da6cb38aed10",
|
458
|
-
"metadata": {},
|
459
|
-
"outputs": [
|
460
|
-
{
|
461
|
-
"name": "stdout",
|
462
|
-
"output_type": "stream",
|
463
|
-
"text": [
|
464
|
-
"Mean pixel value: 33.32, Standard deviation: 78.57\n"
|
465
|
-
]
|
466
|
-
}
|
467
|
-
],
|
468
|
-
"source": [
|
469
|
-
"# 6.Calculate mean and standard deviation of pixel values\n",
|
470
|
-
"mean = np.mean(x_train)\n",
|
471
|
-
"std = np.std(x_train)\n",
|
472
|
-
"print(f\"Mean pixel value: {mean:.2f}, Standard deviation: {std:.2f}\")\n"
|
473
|
-
]
|
474
|
-
},
|
475
|
-
{
|
476
|
-
"cell_type": "code",
|
477
|
-
"execution_count": 18,
|
478
|
-
"id": "881c91f4-5d2b-4538-85d4-9607ee130c85",
|
479
|
-
"metadata": {},
|
480
|
-
"outputs": [
|
481
|
-
{
|
482
|
-
"data": {
|
483
|
-
"image/png": "iVBORw0KGgoAAAANSUhEUgAABFIAAAGGCAYAAABYLaWUAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOpdJREFUeJzt3Qm81mPeP/Df0UJZIrJkSTOUpUkYZCtbIkaRsWV9PAxGGSPbaChE9qmM7NmyzViyJ7Jvj2zzJ9lGUUISpSjp/r9+9zN54nedXKe7c869vN+v13l6nk/f87uv4znf7vt8z+++rqpcLpdLAAAAAPhFS/1yCQAAAAApgxQAAACASAYpAAAAAJEMUgAAAAAiGaQAAAAARDJIAQAAAIhkkAIAAAAQySAFAAAAIJJBCgAAAEAkg5RF6N+/f1JVVbVYn3vDDTfkP3fChAlLfF3A/9KjUNz0KBQ3PQrFTY8Wr4oZpCz4RlrwscwyyyQtW7ZMunbtmgwZMiSZOXNmra/hiiuuyK+jUPPnz08uvPDCpHXr1vmvo3379sltt922RNYI9aWcenTgwIHJXnvtlay22mr5ryV9EoRSVy49On78+OSUU05JOnTokCy//PLJGmuskeyxxx7J2LFjl9g6oT6US49+8sknycEHH5y0bds236MrrrhisuWWWyY33nhjksvllthaoa6VS4/+3IgRI/Jfz3LLLZdUkqpchfyLlH7DHHHEEcnZZ5+dH0B8//33yaeffpo8+eSTyejRo5N11lknue+++/JDiQXmzZuX/0i/yWvqhx9+yD/G0ksv/eMUsV27dskqq6ySf8xCnH766cmgQYOSo446Ktliiy2SkSNHJg8++GB+mHLAAQcUdG2oL+XUo+n1Vl999WSTTTZJRo0alZx11lmGKZS8cunRvn37Jtddd13Ss2fP/A9nX3/9dXLVVVflf2P3yCOPJLvssstiXxvqU7n06L/+9a+kT58+ybbbbptfc/oY6frTtaevgc8777zFvjbUp3Lp0YV98803+aFn+ly64P+uGLkKMXz48HRglHv55Zczf/f444/nmjRpkmvVqlVu9uzZtbaGjTfeONe5c+eCrjFp0qRco0aNcn/84x9/zObPn5/bfvvtc2uttVZu3rx5S2ClUPfKpUdTH374Yf7PqVOn5r+ms846awmsDupXufTo2LFjczNnzvxJ9sUXX+RatGiR23bbbQtcIdSfcunR6uy55565ZZdd1mtdSlY59uipp56aa9u2ba5Xr175/qwkFfPWnkXZaaedkr/+9a/JxIkTk1tuuWWR70n79ttv81PydJKX3m6Y3r4/efLkzO37P39P2rrrrpu89dZbyVNPPfXj7Vw77LDDj/UffPBB/uOXpHefpJPF44477scsvdaxxx6bTJo0KXnhhRcK/u8BxaaUenTBtaCSlFKPbr755pnbj1deeeVk++23T95+++2C/jtAsSqlHq1Oev3Zs2cnc+fOXexrQLEqxR597733kssuuyy59NJLk4YNGyaVxiDlPw455JD8n48++ugi6w4//PBk6NChSbdu3ZILLrggadKkSf691b/kb3/7W7LWWmslG2ywQXLzzTfnP84444wf/37nnXfOf/yS1157LVl22WWTDTfc8Cd5envygr+HclQqPQqVqtR7NL29On1RCuWq1Ho0/WHxiy++yP8QmO6PMnz48GTrrbfOrwfKUan16J/+9Kdkxx13zK+jElXe6Kga6TdVs2bNFjmFe/XVV5M777wz/02TTt9S6Z0h6Xvd3njjjUVev0ePHkm/fv3yL9LSDbQW15QpU37cwHJh6WZ5CzbognJUKj0KlaqUe/SZZ57J39GZXh/KVan16ODBg/N7oiyQ/oCXDlOgXJVSjz744IP5gc8vPWY5c0fKQtJbfRe1W3K6CV1q4bfVpHr37l3wY6fT9pijqdLpfLph0M8t2IAo/XsoV6XQo1DJSrFHP//88+Sggw7Kb/yXnuYD5ayUevTAAw/Mb8B566235ns05XUu5a4UejR9e92JJ56YHHPMMclGG22UVCqDlIWkuwyn7zOrTvqetaWWWir/Ymth6623XlJX0lu35syZk8m/++67H/8eylUp9ChUslLr0VmzZiV77rln/kVrugdZpR3dSOUppR5t1apV/hStdKCSHq/6q1/9Kv9/G6ZQzkqhR9M7Yb744otkwIABSSUzSPmPdKPW9NimYv+BK30LT/o+7p+fWp2+5SeVnkUO5ahUehQqVan1aPobtX322Sd/1Go6REmPhIRyVmo9+nP77rtv8vHHHydPP/10fS8FKrZH0/Wde+65yVFHHZXMmDHjx7tY0gFQ+vNp+r+nd3pWAoOU/0g320l17dp1kZPx+fPnJx9++OFP8vfffz/qMX6+r8ni6NChQ37H8p+fLPDSSy/9+PdQjkqlR6FSlVKPpms49NBDk8cffzz/toHOnTsvketCMSulHg1ZcCdK+oMclKNS6NHp06fnhyYXXnhh/q6YBR933XVX/mfU9H8/+uijk0pgkJIkyZgxY5Jzzjkn///4Xr16VVu34Jv6iiuu+Eme7pocIz1t56uvvgr+XexxU927d08aNWr0kzWk078rr7wyWXPNNZNtttkmai1QSkqpR6ESlVqPpu8lv+OOO/LrSO9KgXJXSj06derUYH7dddflfwjcbLPNotYCpaRUenTVVVdN7rnnnsxHenpPumdn+r8vvEl0Oau4U3sefvjhZPz48cm8efOSzz77LP9Nm25klU737rvvvh83bQ3ZfPPNk549e+aPjpo2bVrSsWPH/Dnc7777btSEL/38YcOG5W+HSm/ZSr8R0zPDUwuOmvqlDX7S3ZzTXZovuuii5Pvvv0+22GKL5N57782fOJC+f7RBgwaL8V8Fikep9+iC3yik72FNJ/Op9Dbk9JoLjrZLvxYoVaXeo+ljpy9A02NUmzZtmtxyyy0/+fu99947/0ITSlWp9+jAgQOT5557Ltltt92SddZZJ/nyyy/zv+1++eWX80PQYn7bA5R7j6bPm+npPz+X/jz6P//zP8G/K1cVN0g588wz8382btw4ad68efKb3/wm/42YHhm1qI19FrjpppuS1VdfPbntttvyE7d006v0t1pt27Zd5Df9gsdOf7hKb4VKN7ZLbyVe8I1bE4MGDUpWWmml5KqrrkpuuOGGZP3118+/EFywozmUsnLo0fS3ZumT2gJPPPFE/iO13XbbGaRQ0kq9R19//fX8n+lxx+nHz6W3SxukUMpKvUf32GOP/G/Fr7/++vzdKeljtm/fPn/08WGHHVaja0ExKvUe5X9V5X6+ayk1lr4o23TTTfPDjEXdigXUDz0KxU2PQnHTo1Dc9Gjds0dKDYWOXEsniOkxVJ06daqXNQH/R49CcdOjUNz0KBQ3PVocKu6tPYVKb4N65ZVX8hvqNGzYMP8et/Qj3Z147bXXru/lQcXTo1Dc9CgUNz0KxU2PFgdv7amhdCOgAQMGJOPGjcsf/ZRugpVuHnnGGWfkv5GB+qVHobjpUShuehSKmx4tDgYpAAAAAJHskQIAAAAQySAFAAAAIJJBCgAAAECk6N1oqqqqYkuhYLbuqTk9Sl3SozWnR6lLerTm9Ch1SY/WnB6lmHrUHSkAAAAAkQxSAAAAACIZpAAAAABEMkgBAAAAiGSQAgAAABDJIAUAAAAgkkEKAAAAQCSDFAAAAIBIBikAAAAAkQxSAAAAACIZpAAAAABEMkgBAAAAiGSQAgAAABDJIAUAAAAgkkEKAAAAQCSDFAAAAIBIBikAAAAAkQxSAAAAACIZpAAAAABEMkgBAAAAiNQwtpAla/PNN89kxx9/fLD20EMPzWQ33XRTsHbo0KGZ7NVXX12sNQIAAAA/5Y4UAAAAgEgGKQAAAACRDFIAAAAAIhmkAAAAAEQySAEAAACIVJXL5XJRhVVVsddkIR06dAjmY8aMyWQrrLBCwY/39ddfZ7KVV145KTWR35YsRI8Wl379+gXzAQMGZLKllgrPtHfYYYdg/tRTTyX1TY/WnB5dspZffvlMttxyywVr99hjj0zWokWLYO2ll16ayebMmZOUGj1ac5XYo23atAnmjRo1ymSdOnUK1l5xxRXBfP78+UldGTlyZDA/4IADgvncuXOT+qZHa64Se7Rc7LzzzsF8xIgRwbxz586Z7J133kmKqUfdkQIAAAAQySAFAAAAIJJBCgAAAEAkgxQAAACASA1jC1m0LbfcMpjfddddwbxZs2bRG9rMnDkzepOs0MayHTt2DNa++uqrRbsBF5SSww8/PJOdeuqpBW++ZyM6Ksm6664bzKvrpa233jqTtWvXruB1rLHGGpmsT58+BV8X6srGG28c/Vz1+9//Plgb2gS9ZcuWNXpeq8vnsL322iuYX3nllcH8T3/6UyabMWPGEl8XpaG6jZRDP1fdc889dbCi8rPFFlsE85dffjkpVe5IAQAAAIhkkAIAAAAQySAFAAAAIJJBCgAAAEAkgxQAAACASE7tWYSmTZsG88022yyT3XLLLdG7/9fUe++9l8kuvPDCYO3tt9+eyZ577rlgbb9+/YL5+eefX+M1QiVr1apVJltmmWXqZS1QTDbYYIPoEzN69eoVrG3SpEkwr6qqymQff/xx9Ol3G264YbB2v/32y2RXXHFFsHb8+PHBHOpTda/junXrllSaQw89NJhfd9110a+XKX877LBDMF9//fUzmVN7ftlSgVO/WrduHf0aurrn+GLjjhQAAACASAYpAAAAAJEMUgAAAAAiGaQAAAAARDJIAQAAAIjk1J5FuOqqq4L5gQceWKfrCJ0StNxyywVrn3rqqeidqNu3b78EVgeVY5dddgnmvXv3jr5G6JSPPffcM1j72Wef1WB1UDeaNWsWzC+44IJMtv/++wdrl19++Vo50a5r167B2kaNGkWfuLPKKqtEZVCsRo8eXfCpPZ9//nnUSTfVndCRmj9/fvTjbbPNNpmsc+fO0Z8PtXG60wsvvFDnaykHawROrT3qqKOCtdWdfFsKp+K5IwUAAAAgkkEKAAAAQCSDFAAAAIBIBikAAAAAkWw2+x+bb755Jttjjz2CtVVVVdHXDW3+mrr//vsz2cUXXxys/eSTTzLZa6+9FqydPn16Jttpp50K/jqg0my33XaZbPjw4TXafDPkoosuymQTJ06s4eqg/uy9997B/L//+79r5fE++OCDYN6lS5dM9vHHHwdr11tvvSW+LihWw4YNC+b33ntv9DW+//77TPbpp58mtWWFFVbIZG+++WawtmXLltHXre5rHjt2bA1WR7mrbsNkFs+1115b0MbxpcJ3DQAAAEAkgxQAAACASAYpAAAAAJEMUgAAAAAiGaQAAAAARKq4U3s6dOgQzEePHh21g3gql8tlsocffjhYe+CBBwbzzp07Z7J+/fpF73w8derUYO0bb7yRyebPnx+sre5Uos022yyTvfrqq8FaKFeHHXZYQScFPPnkk8H8pptuKmhdUN9+//vfF3yNCRMmZLKXX345WHvqqacG8+pO6AnZcMMNa7A6KG3z5s0ruGfqWteuXTPZSiutVPB1J02aFMznzJlT8LUpTe3bt89kq622Wr2spVw1q8FplqGfwUuFO1IAAAAAIhmkAAAAAEQySAEAAACIZJACAAAAEKmsN5tt06ZNJjv55JOjN8X54osvgrVTpkzJZDfeeGOw9ptvvgnmDz74YFRWm5o0aRLMTzrppEzWq1evOlgR1L1VVlklmP/Xf/1X9MbNX331VSY799xzl8DqoPgcddRRwfzoo4/OZI8++miw9v33389kn3/+eVJbbCQIxeGAAw6I/nelutepNXHmmWcWfA3KS7du3Wrle60SrVbNc2vr1q2jrzF58uSkVLkjBQAAACCSQQoAAABAJIMUAAAAgEgGKQAAAACRDFIAAAAAKunUnqWXXjqYX3zxxVE7NadmzpyZyQ499NBg7dixY8t6t+d11lmnvpcAS9y6664bzO+6666Crz106NBM9sQTTxR8XShGn3zySTDv379/Uqy23nrr+l4ClK3qTnY87bTTMtl6660XrG3UqFFBa3j99deD+ffff1/QdSk/bdu2ja596623anUtpe7iwM/a1Z3m8+6770b/DF4q3JECAAAAEMkgBQAAACCSQQoAAABAJIMUAAAAgErabHbTTTcN5tVtLBvSvXv3TPbUU08VtC6geOy2227BvH379tHXePzxx4P54MGDF3tdwP/q06dPMF922WULvvZvfvOb6Nrnn38+k73wwgsFrwHqe3P1Qw45JJPtsssuBT/edtttF8xzuVxB150xY0b0JrYPPfRQsPbbb78taA1UtpdffjkpZyussEL06+WDDz44k+26667Rj3XOOecE86+++iopVe5IAQAAAIhkkAIAAAAQySAFAAAAIJJBCgAAAEAkgxQAAACASjq159JLLw3mVVVV0SfxlPMJPUstFZ6XzZ8/v87XAnWhR48emWzQoEE1usazzz6byQ477LBg7ddff12ja0M5atq0aSbbaKONgrVnnXVWQSftVffcVpPntU8++SSYH3HEEZnshx9+qNHaoK60a9cuk913333B2nXWWScpJc8880wwv/rqq+t8LVSm5s2b18p1N9lkk+ifXas7WWuttdbKZI0bNw7W9urVK/p5tLqTrl566aVMNmfOnGBtw4bZEcMrr7ySlBt3pAAAAABEMkgBAAAAiGSQAgAAABDJIAUAAAAgkkEKAAAAQDme2rPnnnsG8w4dOgTzXC4XvZN5OavuFIPQf5/U66+/XssrgiVj3XXXDeZ33XVXwdf+97//nck+++yzgq8LpaRRo0aZbNNNN43uuzXWWCNYGzoVoLpTdF544YVgvttuu0WdHFSd0KkCqX322SeTDR48OFg7d+7c6MeDuhI6+WNRebGeDlnd6/7dd989kz388MMFPRaVI/T8U93PRFdeeWUm+8tf/lLwGtq3bx/do/PmzQvWzp49O5ONGzcuWHv99dcH87Fjx0afZBt6DTxp0qRgbZMmTTLZ+PHjk3LjjhQAAACASAYpAAAAAJEMUgAAAAAiGaQAAAAAlONms6GNa1KNGzcO5p9//nkmu+OOO5JysPTSSwfz/v37R19jzJgxwfz0009f7HVBXTr11FNrZYO71KBBgwq+BpSK6p5HQxu63n333dHXHTBgQPTzz3PPPResbd68efQ1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AIBIBikAAAAAkQxSAAAAACIZpAAAAABEMkgBAAAAiGSQAgAAABDJIAUAAAAgkkEKAAAAQCSDFAAAAIBIBikAAAAAkQxSAAAAACIZpAAAAABEqsrlcrnYYgAAAIBK5o4UAAAAgEgGKQAAAACRDFIAAAAAIhmkAAAAAEQySAEAAACIZJACAAAAEMkgBQAAACCSQQoAAABAJIMUAAAAgEgGKQAAAACRDFIAAAAAIhmkAAAAAEQySAEAAACIZJACAAAAEMkgZRH69++fVFVVLdbn3nDDDfnPnTBhwhJfF/C/9CgUNz0KxU2PQnHTo8WrYgYpC76RFnwss8wyScuWLZOuXbsmQ4YMSWbOnFnra7jiiivy6yhE2ggLfx0Lf9x+++1LbK1Q18qlRxf44IMPkoMOOihZddVVkyZNmiTrr79+csYZZyyRa0N9KJceXfCitLqP5557bomtF+pSufRoasqUKcnRRx+dtG7dOv8c+utf/zr585//nEybNm2JrBPqQzn16Pvvv5/su+++yUorrZQ0bdo02W677ZInnngiqSRVuVwul1SA9BvmiCOOSM4+++z8P8rff/998umnnyZPPvlkMnr06GSdddZJ7rvvvqR9+/Y/fs68efPyH+k3eU398MMP+cdYeumlf5witmvXLllllVXyj1nIICVd/4EHHph069btJ3+3/fbbJ61atVrsa0N9KpceTb3++uvJDjvskKy55prJoYcemqy88srJRx99lHz88cfJ8OHDC7o21Jdy6dF//etf+Y+f+8tf/pJ88803+a+pcePGi319qC/l0qNpH6bXmTVrVnLccccla6+9dvLGG28kV111VbLxxhsnr7zySrLUUhXzu2DKSLn0aPp6drPNNksaNGiQ9OnTJ1l22WXzr2/feuut5PHHH086deqUVIRchRg+fHg6MMq9/PLLmb97/PHHc02aNMm1atUqN3v27Fpbw8Ybb5zr3LlzQdf48MMP81/HRRddtMTWBcWgXHr0hx9+yLVr1y631VZb1epaoa6VS4+GfPTRR7mqqqrcUUcdtcSvDXWlXHp0xIgR+a/jgQce+El+5pln5vNXX321wFVC/SiXHj3uuONyDRs2zI0fP/7HbNasWbm11147t9lmm+UqhXFukiQ77bRT8te//jWZOHFicssttyzyPWnffvttfvKWTvKWX375ZK+99komT56c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Jnv66aejPx/qUmiTu+o2vquJ0OZZ1V23uh796KOPMtkyyywTrP3www8z2fbbbx+s/frrr4M5VJLGjRtnsk033bRGm8qGevqEE04I1r733ns1XiOUgp133jmTnX322dGf369fv2B++eWXZ7IePXrUaLPZ0GtSoPY0adKk4OfR22+/fYmvq1y5IwUAAAAgkkEKAAAAQCSDFAAAAIBIBikAAAAAkQxSAAAAACI5tWcxtG3bNpMdf/zxwdp99tknmK+++uoFreGHH34I5lOmTIneqRnqysiRI4P5ySefnMm6d+8erO3YsWMm69ChQ7B2+eWXj17boYceGsyrqqoy2RdffBGs7d+/fyabPHly9BqgXDVt2jSYH3zwwZmsS5cuNbr2bbfdlslGjBgRrPU8SKnbYYcdgvmQIUOir7HXXntlssceeyz6deqZZ56Z1MSECRNqVA8UZtSoUfW9hIrijhQAAACASAYpAAAAAJEMUgAAAAAiGaQAAAAARLLZ7CI21TrwwAODtaGNZdddd92ktowdOzaTDRw4MFh733331do6YHF9//33wXz27NnRm1M+99xzmSyXyyW1ZebMmZnszjvvDNY+/PDDtbYOKBWhTZ6vueaaYO2+++4bfd0TTzwxmF9++eWZzKaylKvqNmNu1qxZJnvqqaeCtQ888EAma9SoUbB2zz33jHqs6jZnT02dOjWYA7Wja9eu9b2EiuKOFAAAAIBIBikAAAAAkQxSAAAAACIZpAAAAABEMkgBAAAAiFTWp/asttpqmWyjjTaK3v1/gw02SGrLSy+9lMkuuuiiYO3IkSMzmZMJKCWvvPJKMA+djPXnP/85WLvDDjsUtIYbb7wxmP+///f/gvlrr70WfRICkCRrrrlmQafzfPDBB8F8yJAhBa0LykF1r/tCp9dVd6Jd6ISeHj16BGsHDx6cyaZPnx6svfbaa4P5sGHDgjlQO371q1/V9xIqijtSAAAAACIZpAAAAABEMkgBAAAAiGSQAgAAABDJIAUAAACgHE/tad68eTC/6qqrgnmHDh3qbDfj559/PphfcsklwXzUqFGZ7Ntvv13i64Ji9uCDD0ZlQPGo7kS7k046Kfoa7777bibbfffdC1oXlLNVV101unbq1KnBfPTo0Zls++23j77uEUccEczvv//+6GsAteeZZ54J5kstFb53wimwhXFHCgAAAEAkgxQAAACASAYpAAAAAJEMUgAAAABKZbPZrbbaKpiffPLJmWzLLbcM1q655ppJbZg9e3YwHzJkSCY777zzgrWzZs1a4usCgPry17/+NZjvv//+0dcYOnRoJps4cWJB64Jy9vbbb0fX7rvvvsG8qqoqk3355ZfB2r///e+Z7LHHHoteA1D33nzzzWD+3nvvBfPQISy//vWva7SJdSVzRwoAAABAJIMUAAAAgEgGKQAAAACRDFIAAAAAIhmkAAAAAJTKqT177713jfKaGDduXCZ74IEHgrXz5s3LZJdcckmw9quvvip4bQBQ7DbeeONMtsIKK0R//tVXXx3Mx4wZU9C6oNLceOONwbxx48bRJ2uNHTs2k913333B2ssuu6zGawSKU3Wny1577bWZbODAgcHa3r17R/2sXUnckQIAAAAQySAFAAAAIJJBCgAAAEAkgxQAAACASFW5XC4XVVhVFXtNKFjktyUL0aPUJT1aGT16wQUXZLKTTjopWDtx4sRM1q1bt2DtO++8swRWx6Lo0croUUqXHq05Pbp4qtsk/s4778xku+yyS7D27rvvzmRHHHFEsHbWrFlJJfSoO1IAAAAAIhmkAAAAAEQySAEAAACIZJACAAAAEMkgBQAAACCSU3soSnYyrzk9Sl3So5XRozvvvHMmGzVqVLC2Z8+emWzkyJG1si5+mR6tjB6ldOnRmtOjtX+az8CBA4O1xx57bCZr3759sHbcuHFJOXBqDwAAAMASYpACAAAAEMkgBQAAACCSQQoAAABAJJvNUpRswFVzepS6pEdrTo9Sl/RozelR6pIerTk9Sl2y2SwAAADAEmKQAgAAABDJIAUAAAAgkkEKAAAAQCSDFAAAAIAlfWoPAAAAQKVzRwoAAABAJIMUAAAAgEgGKQAAAACRDFIAAAAAIhmkAAAAAEQySAEAAACIZJACAAAAEMkgBQAAACCSQQoAAABAEuf/A1NRP63q5wYhAAAAAElFTkSuQmCC",
|
484
|
-
"text/plain": [
|
485
|
-
"<Figure size 1200x400 with 10 Axes>"
|
486
|
-
]
|
487
|
-
},
|
488
|
-
"metadata": {},
|
489
|
-
"output_type": "display_data"
|
490
|
-
}
|
491
|
-
],
|
492
|
-
"source": [
|
493
|
-
"#7. Display one image from each class\n",
|
494
|
-
"plt.figure(figsize=(12, 4))\n",
|
495
|
-
"for digit in range(10):\n",
|
496
|
-
" idx = np.where(y_train == digit)[0][0]\n",
|
497
|
-
" plt.subplot(2, 5, digit+1)\n",
|
498
|
-
" plt.imshow(x_train[idx], cmap='gray')\n",
|
499
|
-
" plt.title(f\"Digit: {digit}\")\n",
|
500
|
-
" plt.axis('off')\n",
|
501
|
-
"plt.tight_layout()\n",
|
502
|
-
"plt.show()\n"
|
503
|
-
]
|
504
|
-
},
|
505
|
-
{
|
506
|
-
"cell_type": "code",
|
507
|
-
"execution_count": null,
|
508
|
-
"id": "14cfcbec-306a-4996-9cb7-d73d32fb2d54",
|
509
|
-
"metadata": {},
|
510
|
-
"outputs": [],
|
511
|
-
"source": []
|
512
|
-
}
|
513
|
-
],
|
514
|
-
"metadata": {
|
515
|
-
"kernelspec": {
|
516
|
-
"display_name": "Python 3 (ipykernel)",
|
517
|
-
"language": "python",
|
518
|
-
"name": "python3"
|
519
|
-
},
|
520
|
-
"language_info": {
|
521
|
-
"codemirror_mode": {
|
522
|
-
"name": "ipython",
|
523
|
-
"version": 3
|
524
|
-
},
|
525
|
-
"file_extension": ".py",
|
526
|
-
"mimetype": "text/x-python",
|
527
|
-
"name": "python",
|
528
|
-
"nbconvert_exporter": "python",
|
529
|
-
"pygments_lexer": "ipython3",
|
530
|
-
"version": "3.12.4"
|
531
|
-
}
|
532
|
-
},
|
533
|
-
"nbformat": 4,
|
534
|
-
"nbformat_minor": 5
|
535
|
-
}
|