noshot 4.0.0__py3-none-any.whl → 5.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/XAI/Q1.ipynb +535 -0
- noshot/data/ML TS XAI/XAI/Q2.ipynb +38129 -0
- noshot/data/ML TS XAI/XAI/Q3.ipynb +1340 -0
- noshot/data/ML TS XAI/XAI/Q4.ipynb +246 -0
- noshot/data/ML TS XAI/XAI/Q5.ipynb +2450 -0
- {noshot-4.0.0.dist-info → noshot-5.0.0.dist-info}/METADATA +1 -1
- noshot-5.0.0.dist-info/RECORD +14 -0
- noshot/data/ML TS XAI/ML/ML Lab CIA 2 (I Found Only This Check)/Copy_of_Pistachio_csv.ipynb +0 -269
- noshot/data/ML TS XAI/ML/ML Lab CIA 2 (I Found Only This Check)/weatherAUS.ipynb +0 -155
- noshot/data/ML TS XAI/ML/Main/1. EDA-PCA (Balance Scale Dataset).ipynb +0 -139
- noshot/data/ML TS XAI/ML/Main/1. EDA-PCA (Rice Dataset).ipynb +0 -181
- noshot/data/ML TS XAI/ML/Main/10. HMM Veterbi.ipynb +0 -228
- noshot/data/ML TS XAI/ML/Main/2. KNN (Balance Scale Dataset).ipynb +0 -117
- noshot/data/ML TS XAI/ML/Main/2. KNN (Iris Dataset).ipynb +0 -165
- noshot/data/ML TS XAI/ML/Main/2. KNN (Sobar-72 Dataset).ipynb +0 -251
- noshot/data/ML TS XAI/ML/Main/3. LDA (Balance Scale Dataset).ipynb +0 -78
- noshot/data/ML TS XAI/ML/Main/3. LDA (NPHA Doctor Visits Dataset).ipynb +0 -114
- noshot/data/ML TS XAI/ML/Main/4. Linear Regression (Machine Dataset).ipynb +0 -115
- noshot/data/ML TS XAI/ML/Main/4. Linear Regression (Real Estate Dataset).ipynb +0 -159
- noshot/data/ML TS XAI/ML/Main/5. Logistic Regression (Magic04 Dataset).ipynb +0 -200
- noshot/data/ML TS XAI/ML/Main/5. Logistic Regression (Wine Dataset).ipynb +0 -112
- noshot/data/ML TS XAI/ML/Main/6. Naive Bayes Classifier (Agaricus Lepiota Dataset).ipynb +0 -153
- noshot/data/ML TS XAI/ML/Main/6. Naive Bayes Classifier (Wine Dataset).ipynb +0 -89
- noshot/data/ML TS XAI/ML/Main/7. SVM (Rice Dataset).ipynb +0 -208
- noshot/data/ML TS XAI/ML/Main/8. FeedForward NN (Sobar72 Dataset).ipynb +0 -260
- noshot/data/ML TS XAI/ML/Main/9. CNN (Cifar10 Dataset).ipynb +0 -238
- noshot/data/ML TS XAI/ML/Main/data/agaricus-lepiota.data +0 -8124
- noshot/data/ML TS XAI/ML/Main/data/balance-scale.txt +0 -625
- noshot/data/ML TS XAI/ML/Main/data/doctor-visits.csv +0 -715
- noshot/data/ML TS XAI/ML/Main/data/iris.csv +0 -151
- noshot/data/ML TS XAI/ML/Main/data/machine-data.csv +0 -210
- noshot/data/ML TS XAI/ML/Main/data/magic04.data +0 -19020
- noshot/data/ML TS XAI/ML/Main/data/real-estate.xlsx +0 -0
- noshot/data/ML TS XAI/ML/Main/data/rice.arff +0 -3826
- noshot/data/ML TS XAI/ML/Main/data/sobar-72.csv +0 -73
- noshot/data/ML TS XAI/ML/Main/data/wine-dataset.csv +0 -179
- noshot/data/ML TS XAI/ML/Other Codes.ipynb +0 -158
- noshot/data/ML TS XAI/ML/Rolls Royce AllinOne.ipynb +0 -691
- noshot-4.0.0.dist-info/RECORD +0 -40
- {noshot-4.0.0.dist-info → noshot-5.0.0.dist-info}/WHEEL +0 -0
- {noshot-4.0.0.dist-info → noshot-5.0.0.dist-info}/licenses/LICENSE.txt +0 -0
- {noshot-4.0.0.dist-info → noshot-5.0.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,246 @@
|
|
1
|
+
{
|
2
|
+
"cells": [
|
3
|
+
{
|
4
|
+
"cell_type": "code",
|
5
|
+
"execution_count": 1,
|
6
|
+
"metadata": {
|
7
|
+
"colab": {
|
8
|
+
"base_uri": "https://localhost:8080/",
|
9
|
+
"height": 1000
|
10
|
+
},
|
11
|
+
"id": "ZsDuI4okVUFU",
|
12
|
+
"outputId": "9422b070-b240-4f9d-e3d3-c8f211f15c4a"
|
13
|
+
},
|
14
|
+
"outputs": [
|
15
|
+
{
|
16
|
+
"name": "stdout",
|
17
|
+
"output_type": "stream",
|
18
|
+
"text": [
|
19
|
+
"Epoch 1/3\n",
|
20
|
+
"\u001b[1m1250/1250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m16s\u001b[0m 11ms/step - accuracy: 0.2882 - loss: 1.8983 - val_accuracy: 0.4983 - val_loss: 1.4064\n",
|
21
|
+
"Epoch 2/3\n",
|
22
|
+
"\u001b[1m1250/1250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m15s\u001b[0m 12ms/step - accuracy: 0.4682 - loss: 1.4694 - val_accuracy: 0.5668 - val_loss: 1.2456\n",
|
23
|
+
"Epoch 3/3\n",
|
24
|
+
"\u001b[1m1250/1250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m16s\u001b[0m 13ms/step - accuracy: 0.5254 - loss: 1.3203 - val_accuracy: 0.5977 - val_loss: 1.1421\n",
|
25
|
+
"\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 96ms/step\n"
|
26
|
+
]
|
27
|
+
},
|
28
|
+
{
|
29
|
+
"data": {
|
30
|
+
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGbCAYAAAAr/4yjAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAEGJJREFUeJzt3QmMVVWawPHzip1CEAWVVkEQEBCjtqNOu6EGNS1RGY37gpo4cWsTHR23CbiEmEbTGWM0mjhuccvgNo7jJBiDLYmZGKPgLiIINKLCsCko652cO6lvhCqs0saj0/37JZWy3rv1vvci9f7v3nNfVaOqqioBQEqp6ee+AwD8cogCAEEUAAiiAEAQBQCCKAAQRAGAIAoABFEAIIgCf5XOP//8tMcee/zcdwN+cUSB4ubNm5cuv/zyNHz48NSzZ8/6Y9SoUemyyy5Lb7/9dvolWrVqVbr55pvTvvvum3r16pV69OiRRo8ena699tr02Weftfk9p512Wmo0GvU2bXnllVfq6/PHo48+2uY2hx56aH19ngUlNPzuI0p64YUX0umnn546d+6czj777PpJtqmpKX344YfpmWeeSfPnz6+jMWjQoJ98TyE/KX/66aftbjt37tw0duzYtGDBgnTqqaemww47LHXt2rUO2BNPPJF22GGHNHv27FYR2XnnndMuu+ySNm7cWD+u/OT+XXn+UUcdlbp3715/fvHFFze7Pt+3wYMH19fvueee6d13391Gjx62rvP3XAfb1CeffJLOOOOM+gn/5ZdfTgMGDNjs+t///vfpnnvuqSOxNatXr07Nzc2plA0bNqSTTz45ffHFF/WTeA7Cd02ePLm+31t6+umn6xg88MAD6eijj06vvvpqGjNmTJszjj/++PT888+npUuXpn79+sXljz/+eB2WYcOGpeXLl/8Ejw5ac/iIYqZMmVI/qT/44IOtgpDlvYcrrrgi7b777vFqPh+qyTHJT5zbbbddvXeRzZgxo37VPnDgwNStW7f6e6688sr0zTfftLrd5557rj78kl9x58/PPvtsh+9zfnKfNWtWuvHGG1sFIevdu3cdhi099thj6Zhjjqn3AEaOHFl/vTUnnXRS/RimTp262eU5CvkQVKdOnTp8f+HPJQoUPXQ0dOjQdPDBB/+gV+rHHXdc2mmnndIdd9yRTjnllPry/AS6Zs2adMkll6S77rqr3iZ/Pu+88zb7/mnTptXfkw/d3HbbbWn8+PHpggsuSG+88UaH5udX8Nm5557b4fuc1ximT5+ezjzzzPrr/Pmpp55K69ata3P7vKaSw5APRbXIIXrvvffSWWed1eG5sE3kNQX4qa1cuTKvXVXjx49vdd3y5curJUuWxMeaNWvqyydMmFB/z3XXXdfqe1q2+a7bbrutajQa1fz58+Oy/fbbrxowYEC1YsWKuGzatGn17Q4aNKjd+73//vtXffr0+UGP9Y477qh69OhRrVq1qv569uzZ9bxnn312s+2mT59eXz516tTqhRdeqO/7ggUL6uuuueaaasiQIfV/jxkzptp7771/0H2AH8ueAkXkhdcsHw7a0pFHHpn69+8fH3ffffdm1+e9gS3ls39a5ENS+Xj8IYcckl/kpLfeequ+fPHixWnmzJlpwoQJqU+fPrF9PqyTz3bq6P3Oh61+iHyoaNy4cfF9eU3ggAMO+N5DSMcee2y9YP3kk0/WjyF/btnTgJIsNFNEyxPk119/3eq6++67L3311Vf1Yu4555zTap1ht912a/U9+UygiRMn1od3tlyEXblyZf05n/HT8qS8pb322iu9+eab8fWSJUvqheEWOV75I68Z5LOPOuqDDz6oo5QPY82ZM2ez8OXY5cjk29xSly5d6jWSvI5w0EEHpYULFzp0xM9CFCgiv1LPi8ttnVbZssbQ1umheQF2y7OR8pN3frW/bNmy+j0AI0aMqM9IWrRoUb04vWnTph98/w488MCISDZp0qR000031bedn+Tzk3TLAvj3aXm/QV70zh9tLVznNY225Ajce++99dx8qm5H92ZgWxIFismHVO6///70+uuv16+Gf6x33nmnfl/Aww8/vNnC8ksvvbTZdi3vdfj4449b3cZHH3202df50M53z1waMmRI/fmEE06oF4Dzk/3111//vfcrH/bJr/TzGUeXXnppq+tvvfXWes7WopDPbspnU+VTX9s6zRWK+NGrEfAD5QXXnj171oumn3/+eavr586dWy+83n777bHQ3Nzc3Gq7t99+u97uoYceiss2bdpUjRs3rr78wQcf3GYLzevWrav22Wef+n689tprra7Pi8k33HBD/d8zZsyob/eRRx5p87YmT55cNTU1VYsWLWq10NziueeeqyZNmlR99tlncZmFZkqyp0Ax+dh+fiWdF1Dz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",
|
31
|
+
"text/plain": [
|
32
|
+
"<Figure size 640x480 with 1 Axes>"
|
33
|
+
]
|
34
|
+
},
|
35
|
+
"metadata": {},
|
36
|
+
"output_type": "display_data"
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"data": {
|
40
|
+
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGbCAYAAAAr/4yjAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAGfZJREFUeJzt3Q/4nnPdN/Dvrxlza2gawqIxdoxFmLEbK8bK/8qTlLozfyp/7g7dSzgq3D09UqLI7U9KpOROdEsyPCSiIfH4E6nhGaI1xtrM2K7n+J4d+zz7J+fH7TyGXq/j2MF+e+/zO3/Xb7ve13le1/VZX6/X6xUAKKW8YVkfAACvHkoBgKAUAAhKAYCgFAAISgGAoBQACEoBgKAUAAhKgVeFd77znc2PBR566KHS19dXvvvd7y7T44J/NEqBl+Wuu+4qe++9d1l33XXLgAEDytprr1122mmnctpppy3rQ3tVOe6445pye8Mb3lCmTp26xK8/88wzZcUVV2wyhx122DI5RliYUiDtpptuKltuuWW58847y0EHHVS++c1vlgMPPLC54/vGN77xinyOWjbPPvts+chHPlJeD1ZYYYVy4YUXLvHxSy65ZJkcD7yY5V70V+BFfOlLXyqrrLJKufXWW8uqq666yK/9+c9/fkU+R33kXM9AXi922WWXphSOPPLIRT7+gx/8oOy6667lxz/+8TI7NliYMwXS/vjHP5aNN954iUKoVl999UV+fu6555Yddtih+Xh9tDxixIhyxhlnvOTneLHnFO67777mstWgQYOa0qhnLJdddtkimfp76u/91a9+VT796U+XwYMHl5VWWqm8973vLdOmTVvic/385z8vY8eOLQMHDiwrr7xyGTVqVHNnXR177LGlf//+S/19Bx98cHMbzJkz5yW/ng996EPljjvuaI5/gccff7xce+21za8tbu7cueULX/hC2WKLLZoCrse/3Xbbleuuu26pt9NJJ51UTjnllOYMq16Oql/P3Xff/ZLHBYtTCqTVO57f/OY3re50agHU/DHHHFO+9rWvlSFDhpRDDjmknH766enPe88995Stt966/O53vytHHXVUM6/eWe61117l0ksvXSJ/+OGHN5e46h37Jz/5yfLTn/50iev2tUDqI/Unn3yyHH300eXLX/5y2WyzzcqVV17Z/Hq9fPXCCy+Uiy66aIk77Ysvvri8//3vb3VGs/3225d11lknyqaqM9/4xjc2n39pzzWcc845zZPvJ554YvPcRC2m8ePHN+WyuPPPP7+ceuqp5dBDD22+jvq9qWX8xBNPvOSxwSLqv6cAGVdddVWvX79+zY9tttmmd+SRR/YmTZrUmzt37hLZ2bNnL/Gx8ePH94YOHbrIx8aOHdv8WODBBx+s/85H79xzz42P7bjjjr2RI0f25syZEx+bP39+b8yYMb1hw4bFx+rvqb933Lhxza8vcMQRRzTHPGPGjObn9b8DBw7sjR49uvfss88ucjwL/776NdbMwi655JLmc1x33XV/97Y69thjm9y0adN6EydO7G2wwQbxa6NGjertv//+zf/XzKGHHhq/9sILL/See+65RWY99dRTvTXWWKM3YcKEJW6nFVdcsffII4/ExydPntx8vH7NkOFMgbT6KqObb7657LHHHs0j8a985SvNI9j6CqTFL+XUSxkLPP300+Uvf/lLc2ljypQpzc/bqo/k66WWD3zgA2XmzJnNnPpj+vTpzed+4IEHyqOPPrrE5Z16aWWBevll3rx55eGHH25+fvXVVzez6lnH4o/2F/59H/3oR8vkyZOby2YLfP/732/OeurX0la9TPSHP/yheS5mwX+Xdumo6tevX1l++eWb/58/f37z9dczlnq57Pbbb18iX8+W6u2/wFZbbVVGjx5drrjiitbHB5VS4GWp193rK2eeeuqpcssttzSXLOodbL3ef++990auXtcfN25cc5mnXn+v1/frpaQqUwr1TrQ+oP785z/fzFj4R708tLQnud/61rcu8vM3velNzX/rMVcL7uQ32WSTv/u599lnn+b5kFoEC4778ssvLx/+8IcXKY+X8o53vKMMHz68uYRUZ6255prNJZ4Xc95555W3v/3tTWGtttpqzdf6s5/9bKm327Bhw5b42IYbbtg85wAZXn3Ef0t9NFsLov6od0L7779/+dGPftTcUdc73R133LG5Izz55JObR9Y1Xx+91idF6yPgthZkJ06c2JwZLM0GG2ywxKPtpcn+C7S1THbbbbfmjrw++VufS3juuefKfvvtV7LqmUF9nqU+qV3Lpr6Md2kuuOCC8rGPfaw5A/jMZz7TPFFfv54TTjhhkTMWeKUpBV4x9dJG9ac//an5b31it9551ktKCz9qX/wVNG0MHTq0+W99JVA983gl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",
|
41
|
+
"text/plain": [
|
42
|
+
"<Figure size 640x480 with 1 Axes>"
|
43
|
+
]
|
44
|
+
},
|
45
|
+
"metadata": {},
|
46
|
+
"output_type": "display_data"
|
47
|
+
}
|
48
|
+
],
|
49
|
+
"source": [
|
50
|
+
"# Step 1: Install TensorFlow (if not already installed)\n",
|
51
|
+
"\n",
|
52
|
+
"# Step 2: Import Libraries\n",
|
53
|
+
"import numpy as np\n",
|
54
|
+
"import matplotlib.pyplot as plt\n",
|
55
|
+
"import tensorflow as tf\n",
|
56
|
+
"from tensorflow.keras.datasets import cifar10\n",
|
57
|
+
"from tensorflow.keras.utils import to_categorical\n",
|
58
|
+
"from tensorflow.keras import Input, Model\n",
|
59
|
+
"from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout\n",
|
60
|
+
"import warnings\n",
|
61
|
+
"warnings.filterwarnings('ignore')\n",
|
62
|
+
"\n",
|
63
|
+
"# Step 3: Load and Preprocess CIFAR-10 Data\n",
|
64
|
+
"(x_train, y_train), (x_test, y_test) = cifar10.load_data()\n",
|
65
|
+
"x_train, x_test = x_train / 255.0, x_test / 255.0\n",
|
66
|
+
"y_train_cat = to_categorical(y_train, 10)\n",
|
67
|
+
"y_test_cat = to_categorical(y_test, 10)\n",
|
68
|
+
"\n",
|
69
|
+
"# Step 4: Define Model using Functional API\n",
|
70
|
+
"inputs = Input(shape=(32, 32, 3))\n",
|
71
|
+
"x = Conv2D(32, (3, 3), activation='relu', name='conv1')(inputs)\n",
|
72
|
+
"x = MaxPooling2D((2, 2))(x)\n",
|
73
|
+
"x = Conv2D(64, (3, 3), activation='relu', name='conv2')(x)\n",
|
74
|
+
"x = MaxPooling2D((2, 2))(x)\n",
|
75
|
+
"x = Flatten()(x)\n",
|
76
|
+
"x = Dense(64, activation='relu')(x)\n",
|
77
|
+
"x = Dropout(0.5)(x)\n",
|
78
|
+
"outputs = Dense(10, activation='softmax')(x)\n",
|
79
|
+
"\n",
|
80
|
+
"model = Model(inputs=inputs, outputs=outputs)\n",
|
81
|
+
"model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])\n",
|
82
|
+
"\n",
|
83
|
+
"# Step 5: Train the Model\n",
|
84
|
+
"model.fit(x_train, y_train_cat, epochs=3, validation_split=0.2)\n",
|
85
|
+
"\n",
|
86
|
+
"# Step 6: Grad-CAM Visualization\n",
|
87
|
+
"img = x_test[1]\n",
|
88
|
+
"img_tensor = tf.expand_dims(img, axis=0)\n",
|
89
|
+
"\n",
|
90
|
+
"# Predict once to build model\n",
|
91
|
+
"_ = model.predict(img_tensor)\n",
|
92
|
+
"\n",
|
93
|
+
"# Create Grad-CAM model\n",
|
94
|
+
"grad_model = tf.keras.models.Model(\n",
|
95
|
+
" [model.inputs],\n",
|
96
|
+
" [model.get_layer('conv2').output, model.output]\n",
|
97
|
+
")\n",
|
98
|
+
"\n",
|
99
|
+
"# Compute Gradients\n",
|
100
|
+
"with tf.GradientTape() as tape:\n",
|
101
|
+
" conv_outputs, predictions = grad_model(img_tensor)\n",
|
102
|
+
" pred_class = tf.argmax(predictions[0])\n",
|
103
|
+
" loss = predictions[:, pred_class]\n",
|
104
|
+
"\n",
|
105
|
+
"grads = tape.gradient(loss, conv_outputs)\n",
|
106
|
+
"pooled_grads = tf.reduce_mean(grads, axis=(0, 1, 2))\n",
|
107
|
+
"\n",
|
108
|
+
"# Generate Heatmap\n",
|
109
|
+
"heatmap = tf.reduce_sum(tf.multiply(pooled_grads, conv_outputs), axis=-1)[0]\n",
|
110
|
+
"heatmap = np.maximum(heatmap, 0) / np.max(heatmap)\n",
|
111
|
+
"\n",
|
112
|
+
"# Show Grad-CAM\n",
|
113
|
+
"plt.imshow(img)\n",
|
114
|
+
"plt.imshow(heatmap, cmap='jet', alpha=0.5)\n",
|
115
|
+
"plt.axis('off')\n",
|
116
|
+
"plt.title('Grad-CAM')\n",
|
117
|
+
"plt.show()\n",
|
118
|
+
"\n",
|
119
|
+
"# Step 7: Saliency Map\n",
|
120
|
+
"img_tensor = tf.convert_to_tensor(img_tensor)\n",
|
121
|
+
"\n",
|
122
|
+
"with tf.GradientTape() as tape:\n",
|
123
|
+
" tape.watch(img_tensor)\n",
|
124
|
+
" predictions = model(img_tensor)\n",
|
125
|
+
" loss = predictions[:, pred_class]\n",
|
126
|
+
"\n",
|
127
|
+
"grads = tape.gradient(loss, img_tensor)[0]\n",
|
128
|
+
"saliency = np.max(np.abs(grads), axis=-1)\n",
|
129
|
+
"\n",
|
130
|
+
"# Show Saliency Map\n",
|
131
|
+
"plt.imshow(saliency, cmap='hot')\n",
|
132
|
+
"plt.axis('off')\n",
|
133
|
+
"plt.title('Saliency Map')\n",
|
134
|
+
"plt.show()\n"
|
135
|
+
]
|
136
|
+
},
|
137
|
+
{
|
138
|
+
"cell_type": "code",
|
139
|
+
"execution_count": 2,
|
140
|
+
"metadata": {
|
141
|
+
"colab": {
|
142
|
+
"base_uri": "https://localhost:8080/",
|
143
|
+
"height": 1000
|
144
|
+
},
|
145
|
+
"id": "E6DueKo2e1PX",
|
146
|
+
"outputId": "edfc534c-90af-4e4e-9479-4147cc974474"
|
147
|
+
},
|
148
|
+
"outputs": [
|
149
|
+
{
|
150
|
+
"name": "stdout",
|
151
|
+
"output_type": "stream",
|
152
|
+
"text": [
|
153
|
+
"Epoch 1/3\n",
|
154
|
+
"\u001b[1m422/422\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 10ms/step - accuracy: 0.8360 - loss: 0.5941 - val_accuracy: 0.9650 - val_loss: 0.1284\n",
|
155
|
+
"Epoch 2/3\n",
|
156
|
+
"\u001b[1m422/422\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 10ms/step - accuracy: 0.9631 - loss: 0.1245 - val_accuracy: 0.9785 - val_loss: 0.0811\n",
|
157
|
+
"Epoch 3/3\n",
|
158
|
+
"\u001b[1m422/422\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m4s\u001b[0m 11ms/step - accuracy: 0.9775 - loss: 0.0781 - val_accuracy: 0.9837 - val_loss: 0.0627\n"
|
159
|
+
]
|
160
|
+
},
|
161
|
+
{
|
162
|
+
"data": {
|
163
|
+
"image/png": "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y3PuQwACGQACEMgAEIBABoAABDIABCCQASAAgQwAAQhkAAhAIANAAAIZAAIQyAAQgEAGgAAEMgAEIJABIACBDAABCGQACEAgA0AAAhkAAhDIABCAQAaAAAQyAAQgkAEgAIEMAAEIZAAIQCADQAACGQACEMgAEIBABoAABDIABCCQASAAgQwAAQhkAAhAIANAAAIZAAIQyAAQgEAGgAAEMgAEIJABIACBDAABCGQACEAgA0AAAhkAAhDIABCAQAaAAAQyAAQgkAEgAIEMAAEIZAAIQCADQAACGQACEMgAEIBABoAABDIABCCQASAAgQwAAQhkAAhAIANAAAIZAAIQyAAQgEAGgAAEMgAEIJABIACBDAABCGQACEAgA0AAAhkAAhDIABCAQAaAAAQyAAQgkAEgAIEMAAEIZAAIQCADQAACGQACEMgAEIBABoAABDIABCCQASAAgQwAAQhkAAhAIANAAAIZAAIQyAAQgEAGgAAEMgAEIJABIACBDAABCGQACEAgA0AAAhkAAhDIABCAQAaAAAQyAAQgkAEgAIEMAAEIZAAIQCADQAACGQACEMgAEIBABoAABDIABCCQASAAgQwAAQhkAAhAIANAAAIZAAIQyAAQgEAGgAAEMgAEIJABIACBDAABCGQACEAgA0AAAhkAAhDIABCAQAaAAAQyAAQgkAEgAIEMAAEIZAAIQCADQAACGQACEMgAEIBABoAABDIABCCQASAAgQwAAQhkAAhAIANAAAIZAAIQyAAQgEAGgAAEMgAEIJABIACBDAABCGQACEAgA0AAAhkAAhDIABCAQAaAAAQyAAQgkAEgAIEMAAEIZAAIQCADQAACGQACEMgAEIBABoAABDIABCCQASAAgQwAAQhkAAhAIANAAAIZAAIQyAAQgEAGgAAEMgAEIJABIACBDAABCGQACEAgA0AAAhkAAhDIABCAQAaAAAQyAAQgkAEgAIEMAAEIZAAIQCADQAACGQACEMgAEIBABoAABDIABCCQASAAgQwAAQhkAAhAIANAAAIZAAIQyAAQgEAGgAAEMgAEIJABIACBDAABCGQACEAgA0AAAhkAAhDIABCAQAaAAAQyAAQgkAEgAIEMAAEIZAAIQCADQAACGQACEMgAEIBABoAABDIABCCQASAAgQwAAQhkAAhAIANAAAIZAAIQyAAQgEAGgAAEMgAEIJABIACBDAABCGQACEAgA0AAAhkAAhDIABCAQAaAAAQyAAQgkAEgAIEMAAEIZAAIQCADQAACGQACEMgAEIBABoAABDIABCCQASAAgQwAAQhkAAhAIANAAAIZAAIQyAAQgEAGgAAEMgAEIJABIACBDAABCGQACEAgA0AAAhkAAhDIABCAQAaAAAQyAAQgkAEgAIEMAAEIZAAIQCADQAACGQACEMgAEIBABoAABDIABCCQASAAgQwAAQhkAAhAIANAAAIZAAIQyAAQgEAGgAAEMgAEIJABIACBDAABCGQACEAgA0AAAhkAAhDIABCAQAaAAAQyAAQgkAEgAIEMAAEIZAAIQCADQAACGQAC6FxtwX5X/V/5vFtNqjzX/l1TGVZTv8x/x82Dd2uizP/G3bZM3f81fK5JDebV4Pk/82y8TP15Nr08dd9DLtf08vxvGtsr0+j7rdTTfwZ0+u+AxqdXs03dNlV/O76Oa5qt/9r5NFf//3kv1ddfq+u4dt6NvKftrsf11qkWlGkwr8aWu6rPoYl5NVyW0tat/30uGjzXGd7YsLrPxdbmx284vKmyRZ3h1UynYdmiFfNsbHjd5Xg7ddKS97LN+K2Y59uukyamn5eldtiWlryHpsrWmV5z8y5a8X63NrLsLZlnc+tkk2WrqLdq1r+Gw16bnrbHETIABCCQASAAgQwAAQhkAAhAIANAAAIZAAIQyAAQgEAGgAAEMgAEIJABIACBDAABCGQACEAgA0AAAhkAAhDIABBATVHUdhDZvm3atClNmjQpXXTRRalr165tvTi7HPXfdtR921L/bWtTB6r/DhPIr732WurZs2d69dVXU48ePdp6cXY56r/tqPu2pf7bVkeqf6esASAAgQwAAQhkAAigwwRyvpg/ceLEdn9Rv71S/21H3bct9d+2unag+u8wjboAoD3rMEfIANCeCWQACEAgA0AAAhkAAmi3gXz55Zeno446KnXv3j3tvffeVY2T269deuml6X3ve1/aY4890rHHHpuee+65Hb6sHdG//vWvNHr06PKXcXL9f/3rX0/r1q1rdpxjjjkm1dTU1Ht84xvf2GnL3J5NmTIl9e/fP3Xr1i0deeSR6ZFHHmm2/G233ZYOOuigsvyhhx6aZs+evdOWdVev/2nTpm2znufxaJ37778/nXDCCalv375lXd5xxx3bHWfu3LnpiCOOKFteDxw4sPxM2oN2G8ibN29OJ554YvrmN79Z9ThXX311uv7669PUqVPT/Pnz05577pmOO+64tHHjxh26rB1RDuMlS5akP/3pT+muu+4qN5qzzz57u+ONGTMmvfjii5VH/kxo3q233pouuOCC8taOhQsXpsGDB5fr7UsvvdRo+YceeiiNGjWq3ElatGhR+sIXvlA+nnrqqZ2+7Lti/Wd5R7Xuer5q1aqduswdyfr168s6zztF1Vi5cmUaMWJEGjZsWHr88cfT+eefn84666x03333pfCKdu6mm24qevbsud1yW7duLfr06VP8+Mc/rgxbu3Zt0bVr1+KWW27ZwUvZsTz99NP5Vrni0UcfrQy75557ipqammL16tVNjjd06NDivPPO20lL2XF89KMfLb797W9XXm/ZsqXo27dvMWnSpEbLn3TSScWIESPqDTvyyCOLc845Z4cva0fU0vqv9juJlkspFbNmzWq2zLhx44qDDz643rCTTz65OO6444ro2u0RckvlvaY1a9aUp6lr5R8kz6ef5s2b16bL1t7k+sqnqT/ykY9UhuV63W233cozD825+eab03ve8550yCGHlL2zvPHGGzthiduvfCZowYIF9dbbXM/5dVPrbR5et3yWj+is5zun/rN8+aZfv35p3333TSNHjizPJrFzzGvH63/ntIvIYZz17t273vD8uvZ/VCfX13vf+956wzp37px69erVbF1+5StfKb+k8rWgxYsXp/Hjx6dnn302zZw5cycsdfv08ssvpy1btjS63j7zzDONjpM/A+t529X/oEGD0o033pgOO+ywsgeiyZMnl+1dcih/4AMf2ElLvuta08T6n3uF2rBhQ9l+KKpQR8gTJkzYpjFEw0dTGwHx6z9fY857qrmRUb4G/bvf/S7NmjUrLV++/B19H9CWPv7xj6fTTjstHX744Wno0KHlDuc+++yTfvnLX7b1ohFcqCPksWPHpjPOOKPZMgMGDGjVtPv06VM+/+Mf/yhbWdfKr/OGQ/X1n+uyYYOWt956q2x5XVvP1ciXC7Jly5alAw44oJVL3bHl0/udOnUq19O68uum6joPb0l53tn6b6hLly5pyJAh5XrOjtenifU/N7SLfHQcLpDzXmR+7Aj7779/+UH9+c9/rgRwPoWRr3m2pKV2R1Zt/ecjgLVr15bX1j784Q+Xw/7yl7+krVu3VkK2GrkFZFZ3B4n6dt9997KO83qbW0pnuZ7z63PPPbfJzyf/P7curZVbw+fh7Pj6byif8n7yySfT8OHDd/DSkuX1vOFtfu1m/S/aqVWrVhWLFi0qLrvssmKvvfYq/86P119/vVJm0KBBxcyZMyuvr7zyymLvvfcu7rzzzmLx4sXFyJEji/3337/YsGFDG72L9uv4448vhgwZUsyfP7944IEHig9+8IPFqFGjKv9/4YUXyvrP/8+WLVtW/OAHPygee+yxYuXKleVnMGDAgOLoo49uw3fRPkyfPr28G2DatGllC/ezzz67XI/XrFlT/v/UU08tJkyYUCn/4IMPFp07dy4mT55cLF26tJg4cWLRpUuX4sknn2zDd7Hr1H/+TrrvvvuK5cuXFwsWLChOOeWUolu3bsWSJUva8F20X6+//nrl+z1H1jXXXFP+nTMgy3WfP4NaK1asKLp3715ceOGF5fo/ZcqUolOnTsW9995bRNduA/n0008vP5yGjzlz5lTK5Nf5FoS6tz5dcsklRe/evcsN7FOf+lTx7LPPttE7aN9eeeWVMoDzzlCPHj2Kr33ta/V2hnLo1v08nn/++TJ8e/XqVdb9wIEDyw3m1VdfbcN30X7ccMMNxX777Vfsvvvu5W04Dz/8cL3byfL2UNeMGTOKAw88sCyfbwG5++6722Cpd836P//88ytl83fN8OHDi4ULF7bRkrd/c+bMafS7vrbO83P+DBqOc/jhh5efQd7xr5sDkel+EQACCNXKGgB2VQIZAAIQyAAQgEAGgAAEMgAEIJABIACBDAABCGQAOpz7778/nXDCCWXvcrljnDvuuGOHzi//ROoll1xS/kxz/s3s/Pv8P/zhD/OPb1U9DYEMbOP73/++Tldo19avX58GDx6cpkyZslPmd9VVV6Vf/OIX6Wc/+1launRp+frqq69ON9xwQ9XTEMjQAv/85z/Lzkj222+/1LVr17LDktyl5IMPPlgp079///TTn/606pB74YUXyk4MDjnkkEbnWbf7y549e6ZPfOITZWceQNM++9nPph/96Efpi1/8YqP/37RpU/rud7+b3v/+96c999yz7Bhn7ty5qbUeeuihNHLkyDRixIjyO+DLX/5y+sxnPpMeeeSRqqchkKEFvvSlL6VFixal3/72t+nvf/97+uMf/5iOOeaY9Morr7R6mtOmTUsnnXRSpfexxtx0003pxRdfLIM/dwn4uc99Lq1YseJtvBPYtZ177rlp3rx5afr06Wnx4sXpxBNPTMcff3x67rnnWjW9o446quwFLH8vZE888UR64IEHyh2DqrX1j2lDe/Hvf/+7/FH7uXPnNluuX79+xbXXXrvN8Nzr0uDBg+sNyx2e5B+/zz3RjB8/vhgzZsw24+V5zpo1q/J69erV5bCpU6duUzZ31pF7Fpo9e3a94bnXs9wRyPr168vX48aNK3vo2mOPPcoezy6++OJi8+bNTS5r/vH+8847r940c29pdTtV2LhxYzF27Niib9++ZW87uROGup29QFtJDbah3FNU7gEqb0t15Q6HLrroolbNY8uWLeU2XFNTU/a2lp+vuOKKFk3DETJUaa+99iofuXFIPt31TpgzZ05644030rHHHpu++tWvlnvr+dpXc2o7Wd+8efM2/8udsOej5z/84Q/1ht98881lf77du3cvX7/rXe8qj8yffvrpdN1116Vf/epX6dprrw11xAE7Su6fOjfCOvDAAyvbdX789a9/TcuXLy/LPPPMM/UuFzX2mDBhQmWaM2bMKLezvO0tXLiwPIs2efLk8rlanXfIu4UOqHPnzmWIjRkzJk2dOjUdccQRaejQoemUU05Jhx12WL2y48ePTxdffHG9YTlAP/ShD9Ub9pvf/KYcv1OnTuU15AEDBqTbbrstnXHGGY0uQw7vPN1cPs+7MaNHj06nnnpqWTYHcD4Vfvfdd6dZs2ZVytRdtny9K19Ly0E6bty4VtXN888/X55Wz8+5VWuWp3nvvfeWw6+44opWTRd2hHXr1pXb0IIFC8rnunIwZ3lbzI2zmvPud7+78veFF15YBnTenrNDDz00rVq1Kk2aNCmdfvrpVS2XQIYWXkPOjTb+9re/pYcffjjdc889ZUvKX//61/VCNG+cDUP1+uuvL2/FqLV27do0c+bM8jpTrXyUnEO64bijRo0qvzg2bNiQ9tlnn7JMw52AWsOHD09dunQpr2/nL4fbb7+9PHLOR+G1br311nJ58tFA/nJ66623yjLvxBFHXflMQt0vLYhgyJAh5fr60ksvpU9+8pONlskNLQ866KCqp5l3gHfbrf5J57zNbt26teppCGRooW7duqVPf/rT5SPfd3jWWWeliRMn1gvR3PBq4MCB9cbr1atXvdf51NbGjRvL1p218uWuvAHnhiF1wy2fTs6BmltZ50BuTv4iyS088/RzIOfnk08+uTzCz/Jp5XwUfdlll5UtxPM089HxT37ykyanmb9oGt5P+eabb7boiAN2pnXr1qVly5ZVXq9cuTI9/vjj5XaYt628DZx22mnlep8DOt9BkRtl5R3dvNPdUvme58svv7y8A+Pggw8uG39ec8016cwzz6x6GgIZ3qZ8Gro1PzqQj3LHjh27zdHwt771rXTjjTemK6+8sjIs317VMOCbk79s8g7DkiVLyluk8u0fdW/P6NevX/re975XGZZPrTUn7wTkVt618tHFU089lYYNG1b1EQfsTI899lhl/cwuuOCC8jmfPs6XnvKllLxd5G1w9erV5U70xz72sbINRmvk+43zDnrefvN2kC/dnHPOOenSSy+tfiKtak4Gu6CXX365GDZsWPH73/++eOKJJ4oVK1YUM2bMKHr37l2ceeaZLWplvWjRorLl59KlS7cp9/Of/7zo06dP8eabbzbaQrQaufX2vvvuW87vgAMOqPe/O++8s2wFessttxTLli0rrrvuuqJXr15Fz549G13WLLfozi2n77rrrnKZc2vwHj161GtlPXr06KJ///7F7bffXtbN/Pnzy1ameRxg+7SyhirlU6/59HI+fXz00UeXjbDyHnFu5JV/naelR8f5yLqxa1T5hwzyHvbs2bNbvay5BWi+7pzvhcxHy3V9/vOfT9/5znfKVtH5h0ryEXN+H83Jp93ykUU+xZcbk+UGL3WPPrJ8xJH/n484Bg0aVLbqfvTRR8tTeMD21eRUrqIcALADOUIGgAAEMgAEIJABIACBDAABCGQACEAgA0AAAhkAAhDIABCAQAaAAAQyAAQgkAEgtb3/B6iPN+GL2b7jAAAAAElFTkSuQmCC",
|
164
|
+
"text/plain": [
|
165
|
+
"<Figure size 600x2750 with 21 Axes>"
|
166
|
+
]
|
167
|
+
},
|
168
|
+
"metadata": {},
|
169
|
+
"output_type": "display_data"
|
170
|
+
}
|
171
|
+
],
|
172
|
+
"source": [
|
173
|
+
"import numpy as np\n",
|
174
|
+
"import tensorflow as tf\n",
|
175
|
+
"import shap\n",
|
176
|
+
"import matplotlib.pyplot as plt\n",
|
177
|
+
"\n",
|
178
|
+
"# Load and preprocess MNIST data\n",
|
179
|
+
"from tensorflow.keras.datasets import mnist\n",
|
180
|
+
"(x_train, y_train), (x_test, y_test) = mnist.load_data()\n",
|
181
|
+
"\n",
|
182
|
+
"# Normalize and reshape data\n",
|
183
|
+
"x_train = x_train / 255.0\n",
|
184
|
+
"x_test = x_test / 255.0\n",
|
185
|
+
"x_train = np.expand_dims(x_train, -1)\n",
|
186
|
+
"x_test = np.expand_dims(x_test, -1)\n",
|
187
|
+
"\n",
|
188
|
+
"# Define a simple CNN model\n",
|
189
|
+
"model = tf.keras.models.Sequential([\n",
|
190
|
+
" tf.keras.layers.Conv2D(16, (3, 3), activation='relu', input_shape=(28, 28, 1)),\n",
|
191
|
+
" tf.keras.layers.MaxPooling2D((2, 2)),\n",
|
192
|
+
" tf.keras.layers.Flatten(),\n",
|
193
|
+
" tf.keras.layers.Dense(64, activation='relu'),\n",
|
194
|
+
" tf.keras.layers.Dense(10, activation='softmax')\n",
|
195
|
+
"])\n",
|
196
|
+
"\n",
|
197
|
+
"# Compile the model\n",
|
198
|
+
"model.compile(optimizer='adam',\n",
|
199
|
+
" loss='sparse_categorical_crossentropy',\n",
|
200
|
+
" metrics=['accuracy'])\n",
|
201
|
+
"\n",
|
202
|
+
"# Train the model\n",
|
203
|
+
"model.fit(x_train, y_train, epochs=3, batch_size=128, validation_split=0.1)\n",
|
204
|
+
"\n",
|
205
|
+
"# Prepare SHAP explainer\n",
|
206
|
+
"background = x_train[np.random.choice(x_train.shape[0], 100, replace=False)]\n",
|
207
|
+
"\n",
|
208
|
+
"# Wrap the model prediction function\n",
|
209
|
+
"explainer = shap.GradientExplainer(model, background)\n",
|
210
|
+
"\n",
|
211
|
+
"# Select a few test samples for explanation\n",
|
212
|
+
"test_images = x_test[:10]\n",
|
213
|
+
"\n",
|
214
|
+
"# Compute SHAP values\n",
|
215
|
+
"shap_values = explainer.shap_values(test_images)\n",
|
216
|
+
"\n",
|
217
|
+
"# Visualize SHAP values\n",
|
218
|
+
"shap.image_plot(shap_values, test_images)\n"
|
219
|
+
]
|
220
|
+
}
|
221
|
+
],
|
222
|
+
"metadata": {
|
223
|
+
"colab": {
|
224
|
+
"provenance": []
|
225
|
+
},
|
226
|
+
"kernelspec": {
|
227
|
+
"display_name": "Python 3 (ipykernel)",
|
228
|
+
"language": "python",
|
229
|
+
"name": "python3"
|
230
|
+
},
|
231
|
+
"language_info": {
|
232
|
+
"codemirror_mode": {
|
233
|
+
"name": "ipython",
|
234
|
+
"version": 3
|
235
|
+
},
|
236
|
+
"file_extension": ".py",
|
237
|
+
"mimetype": "text/x-python",
|
238
|
+
"name": "python",
|
239
|
+
"nbconvert_exporter": "python",
|
240
|
+
"pygments_lexer": "ipython3",
|
241
|
+
"version": "3.12.4"
|
242
|
+
}
|
243
|
+
},
|
244
|
+
"nbformat": 4,
|
245
|
+
"nbformat_minor": 4
|
246
|
+
}
|