Newer
Older
"$$P(X_{1}, X_{2}, ..., X_{n}|Y) = P(X_{1}|Y)*P(X_{2}|Y)*...*P(X_{n}|Y)$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
"#### Classifying an Item\n",
"\n",
"How can we use the above to classify an item though?\n",
"\n",
"We have a dataset with a set of classes (**C**) and we want to classify an item with a set of features (**F**). Essentially what we want to do is predict the class of an item given the features.\n",
"\n",
"For a specific class, **Class**, we will find the conditional probability given the item features:\n",
"\n",
"$$P(Class|F) = \\dfrac{P(F|Class)*P(Class)}{P(F)}$$\n",
"\n",
"We will do this for every class and we will pick the maximum. This will be the class the item is classified in.\n",
"\n",
"The features though are a vector with many elements. We need to break the probabilities up using the multiplication rule. Thus the above equation becomes:\n",
"\n",
"$$P(Class|F) = \\dfrac{P(Class)*P(F_{1}|Class)*P(F_{2}|Class)*...*P(F_{n}|Class)}{P(F_{1})*P(F_{2})*...*P(F_{n})}$$\n",
"\n",
"The calculation of the conditional probability then depends on the calculation of the following:\n",
"\n",
"*a)* The probability of **Class** in the dataset.\n",
"\n",
"*b)* The conditional probability of each feature occuring in an item classified in **Class**.\n",
"\n",
"*c)* The probabilities of each individual feature.\n",
"\n",
"For *a)*, we will count how many times **Class** occurs in the dataset (aka how many items are classified in a particular class).\n",
"\n",
"For *b)*, if the feature values are discrete ('Blue', '3', 'Tall', etc.), we will count how many times a feature value occurs in items of each class. If the feature values are not discrete, we will go a different route. We will use a distribution function to calculate the probability of values for a given class and feature. If we know the distribution function of the dataset, then great, we will use it to compute the probabilities. If we don't know the function, we can assume the dataset follows the normal (Gaussian) distribution without much loss of accuracy. In fact, it can be proven that any distribution tends to the Gaussian the larger the population gets (see [Central Limit Theorem](https://en.wikipedia.org/wiki/Central_limit_theorem)).\n",
"\n",
"*NOTE:* If the values are continuous but use the discrete approach, there might be issues if we are not lucky. For one, if we have two values, '5.0 and 5.1', with the discrete approach they will be two completely different values, despite being so close. Second, if we are trying to classify an item with a feature value of '5.15', if the value does not appear for the feature, its probability will be 0. This might lead to misclassification. Generally, the continuous approach is more accurate and more useful, despite the overhead of calculating the distribution function.\n",
"\n",
"The last one, *c)*, is tricky. If feature values are discrete, we can count how many times they occur in the dataset. But what if the feature values are continuous? Imagine a dataset with a height feature. Is it worth it to count how many times each value occurs? Most of the time it is not, since there can be miscellaneous differences in the values (for example, 1.7 meters and 1.700001 meters are practically equal, but they count as different values).\n",
"\n",
"So as we cannot calculate the feature value probabilities, what are we going to do?\n",
"\n",
"Let's take a step back and rethink exactly what we are doing. We are essentially comparing conditional probabilities of all the classes. For two classes, **A** and **B**, we want to know which one is greater:\n",
"\n",
"$$\\dfrac{P(F|A)*P(A)}{P(F)} vs. \\dfrac{P(F|B)*P(B)}{P(F)}$$\n",
"\n",
"Wait, **P(F)** is the same for both the classes! In fact, it is the same for every combination of classes. That is because **P(F)** does not depend on a class, thus being independent of the classes.\n",
"\n",
"So, for *c)*, we actually don't need to calculate it at all."
]
},
{
"cell_type": "markdown",
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
"metadata": {},
"source": [
"#### Wrapping It Up\n",
"\n",
"Classifying an item to a class then becomes a matter of calculating the conditional probabilities of feature values and the probabilities of classes. This is something very desirable and computationally delicious.\n",
"\n",
"Remember though that all the above are true because we made the assumption that the features are independent. In most real-world cases that is not true though. Is that an issue here? Fret not, for the the algorithm is very efficient even with that assumption. That is why the algorithm is called **Naive** Bayes Classifier. We (naively) assume that the features are independent to make computations easier."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Implementation\n",
"\n",
"The implementation of the Naive Bayes Classifier is split in two; Discrete and Continuous. The user can choose between them with the argument `continuous`."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Discrete\n",
"\n",
"The implementation for discrete values counts how many times each feature value occurs for each class, and how many times each class occurs. The results are stored in a `CountinProbDist` object."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"With the below code you can see the probabilities of the class \"Setosa\" appearing in the dataset and the probability of the first feature (at index 0) of the same class having a value of 5. Notice that the second probability is relatively small, even though if we observe the dataset we will find that a lot of values are around 5. The issue arises because the features in the Iris dataset are continuous, and we are assuming they are discrete. If the features were discrete (for example, \"Tall\", \"3\", etc.) this probably wouldn't have been the case and we would see a much nicer probability distribution."
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.3333333333333333\n",
"0.10588235294117647\n"
]
}
],
"source": [
"dataset = iris\n",
"\n",
"target_vals = dataset.values[dataset.target]\n",
"target_dist = CountingProbDist(target_vals)\n",
"attr_dists = {(gv, attr): CountingProbDist(dataset.values[attr])\n",
" for gv in target_vals\n",
" for attr in dataset.inputs}\n",
"for example in dataset.examples:\n",
" targetval = example[dataset.target]\n",
" target_dist.add(targetval)\n",
" for attr in dataset.inputs:\n",
" attr_dists[targetval, attr].add(example[attr])\n",
"\n",
"\n",
"print(target_dist['setosa'])\n",
"print(attr_dists['setosa', 0][5.0])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First we found the different values for the classes (called targets here) and calculated their distribution. Next we initialized a dictionary of `CountingProbDist` objects, one for each class and feature. Finally, we iterated through the examples in the dataset and calculated the needed probabilites.\n",
"\n",
"Having calculated the different probabilities, we will move on to the predicting function. It will receive as input an item and output the most likely class. Using the above formula, it will multiply the probability of the class appearing, with the probability of each feature value appearing in the class. It will return the max result."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"setosa\n"
]
}
],
"source": [
"def predict(example):\n",
" def class_probability(targetval):\n",
" return (target_dist[targetval] *\n",
" product(attr_dists[targetval, attr][example[attr]]\n",
" for attr in dataset.inputs))\n",
" return argmax(target_vals, key=class_probability)\n",
"\n",
"\n",
"print(predict([5, 3, 1, 0.1]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can view the complete code by executing the next line:"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%psource NaiveBayesDiscrete"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Continuous\n",
"\n",
"In the implementation we use the Gaussian/Normal distribution function. To make it work, we need to find the means and standard deviations of features for each class. We make use of the `find_means_and_deviations` Dataset function. On top of that, we will also calculate the class probabilities as we did with the Discrete approach."
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[5.006, 3.418, 1.464, 0.244]\n",
"[0.5161711470638634, 0.3137983233784114, 0.46991097723995795, 0.19775268000454405]\n"
]
}
],
"source": [
"means, deviations = dataset.find_means_and_deviations()\n",
"\n",
"target_vals = dataset.values[dataset.target]\n",
"target_dist = CountingProbDist(target_vals)\n",
"\n",
"\n",
"print(means[\"setosa\"])\n",
"print(deviations[\"versicolor\"])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can see the means of the features for the \"Setosa\" class and the deviations for \"Versicolor\".\n",
"\n",
"The prediction function will work similarly to the Discrete algorithm. It will multiply the probability of the class occuring with the conditional probabilities of the feature values for the class.\n",
"\n",
"Since we are using the Gaussian distribution, we will input the value for each feature into the Gaussian function, together with the mean and deviation of the feature. This will return the probability of the particular feature value for the given class. We will repeat for each class and pick the max value."
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"setosa\n"
]
}
],
"source": [
"def predict(example):\n",
" def class_probability(targetval):\n",
" prob = target_dist[targetval]\n",
" for attr in dataset.inputs:\n",
" prob *= gaussian(means[targetval][attr], deviations[targetval][attr], example[attr])\n",
" return prob\n",
"\n",
" return argmax(target_vals, key=class_probability)\n",
"\n",
"\n",
"print(predict([5, 3, 1, 0.1]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The complete code of the continuous algorithm:"
]
},
{
"cell_type": "code",
"execution_count": 31,
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
"outputs": [],
"source": [
"%psource NaiveBayesContinuous"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Examples\n",
"\n",
"We will now use the Naive Bayes Classifier (Discrete and Continuous) to classify items:"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Discrete Classifier\n",
"setosa\n",
"versicolor\n",
"versicolor\n",
"\n",
"Continuous Classifier\n",
"setosa\n",
"versicolor\n",
"virginica\n"
]
}
],
"source": [
"nBD = NaiveBayesLearner(iris, continuous=False)\n",
"print(\"Discrete Classifier\")\n",
"print(nBD([5, 3, 1, 0.1]))\n",
"print(nBD([6, 5, 3, 1.5]))\n",
"print(nBD([7, 3, 6.5, 2]))\n",
"\n",
"\n",
"nBC = NaiveBayesLearner(iris, continuous=True)\n",
"print(\"\\nContinuous Classifier\")\n",
"print(nBC([5, 3, 1, 0.1]))\n",
"print(nBC([6, 5, 3, 1.5]))\n",
"print(nBC([7, 3, 6.5, 2]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Notice how the Discrete Classifier misclassified the second item, while the Continuous one had no problem."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Perceptron Classifier\n",
"\n",
"### Overview\n",
"\n",
"The Perceptron is a linear classifier. It works the same way as a neural network with no hidden layers (just input and output). First it trains its weights given a dataset and then it can classify a new item by running it through the network.\n",
"\n",
"Its input layer consists of the the item features, while the output layer consists of nodes (also called neurons). Each node in the output layer has *n* synapses (for every item feature), each with its own weight. Then, the nodes find the dot product of the item features and the synapse weights. These values then pass through an activation function (usually a sigmoid). Finally, we pick the largest of the values and we return its index.\n",
"\n",
"Note that in classification problems each node represents a class. The final classification is the class/node with the max output value.\n",
"\n",
"Below you can see a single node/neuron in the outer layer. With *f* we denote the item features, with *w* the synapse weights, then inside the node we have the dot product and the activation function, *g*."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Implementation\n",
"\n",
"First, we train (calculate) the weights given a dataset, using the `BackPropagationLearner` function of `learning.py`. We then return a function, `predict`, which we will use in the future to classify a new item. The function computes the (algebraic) dot product of the item with the calculated weights for each node in the outer layer. Then it picks the greatest value and classifies the item in the corresponding class."
]
},
{
"cell_type": "code",
},
"outputs": [],
"source": [
"%psource PerceptronLearner"
]
},
{
"cell_type": "markdown",
"Note that the Perceptron is a one-layer neural network, without any hidden layers. So, in `BackPropagationLearner`, we will pass no hidden layers. From that function we get our network, which is just one layer, with the weights calculated.\n",
"That function `predict` passes the input/example through the network, calculating the dot product of the input and the weights for each node and returns the class with the max dot product."
]
},
{
"cell_type": "markdown",
"source": [
"### Example\n",
"\n",
"We will train the Perceptron on the iris dataset. Because though the `BackPropagationLearner` works with integer indexes and not strings, we need to convert class names to integers. Then, we will try and classify the item/flower with measurements of 5, 3, 1, 0.1."
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0\n"
]
}
],
"source": [
"iris = DataSet(name=\"iris\")\n",
"iris.classes_to_numbers()\n",
"\n",
"perceptron = PerceptronLearner(iris)\n",
"print(perceptron([5, 3, 1, 0.1]))"
]
},
{
"cell_type": "markdown",
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
"The correct output is 0, which means the item belongs in the first class, \"setosa\". Note that the Perceptron algorithm is not perfect and may produce false classifications."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Neural Network\n",
"\n",
"### Overview\n",
"\n",
"Although the Perceptron may seem like a good way to make classifications, it is a linear classifier (which, roughly, means it can only draw straight lines to divide spaces) and therefore it can be stumped by more complex problems. We can extend Perceptron to solve this issue, by employing multiple layers of its functionality. The construct we are left with is called a Neural Network, or a Multi-Layer Perceptron, and it is a non-linear classifier. It achieves that by combining the results of linear functions on each layer of the network.\n",
"\n",
"Similar to the Perceptron, this network also has an input and output layer. However it can also have a number of hidden layers. These hidden layers are responsible for the non-linearity of the network. The layers are comprised of nodes. Each node in a layer (excluding the input one), holds some values, called *weights*, and takes as input the output values of the previous layer. The node then calculates the dot product of its inputs and its weights and then activates it with an *activation function* (sometimes a sigmoid). Its output is fed to the nodes of the next layer. Note that sometimes the output layer does not use an activation function, or uses a different one from the rest of the network. The process of passing the outputs down the layer is called *feed-forward*.\n",
"\n",
"After the input values are fed-forward into the network, the resulting output can be used for classification. The problem at hand now is how to train the network (ie. adjust the weights in the nodes). To accomplish that we utilize the *Backpropagation* algorithm. In short, it does the opposite of what we were doing up to now. Instead of feeding the input forward, it will feed the error backwards. So, after we make a classification, we check whether it is correct or not, and how far off we were. We then take this error and propagate it backwards in the network, adjusting the weights of the nodes accordingly. We will run the algorithm on the given input/dataset for a fixed amount of time, or until we are satisfied with the results. The number of times we will iterate over the dataset is called *epochs*. In a later section we take a detailed look at how this algorithm works.\n",
"\n",
"NOTE: Sometimes we add to the input of each layer another node, called *bias*. This is a constant value that will be fed to the next layer, usually set to 1. The bias generally helps us \"shift\" the computed function to the left or right."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Implementation\n",
"\n",
"The `NeuralNetLearner` function takes as input a dataset to train upon, the learning rate (in (0, 1]), the number of epochs and finally the size of the hidden layers. This last argument is a list, with each element corresponding to one hidden layer.\n",
"\n",
"After that we will create our neural network in the `network` function. This function will make the necessary connections between the input layer, hidden layer and output layer. With the network ready, we will use the `BackPropagationLearner` to train the weights of our network for the examples provided in the dataset.\n",
"\n",
"The NeuralNetLearner returns the `predict` function, which can receive an example and feed-forward it into our network to generate a prediction."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%psource NeuralNetLearner"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Backpropagation\n",
"\n",
"In both the Perceptron and the Neural Network, we are using the Backpropagation algorithm to train our weights. Basically it achieves that by propagating the errors from our last layer into our first layer, this is why it is called Backpropagation. In order to use Backpropagation, we need a cost function. This function is responsible for indicating how good our neural network is for a given example. One common cost function is the *Mean Squared Error* (MSE). This cost function has the following format:\n",
"\n",
"$$MSE=\\frac{1}{2} \\sum_{i=1}^{n}(y - \\hat{y})^{2}$$\n",
"\n",
"Where `n` is the number of training examples, $\\hat{y}$ is our prediction and $y$ is the correct prediction for the example.\n",
"\n",
"The algorithm combines the concept of partial derivatives and the chain rule to generate the gradient for each weight in the network based on the cost function.\n",
"\n",
"For example, if we are using a Neural Network with three layers, the sigmoid function as our activation function and the MSE cost function, we want to find the gradient for the a given weight $w_{j}$, we can compute it like this:\n",
"\n",
"$$\\frac{\\partial MSE(\\hat{y}, y)}{\\partial w_{j}} = \\frac{\\partial MSE(\\hat{y}, y)}{\\partial \\hat{y}}\\times\\frac{\\partial\\hat{y}(in_{j})}{\\partial in_{j}}\\times\\frac{\\partial in_{j}}{\\partial w_{j}}$$\n",
"\n",
"Solving this equation, we have:\n",
"\n",
"$$\\frac{\\partial MSE(\\hat{y}, y)}{\\partial w_{j}} = (\\hat{y} - y)\\times{\\hat{y}}'(in_{j})\\times a_{j}$$\n",
"\n",
"Remember that $\\hat{y}$ is the activation function applied to a neuron in our hidden layer, therefore $$\\hat{y} = sigmoid(\\sum_{i=1}^{num\\_neurons}w_{i}\\times a_{i})$$\n",
"\n",
"Also $a$ is the input generated by feeding the input layer variables into the hidden layer.\n",
"\n",
"We can use the same technique for the weights in the input layer as well. After we have the gradients for both weights, we use gradient descent to update the weights of the network."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Implementation\n",
"\n",
"First, we feed-forward the examples in our neural network. After that, we calculate the gradient for each layer weights. Once that is complete, we update all the weights using gradient descent. After running these for a given number of epochs, the function returns the trained Neural Network."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%psource BackPropagationLearner"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0\n"
]
}
],
"source": [
"iris = DataSet(name=\"iris\")\n",
"iris.classes_to_numbers()\n",
"\n",
"nNL = NeuralNetLearner(iris)\n",
"print(nNL([5, 3, 1, 0.1]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The output should be 0, which means the item should get classified in the first class, \"setosa\". Note that since the algorithm is non-deterministic (because of the random initial weights) the classification might be wrong. Usually though it should be correct.\n",
"\n",
"To increase accuracy, you can (most of the time) add more layers and nodes. Unfortunately the more layers and nodes you have, the greater the computation cost."
]
},
{
"cell_type": "markdown",
"## Learner Evaluation\n",
"In this section we will evaluate and compare algorithm performance. The dataset we will use will again be the iris one."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"iris = DataSet(name=\"iris\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Naive Bayes\n",
"First up we have the Naive Bayes algorithm. First we will test how well the Discrete Naive Bayes works, and then how the Continuous fares."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Error ratio for Discrete: 0.033333333333333326\n",
"Error ratio for Continuous: 0.040000000000000036\n"
]
}
],
"source": [
"nBD = NaiveBayesLearner(iris, continuous=False)\n",
"print(\"Error ratio for Discrete:\", err_ratio(nBD, iris))\n",
"nBC = NaiveBayesLearner(iris, continuous=True)\n",
"print(\"Error ratio for Continuous:\", err_ratio(nBC, iris))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The error for the Naive Bayes algorithm is very, very low; close to 0. There is also very little difference between the discrete and continuous version of the algorithm."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## k-Nearest Neighbors\n",
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
"Now we will take a look at kNN, for different values of *k*. Note that *k* should have odd values, to break any ties between two classes."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Error ratio for k=1: 0.0\n",
"Error ratio for k=3: 0.08666666666666667\n",
"Error ratio for k=5: 0.1466666666666666\n",
"Error ratio for k=7: 0.21999999999999997\n"
]
}
],
"source": [
"kNN_1 = NearestNeighborLearner(iris, k=1)\n",
"kNN_3 = NearestNeighborLearner(iris, k=3)\n",
"kNN_5 = NearestNeighborLearner(iris, k=5)\n",
"kNN_7 = NearestNeighborLearner(iris, k=7)\n",
"print(\"Error ratio for k=1:\", err_ratio(kNN_1, iris))\n",
"print(\"Error ratio for k=3:\", err_ratio(kNN_3, iris))\n",
"print(\"Error ratio for k=5:\", err_ratio(kNN_5, iris))\n",
"print(\"Error ratio for k=7:\", err_ratio(kNN_7, iris))"
]
},
{
"cell_type": "markdown",
"source": [
"Notice how the error became larger and larger as *k* increased. This is generally the case with datasets where classes are spaced out, as is the case with the iris dataset. If items from different classes were closer together, classification would be more difficult. Usually a value of 1, 3 or 5 for *k* suffices.\n",
"Also note that since the training set is also the testing set, for *k* equal to 1 we get a perfect score, since the item we want to classify each time is already in the dataset and its closest neighbor is itself."
]
},
{
"cell_type": "markdown",
"metadata": {},
"### Perceptron\n",
"For the Perceptron, we first need to convert class names to integers. Let's see how it performs in the dataset."
]
},
{
"cell_type": "code",
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Error ratio for Perceptron: 0.31999999999999995\n"
]
}
],
"source": [
"iris2 = DataSet(name=\"iris\")\n",
"iris2.classes_to_numbers()\n",
"\n",
"perceptron = PerceptronLearner(iris2)\n",
"print(\"Error ratio for Perceptron:\", err_ratio(perceptron, iris2))"
]
},
{
"cell_type": "markdown",
"metadata": {},
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
"The Perceptron didn't fare very well mainly because the dataset is not linearly separated. On simpler datasets the algorithm performs much better, but unfortunately such datasets are rare in real life scenarios."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## MNIST Handwritten Digits Classification\n",
"\n",
"The MNIST database, available from [this page](http://yann.lecun.com/exdb/mnist/), is a large database of handwritten digits that is commonly used for training and testing/validating in Machine learning.\n",
"\n",
"The dataset has **60,000 training images** each of size 28x28 pixels with labels and **10,000 testing images** of size 28x28 pixels with labels.\n",
"\n",
"In this section, we will use this database to compare performances of different learning algorithms.\n",
"\n",
"It is estimated that humans have an error rate of about **0.2%** on this problem. Let's see how our algorithms perform!\n",
"\n",
"NOTE: We will be using external libraries to load and visualize the dataset smoothly ([numpy](http://www.numpy.org/) for loading and [matplotlib](http://matplotlib.org/) for visualization). You do not need previous experience of the libraries to follow along."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Loading MNIST digits data\n",
"\n",
"Let's start by loading MNIST data into numpy arrays."
]
},
{
"cell_type": "markdown",
"The function `load_MNIST()` loads MNIST data from files saved in `aima-data/MNIST`. It returns four numpy arrays that we are going to use to train and classify hand-written digits in various learning approaches."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
},
"outputs": [],
"source": [
"train_img, train_lbl, test_img, test_lbl = load_MNIST()"
]
},
{
"cell_type": "markdown",
"source": [
"Check the shape of these NumPy arrays to make sure we have loaded the database correctly.\n",
"\n",
"Each 28x28 pixel image is flattened to a 784x1 array and we should have 60,000 of them in training data. Similarly, we should have 10,000 of those 784x1 arrays in testing data."
]
},
{
"cell_type": "code",
"execution_count": 4,
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Training images size: (60000, 784)\n",
"Training labels size: (60000,)\n",
"Testing images size: (10000, 784)\n",
"Training labels size: (10000,)\n"
]
}
],
"source": [
"print(\"Training images size:\", train_img.shape)\n",
"print(\"Training labels size:\", train_lbl.shape)\n",
"print(\"Testing images size:\", test_img.shape)\n",
"print(\"Training labels size:\", test_lbl.shape)"
]
},
{
"cell_type": "markdown",
"### Visualizing MNIST digits data\n",
"To get a better understanding of the dataset, let's visualize some random images for each class from training and testing datasets."
]
},
{
"cell_type": "code",
"execution_count": 5,
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAzkAAAKqCAYAAAAZl5BAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xm8TdX/x/GXMhMZMhSijJk1izQIKZSpORVJGRo0SRqM\nlSYlRRkaFKESRSh+qZBKEZWhScYoCpnP7w/fz97r3HPude9x7z3n7Pt+Ph7fh/3d69xz113tM+z1\n+azPyhUKhUKIiIiIiIgExFHx7oCIiIiIiEhm0k2OiIiIiIgEim5yREREREQkUHSTIyIiIiIigaKb\nHBERERERCRTd5IiIiIiISKDoJkdERERERAJFNzkiIiIiIhIouskREREREZFA0U2OiIiIiIgEim5y\nHHv27OG+++7j+OOPp0CBApx55pnMnj073t1KeDt27ODhhx+mRYsWFC9enFy5cjFu3Lh4dyspLF68\nmB49elCzZk0KFSpEhQoV6NixIytXrox31xLa8uXL6dChAyeddBIFCxakZMmSnHvuuUybNi3eXUtK\ngwYNIleuXNSqVSveXUlo8+bNI1euXFH/t3Dhwnh3Lyl88803tG7dmuLFi1OwYEFq1arFc889F+9u\nJbQbbrgh1esuV65crFu3Lt5dTFirVq3iyiuvpFy5chQsWJDq1avTv39/du3aFe+uJbyvv/6aFi1a\nUKRIEY455hiaNWvGt99+G+9uZUjueHcgkdxwww1MnjyZO+64gypVqjBu3DhatmzJ3LlzadSoUby7\nl7C2bNlC//79qVChAnXr1mXevHnx7lLSePzxx/n888/p0KEDderUYePGjQwfPpwGDRqwcOFCfelM\nxW+//ca///5Lp06dOP7449m1axdTpkyhdevWjBw5kq5du8a7i0njjz/+YPDgwRQqVCjeXUkavXr1\n4vTTTw87V7ly5Tj1JnnMmjWLVq1aUb9+ffr160fhwoVZs2YNf/zxR7y7ltBuueUWmjZtGnYuFArR\nrVs3KlasyAknnBCnniW2tWvXcsYZZ1C0aFF69OhB8eLFWbBgAQ8//DBff/01U6dOjXcXE9Y333xD\no0aNKF++PA8//DAHDx5kxIgRNGnShC+//JJq1arFu4vpE5JQKBQKLVq0KASEhg4d6p3777//Qief\nfHLo7LPPjmPPEt/u3btDGzZsCIVCodDixYtDQGjs2LHx7VSS+Pzzz0N79uwJO7dy5cpQvnz5Qtdc\n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\neTOVK1fm1Vdf5ddff414U5ZIw4cPZ9u2bd6s3LRp07xdrHv27EnRokXj2b2E1bt3b95//31atWrF\nX3/9xRtvvBHWfu2118apZ4ntlltu4Z9//uHcc8/lhBNOYOPGjYwfP54ff/yRp556SjPqaShZsiSX\nXXZZxHnbKydamxxyxRVXUKBAARo2bEipUqVYsWIFo0aNomDBgjz22GPx7l5Cq1+/PjfddBNjxoxh\n//79NGnShHnz5jFp0iT69OmjFN10mDhxIvv371eqWjrdc889zJgxg8aNG9OjRw9KlCjB9OnTmTFj\nBl26dNE1l4ZPP/2U/v3706xZM0qUKMHChQsZO3YsLVq04Pbbb49399Iv3ruRJpL//vsvdPfdd4fK\nlCkTypcvX+j0008PzZw5M97dSgonnnhiCIj6v19++SXe3UtYTZo0SXXc9PJM3VtvvRVq2rRpqHTp\n0qHcuXOHihUrFmratGlo6tSp8e5a0mrSpEmoZs2a8e5GQhs2bFjojDPOCBUvXjyUO3fuUNmyZUPX\nXnttaNWqVfHuWlLYu3dv6JFHHgmdeOKJoTx58oQqV64ceuaZZ+LdraRx1llnhUqVKhXav39/vLuS\nNBYtWhS6+OKLQ2XKlAnlyZMnVLVq1dCgQYNC+/bti3fXEtrq1atDzZo1C5UsWTKUL1++UPXq1UND\nhgwJ7dmzJ95dy5BcoZDKEImIiIiISHAkR1KdiIiIiIhIOukmR0REREREAkU3OSIiIiIiEii6yRER\nERERkUDRTY6IiIiIiASKbnJERERERCRQdJMjIiIiIiKBkjveHYgmV65c8e5CQohlCyON3SEau9hp\n7GKX0bHTuB2iay52GrvYaexip7GLncYudhkdO0VyREREREQkUHSTIyIiIiIigaKbHBERERERCRTd\n5IiIiIiISKAkZOEBERERydlKly7tHS9cuBCAsWPHAtC/f/+49ElEkociOSIiIiIiEiiK5IiIiEjC\nyJ370FeTl156yTt34oknArBx48a49ElEko8iOSIiIiIiEiiK5MSgWrVqAMyZM8c7d8IJJwDRN2ya\nNGkSAB07dsyG3iWm119/HYCrr74agA8++MBra926dVz6JCIiiadHjx4AtGnTxjv3xBNPADBq1Ki4\n9ElEko8iOSIiIiIiEii6yRERERERkUBRuloMJk6cCMDxxx/vnQuFQmH/upo1a5Y9HUswRYsW9Y6P\n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\nIiIigaKbHBERERERCRTd5IiIiIiISKDoJkdERERERAJFNzkiIiIiIhIouskREREREZFA0U2OiIiI\niIgEim5yREREREQkUHSTIyIiIiIigaKbHBERERERCRTd5IiIiIiISKDkjncHosmVK1e8u5AQQqFQ\nhn9GY3eIxi52GrvYZXTsNG6H6JqLncYudhq72GnsYqexi11Gx06RHBERERERCRTd5IiIiIiISKDo\nJkdERERERAIlIdfkiIiISPCdeuqp3vHNN98MQNeuXQG47rrrvLbx48dnb8dEJOkpkiMiIiIiIoGi\nSI6IiIhkq+rVqwPw4YcfeudKlCgBwJ9//gnA/Pnzs79jIhIYiuSIiIiIiEigKJIjR2TFihXe8ezZ\nswHo27cvADt27IhLnyR4bI+AcuXKAdC9e3evbd26dQA899xzAOzZs8drq1ChAgCbN2/Oln6KSNps\nDY5FcI477jivzfbAaNKkCQC///57NvdORIJEkRwREREREQkU3eSIiIiIiEigKF0thWuuuQaAE044\nAYDjjz/ea+vWrRvgL4p8/vnnI35+1qxZAHz77bdZ2s9E8d1333nHPXv2BGDjxo0ADBkyJC59SnQN\nGzYEoE2bNt45u87at28PQL58+VL9+cmTJ3vHdr3u27cv0/uZSKpVqwbA8uXLU33MwYMHAfj111+9\ncwUKFMjSfknOcdZZZ3nHl112GeCnXh177LFe2+7duwH4+eefAT/VEqBdu3ZA9OvSHmcpW64nnngC\ngPvvvz/2PyBBPP3004BfZMD9ey39+ccff8z+jkmOUrFiRe+4TJkyAPz7779A2p8zklwUyRERERER\nkUBRJCeFkiVLAv6dfevWrb22PHnyAP6se7RIxSOPPAKEz7Zff/31WdLXRHDaaadFnLMZTIFbbrnF\nO77iiisAOOeccwDIndt/+dksrs0kLVmyJOK5LJph0R7wF+JfcMEFgD+LnMwaNWoEwO233+6dc6Ne\nh1OlShXvuFevXgD07t07k3qX+Jo1a+Ydz5gxA4ATTzwRgD/++OOIn/+hhx4C4Oijjwbg8ccf99p2\n7dp1xM+fqNzXa506dQC48MILgejRF4vYupEce5z9+/fff3tta9eujXiuDz74AIBXXnnlyP+AOChU\nqBAAX375pXeuRo0agP932t8NcP7552dj7ySojjrq0Pz9Kaec4p2z12rlypUBuPrqq7224sWLA/77\n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\nacZOYxc7jV3slK4WG11zsdPYxU5jFzuNXew0drFTupqIiIiIiORoCRnJERERERERiZUiOSIiIiIi\nEii6yRERERERkUDRTY6IiIiIiASKbnJERERERCRQdJMjIiIiIiKBopscEREREREJFN3kiIiIiIhI\noOgmR0REREREAkU3OSIiIiIiEii6yRERERERkUDRTY6IiIiIiASKbnJERERERCRQdJMjIiIiIiKB\nkjveHYgmV65c8e5CQgiFQhn+GY3dIRq72GnsYpfRsdO4HaJrLnYau9hp7GKnsYudxi52GR07RXJE\nRERERCRQdJMjIiIiIiKBopscEREREREJlIRckyMiIiLBd/TRR3vHvXv3BmDIkCEA3H///V7b008/\nDcCBAweysXcikswUyRERERERkUDJFYqlzEMWUxWJQ1SBI3Yau9hp7GKn6mqx0TUXu2Qfu3vvvdc7\nHjx4cKqPq1u3LgDLly/PtN+d7GMXTxq72GnsYqfqaiIiIiIikqMFMpJTr14973jWrFkAlChRwjt3\n1FGH7u1GjRoFQJcuXVJ9rs6dO3vHO3bsAGDy5MlH1L/0Sta7/UaNGgEwf/5879x3330HhP+3yUrJ\nOnaJIFHGrlWrVt7x+++/D8DWrVuB8NfglClTAFiwYAHgv07jQZGc2CTKNZderVu3BuCyyy6LaFu8\neDEABw8eBKBdu3Ze20UXXQTA2WefDcDChQuPuC/JNnZmwoQJAHTo0ME7l9bfYq/5K6+8MtP6kKxj\nlwgSeexsnddxxx3nnWvfvj0AzZs3B6Bly5ZeW5s2bQD/M8Q+Z7JKIo9dolMkR0REREREcjTd5IiI\niIiISKAEKl0td+5DFbGfeOIJ71zPnj0jHmfpapZOkBZ7LMCuXbsAPx3Bfe7MXAxpkjWkec455wDw\n6aefeueWLl0KQP369bOlD4kydhUrVvSOjz/+eAAqV64MwJdffum1/fjjj5n+u2OVKGNnr2eAkSNH\nAn76QY0aNby2k08+GYB169YBfhoqwIABAzK9X2lJhHS1E0880Tv++eefAf896/LLL/faNmzYkOm/\nO1aJcs2l17Zt2wAoUqRITD/fsGFDIOekq9l7H8Crr74KQOPGjQHIkyeP12Z/i12b119/vdf28MMP\nA3DeeedlWr+SYewSVSKPXa1atQD49ttvI9r+/vtvANauXRvRrzfffBOAoUOHRvxczZo1Afjzzz+9\n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\nq5hq167tjm0cbZYc4Mknnww93o/WWt71ddddB4TLb99zzz1AUHK5UtaLybL515C9Vxo1alTt423T\nO8gc6TK2Geitt97qzpV7rr995vnbNNhnnf85NWPGDCD4vPEjMqussgoADz74IBDeTNZfMyfRVFok\nZ/Lkye7YoswNGjQAwlsqrLPOOkD6tXKDBg0CFDksFPu8mD59etFfW5EcERERERFJFN3kiIiIiIhI\noiQiXc1YSoq/y+2GG26Yt+e3BZIWcvvggw9cmy22T2JqWjq2eN43Z86c0H8rhaVA+SmKdrzCCiu4\ncxYuX2211QD49NNPqzyHtS1YsKDG/Zo7dy6Q3zLDheIXYbA0Ilt8DEHaixX/2GmnnVzbJptsAsCX\nX34JwBFHHOHaMu14LZXN0qUgSBPt1q1bjZ/XitxcdNFFAHz11Vc1fs64sZLSEGzPkO02DRKdX/Y4\nlaXKV5pvvvnGHdt2HVZkoGnTplUebyWnjznmGHdu2rRphexiRbCy8em2XckmvbdQFMkREREREZFE\nSVQk57333gPCpUFtEbJtGArQsmXLrJ/T3/TMZtcfeeSRGvUzCWyWcuzYse6cRQ7svxKUXoXsFjXm\nI4JTjvxxsoXMQ4cOdec6dOgQerxfiMBKeNtGhVZSXiQT/5rr06cPAFOmTHHnrPR/unLwFs1///33\ngfBibyvx/tdff+W3w1Lxzj///FJ3IdYuvvhiIIjkTJgwwbVNnDgRgNGjRwOV+12bb7Z1y5gxY4Dw\nd3XqFheloEiOiIiIiIgkim5yREREREQkUWotjUM8KYUtYKp0Uf5pNHb/0thFp7GLLtexi9O4WWEM\nCNJQrcDDO++849ratWsH5DctVddcdBq76Mpt7DL11woPZCpOUKy+VEfX3b+SPHZW2AFggw02AOCV\nV14B8rOHZa5jp0iOiIiIiIgkiiI5MZbku/1C09hFp7GLrpwjOaWkay46jV105TB2e+65pzt+7rnn\nqn1csftVDmMXV0keu9NOO80dW1l5RXJERERERETyJFElpEVERESSwi9PnspKJYvEhV+Gf/78+SXs\nyb8UyRERERERkUTRTY6IiIiIiCSKCg/EWJIXpxWaxi46jV10KjwQja656DR20WnsotPYRaexi06F\nB0REREREpKLFMpIjIiIiIiISlSI5IiIiIiKSKLrJERERERGRRNFNjoiIiIiIJIpuckREREREJFF0\nkyMiIiIiIomimxwREREREUkU3eSIiIiIiEii6CZHREREREQSRTc5IiIiIiKSKLrJERERERGRRNFN\njoiIiIiIJIpuckREREREJFGWK3UH0qlVq1apuxALS5cuzflnNHb/0thFp7GLLtex07j9S9dcdBq7\n6DR20WnsotPYRZfr2CmSIyIiIiIiiaKbHBERERERSRTd5IiIiIiISKLoJkdERERERBJFNzkiIiIi\nIpIouskREREREZFEiWUJaREREUm+5ZYL/gzp1KkTAAMHDgRg9uzZrq13794AfP/990XsnYiUM0Vy\nREREREQkUWotjbIrUYFp06N/lfuGURdffLE7HjRoEACtW7cGYOrUqQV97XIYu+22284djxkzBoBN\nNtmkSl9sNnPSpEkAPP30067ttddeA+Cbb77JW7/KYeziqhI2A7Xrb++99wZgs802c23+zHsudM1F\nV65jV6dOHQBGjBjhzlm05u+//wbCv9u4ceMA6NChQ976UK5jFwcau+g0dtFpM1AREREREalouskR\nEREREZFEUbpajJV7SHPJkiXu2H6XE044AYCbb765oK8dx7GrV68eEIzBeeed59qWX375avuS6Xd5\n6qmnADjggAPy1s9ijp39XKNGjdy5k08+ucrjjjzySAC22GKLap/LUqXuv/9+d+6mm24C4Ouvvwai\n/W65SGq6WsuWLd3x5MmTgeCaPfPMM13b5ZdfHun54/h+zcaVV14JQP/+/d05SyFt3rw5ACuuuKJr\nW3/99QHo1q0bAMccc4xr++677wBo0aKFO/f7778vsw/lOnZ23QwZMsSd++qrrwC44447ADjxxBNd\n2/HHHw/AI488krc+lOvYxUG5j92ee+7pjs8///wq51JZqv3zzz9f49cu97ErJaWriYiIiIhIRVMJ\naSkYzTyE2cJZf1a8pvbdd18AbrjhBiCIEpWLLl26ADBq1KisHp9pFseKNpx99tnunB3buFhkR3LT\nsGFDd5wadVxzzTWL3Z2SsIXyEERbOnfuDMA///zj2nbYYQcARo4cCcAuu+zi2rbccstqn79u3bpA\neDw///zzmnY7dizaZ9GvuXPnujYrPGAR6osuusi1WTECkSguuOACAPbYYw8gc9QmHXt8PiI5cXTY\nYYcB0K5du2ofY9+xt9xyizv33HPPAfDFF18UsHfRKZIjIiIiIiKJokiOFIw/627H77//fqm6U3K7\n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\n0m40XuqxyxSZyVWx/01LPXZRWSEf//vBNpW2KKxf+KcQch07RXJERERERCRRdJMjIiIiIiKJonS1\nGCvXkGYcaOyiK8XYNWzY0B3369cPCKdCNm3aNPR4v+DCp59+CgS7rPv7AhX74y2u6WpxV4xrzlJ9\nUhe+Axx33HFAuFiK7btme5H4KZV//PFHbp0tIH3WRRfnsbN0LEs1BXj77beBIF2tlOIydn7qVKZi\nBKnS7aFTLHEZu1zVq1cPgF9++aVKm9LVREREREREikCRnBgr17v9ONDYRaexi06RnGh0zUWnsYsu\njmPXoEEDAGbPnh36f4Drr78eiMeWGHEcu3JRrmNnhQdGjhzpznXv3h2A/v37AzB8+PCC9kGRHBER\nERERqWiK5MRYud7tx4HGLjqNXXSK5ESjay46jV10cRy7Z599Fki/vsQ287UoTynFcezKhcYuOkVy\nRERERESkoukmR0REREREEkXpajGmkGZ0GrvoNHbRKV0tGl1z0WnsotPYRaexi05jF53S1URERERE\npKLFMpIjIiIiIiISlSI5IiIiIiKSKLrJERERERGRRNFNjoiIiIiIJIpuckREREREJFF0kyMiIiIi\nIomimxwREREREUkU3eSIiIiIiEii6CZHREREREQSRTc5IiIiIiKSKLrJERERERGRRNFNjoiIiIiI\nJIpuckREREREJFGWK3UH0qlVq1apuxALS5cuzflnNHb/0thFp7GLLtex07j9S9dcdBq76DR20Wns\notPYRZfr2CmSIyIiIiIiiaKbHBERERERSRTd5IiIiIiISKLEck2OiIiIVLY77rjDHTdv3hyAPfbY\nA4DvvvuuJH0SkfKhSI6IiIiIiCSKIjkiMbTOOuu440MPPTTUttVWW7njvn37htrq16/vjhcsWFCg\n3omIFI59xrVv396dW2mllQA44IADgHCUR0QkHUVyREREREQkURTJyUHDhg0BOP300wEYP368azvt\ntNMAOProowH4/fffi9y78tKiRQt3/NxzzwHw+OOPA+HZu0pz9tlnA3Dccce5cxtttFG1j0+tGT9i\nxAh33K9fP0ARHREpDyussAIAt9xyCxBEbwA+//xzAL744ovid0xi6/LLL3fH9nfYmDFjALjmmmtc\n27Rp04rbMYkFRXJERERERCRRdJMjIiIiIiKJUmtpar5LDNSqVauor7fcckHW3s477wzAmWeeCcBb\nb73l2vbcc08gnGplrM8PPPAAAMcee6xr+/PPPyP1K8o/TbHHLlctW7YEYNKkSe5c3bp1gWCc/PF9\n4403Ir1OOYzdFlts4Y7POeccALp06QJE63+qVq1aAfDSSy/l9HPlMHZxlevYxX3cLH3o2muvded6\n9OgBQO3atfP2OuVwzTVu3NgdW8qy8T+nmjVrlvVz7rDDDu7Y0kv975xslMPYZatjx44AjB49Ggh/\nd/bu3RuAUaNG5e31kjR2xRaXsevUqZM7vv7664GgAM+SJUtcm71HjzzySADmzp2b975kKy5jV45y\nHTtFckREREREJFFUeAAYPHiwOx4wYAAQ3DUfeOCBOT1Xhw4dALjvvvvcuccee6ymXUyMlVdeGQii\nN76ffvoJgIULFxa1T8XWtGlTICi0ALDhhhuWqjtlzxYnW/R1s802c202M2yzP7Z4GWDvvfcGYM6c\nOUXpZzmyCGP37t3duRgG//PGIlcA22+/PRBcQxbBguCayzQW9h2SzWMguG5zjeSUuyOOOMIdW8EB\nc8opp7jjfEZwJDn8v7XMkCFDAFh11VXdOcvSeeeddwC4/fbbXdu5554LJP9vj6gsam/fA/vtt59r\ns/evfc6dd955ru2SSy4pVherpUiOiIiIiIgkSkVGcjbeeGMgKCnYoEGDah87btw4d/zKK68A8Npr\nrwHBjADADz/8EPq5evXq5aezCbHpppsC4RnhVO+++y4AixcvLkqfSmWbbbYBso/evPnmmwB8/fXX\nAKy55pqubaeddspz78qDRRggyLH2N0k1EydOBGC99dYDgigawLBhw0I/n0Sbb745ALNmzcrp5yxS\n0aZNm7z3KY5snO699153brvttsv763z55ZdA8N0zZcoU12al9JPOrq2jjjoKCM+o2xqc448/Hkjm\nhp9+9O7www8HYNttt63yONsQ2l+7aZHoTz/9tMrje/bsCcDaa69dpa1bt24A3HXXXRF7HV/+Btir\nrbYaAK+++ioAP//8s2uzz/5ddtkFCNbAQfD3iV2Tv/32WwF7XB78teq2tYUfpTH//PMPAPPnzwfC\n/x72d7C1lYIiOSIiIiIikii6yRERERERkUSpmHQ1SxECePTRRwFo2LBhtY+3tCorCQ3w+++/Z/16\nhx12mDu+++67s/65JFl33XXdsRVf+M9//lPlcU899RQQLGBbtGhREXpXOnYd/fHHH+6cv+AZ4MUX\n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\n8Fnp98siaH5p5W+//RYIFuvecssty3yNZSn3a85nn4nPPfccEP7drIS0PSYfM8GlHju7Jv/73/+6\nc1Z8wSKnL7/8smuz8uc2k56uLHw6FvGxQgdbb721a5s7d26kvpd67HJ16623AumjhDbLPm7cuKL0\npRzGzi9cYcWg3n33XSB9wQzjL7q3yMTyyy8PhMtLP//885H6FcexsyIW9l5aaaWVcvp5y6CwiBeE\nN1XNl1zHTpEcERERERFJlESsyalbty4QjuAY21wxKv9u/9JLLwVg3333rfbxtiFh1OhNHFm5aICH\nHnoISB/BMU899VTB+1QqfunYv/76K9Tmz7RYhMVmwiEonZprJMdKOq6//vpAeKbE1uekm1Gy6/XF\nF1+s9vWSKN2apTlz5pSgJ/nhz/Znu44rF7aOJt0Mma2r8/PXJbNzzz0XCMbT//eztUpJyuW3a+OV\nV15x5+yasvWZ/mfezz//DMAdd9yxzOc+6qij3LFFim677TYgevSm3Phlom1cjb/puEUopOb8ksmn\nnnoqEGRq+GX4o0Zy4sjel7Z+db/99nNtmbYueP/99wG4+eabgfh9timSIyIiIiIiiaKbHBERERER\nSZREFB4wjz76KBBeXGyh7Z49e+b0XJb65u9Kv8EGG1T7eHvNJ554IqfXySQui9P88p9WajGdFi1a\nAPDmm28C4VStYivG2Nki4q222qpK2w033ACEFz5uvPHGWfchH29LS9W0hb7Zist1F5UfLrfFk4MG\nDQKCFL5CKUThgUJp2LAhEKQzWjEDCPpl6UKWploo5X7N9enTxx1fddVVQFCkxV90v/vuu+f9tUs9\ndlaMxU9Xa9q0KRCk6G6++eauzb5Hb7/9diD83Wzfu/ad47dZWpy/NUFNlXrssrHrrru645deeinU\nZovpoerO84VWDmNn70EICqbY9eoXrrC0ynTq1KkDBClsVsYbgu0Lck0VLIex81/Pxsr+tvvoo49c\nmxWaeuyxx4rSLxUeEBERERGRipaIwgPm9ddfB4IN1yBYJObPJPklViHYAAqCWXnbrG211VZzbXYH\nOW/ePCC8AVk+IzhxYZudZlt21zbbKmUEp5hee+01IH0kxy/HW51ffvnFHVtZciuT6hfROO2004Bg\ndnTbbbeN2ONkspm13r17A0EhEghm34pVVrWcWKltP4IjgcaNGwNByXb/e8OOd9hhByCI3kAw82v8\nMt9JZMVY/LLGVnzByuuny4KwTRX9jQVXXHFFIIjAHnTQQa7Nz6qoBLb9gBUz8n333Xc7qPpmAAAg\nAElEQVQADB48uJhdKjv+3yK2FUPt2rWBIJK9LLbpt12b/sbmH3/8cV76GUdW8AigUaNGoTZ/a4Ji\nRXCiUiRHREREREQSJVGRHCvP6W9KZjnlfi50y5Ytl/lcqZvhAUycOBGAKVOmAMF6n6SyaIRFENL5\n6aef3LHNkFSK/v37A0Fp52zL+7733nsAXHjhhe5canTRn/21ko7rrbceEI5U9u3bN/Rz/iZmSZ5l\n8jdltVx9K3P5xRdfuLYDDjgAyJxzXamsDHy6XG+LgL399ttF7VOp+fn2dj1ZhNDW4EGwBsffADjV\nvffeC0C/fv3y3s84so0/Adq1awcEGyj6ZXdt00o758+o29qvsWPHAuHoTWrJ/qRr0qQJAPvss0+V\nNtvkeNq0acXsUlmz79S99toLCG/FcPrppwMwadIkINhgHuDGG28MnfOzApKcteJHb2xbkEWLFgHw\nwAMPlKRPUSiSIyIiIiIiiaKbHBERERERSZRElZA2fqjRwt277LKLO5fNr2wl8qZPn+7O+Qsri6HU\nZQanTp0KZE7v8xc+2mLTOCjm2FnpTithXh1r79SpEwB//vlnpNfLpFWrVu7Y/v1yVerrLhNLnbzn\nnnvcuW222Sb0GD9d1V8gWQxxLyHtl1S1YimtW7eu8rj//e9/AAwfPrwo/YrLNXfllVe640xpZplK\nvX/zzTdAkBZT6GswLmNXjuI8dj169ACCneQBRo4cCQSp0osXLy5KX9KJ89ilU69ePQAefvhhAPbc\nc0/XZovsrRT02muv7drWWGMNIEjh9beFsNTzXMV57Gwshg0b5s5ZOt+pp54KwLXXXluUvqSjEtIi\nIiIiIlLRElV4wNjiKAg2ExsyZIg75y/chmARHwQLHpc1K18JbMGdvxjXyiXbAr105S0rzeOPPw7E\no/BC1OhNHFnJTgjexwMHDgSC8r4Av/32GwBdunQBkl1woab8GbjUCI4VbgG4//77i9anJHj22Wfd\nsZV8L3YUUZLhpptuAoJtBXz290kpIzjlav78+UBQIKht27auzYoQpNsOwrJ5bBPaqNGbcmERRIve\nQLDBtr/hb7lQJEdERERERBJFNzkiIiIiIpIoiSw8kBRxXpwWdxq76Eoxdv5eGV27dgWCxbUQ7BG0\nYMECIJwe5O/BUWpxLzxwxRVXuGPr6+zZswG49dZbXduSJUuK2q+4vF8t5RHC+2iksrRQ29/KTwMs\nREGRTOIyduUoLmNnxWgAbr/9dgDq1KkDhPcfsiJAcdgzKC5jV47iPHYPPvggEC6w0KFDByDYK7KU\nVHhAREREREQqmiI5MRbnu/2409hFV4qxa9asmTu2Mqnff/+9O2c7p/ft2xeAX375xbXNmzevRq+d\nT3GP5MSV3q/RaeyiK/XYbbDBBkC4WMpyy4XrQR1++OHueNy4cXl77Zoq9diVsziPnRUZePrpp905\n/xosNUVyRERERESkoimSE2NxvtuPO41ddBq76BTJiUbXXHQau+hKPXZNmjQBYM6cOe6clYm2dYcW\n2Qb4559/8vbaNVXqsStnGrvoFMkREREREZGKppscERERERFJFKWrxZhCmtFp7KLT2EWndLVodM1F\np7GLTmMXncYuOo1ddEpXExERERGRihbLSI6IiIiIiEhUiuSIiIiIiEii6CZHREREREQSRTc5IiIi\nIiKSKLrJERERERGRRNFNjoiIiIiIJIpuckREREREJFF0kyMiIiIiIomimxwREREREUkU3eSIiIiI\niEii6CZHREREREQSRTc5IiIiIiKSKLrJERERERGRRFmu1B1Ip1atWqXuQiwsXbo055/R2P1LYxed\nxi66XMdO4/YvXXPRaeyi09hFp7GLTmMXXa5jp0iOiIiIiIgkim5yREREREQkUXSTIyIiIiIiiaKb\nHBERERERSZRYFh4QERERMauvvjoATz75JABvvfWWa+vZs2dJ+iQi8aZIjoiIiIiIJIoiOSIiIhI7\ne+21lzsePXo0AGuttRYA55xzTkn6JCLlQ5EcERERERFJFEVycjBixAgATjnlFAD++eefah972mmn\nueO77roLgPnz5xewdxInK6+8MgCtWrWq0rblllsC4evnww8/BODzzz8H4P333y90F8tSly5dAGjf\nvr079+qrr4Yec+WVV7rjP//8szgdE5G8sQjOI4884s6tuuqqAEyZMgWA6dOnF79jIlJWFMkRERER\nEZFE0U2OiIiIiIgkSq2lS5cuLXUnUtWqVaugz9+3b18AOnfuDEDXrl1dm6ULpdOnTx8Arr/+egAy\nDZ3/O9hzXnrppe7cyJEjl9nPKP80hR67QrBxvfHGGwEYNWqUazv22GMjPWcpxq5JkybueODAgQD0\n6tUrp+eYO3cuAHfffbc7d/7559eoX7mKy3VnC4whSFvZfvvtAVh++eWr7cPTTz/tzh1xxBEALFq0\nKO/9SyfXsYs6bvXq1QPCaY1nnnkmEL52ykVcrrls2bV5ySWXALDKKqu4Nnu/zpo1qyh9Kbexy2Tb\nbbcFYNq0aQCsuOKKru2XX34BYLPNNgPgxx9/rPHrJWnsik1jF53GLrpcx06RHBERERERSZTEFx6w\nqM1BBx3kzu2+++4ArLTSSgAcfPDBru26666r9rluuukmAD777DMAevfu7doefvhhAK6++moAGjRo\n4No22GADAC677DJ37ptvvgHgsccey+XXSQz7dwG45pprgGAhfrpZ+jjbY489ABg7dqw7ZzPtudpw\nww2BcHTx77//BoJZ4xgGXwvihhtucMc777xz1j+39957u+P7778fCMYzKcU//vvf/wKw9tprl7gn\nleP//i+YEzz66KMB6NGjR5XH7bbbbgC0bdsWCIqKACxZsqSQXSxL/nelfcdaBMc++wD69+8P5CeC\nI8lWt25dIIgM+uyz096nAFtssQUQRPz9LII11lgDgMcffxyAq666yrXNnj07n92OrYYNGwLQoUMH\nAPr16+fabOzMK6+84o4to+XFF18sdBerpUiOiIiIiIgkSiLX5DRq1MgdT5o0CYBtttmmyuN++OEH\nAPbbbz937u233876dfzywFOnTg2dO+mkk1zb4YcfXuVn7fFt2rSp9vmTmLfZrFkzIMi5BqhduzYQ\nzLp369bNtf3111+RXqeYY/fcc88BQYQQgvzxbNdH2HWz3XbbAen7f+qppwKZo435EJfr7qmnnnLH\n9j75/fffgfD7y64lW5+Srv9NmzYF4KOPPsp7P33FWpNj0c7nn3/enfviiy8A6NixY6TnLKW4XHOZ\n+NecRZ8tMvPkk0+6tgMPPDD0cw888IA7/vbbb0Nttr7Tb1u4cGFO/SqHsUvHIjiW/QBwzDHHhB7j\nt/nbMuRLXMbOz2zYc889AZg5c2aVx9ksuf++L5Vijp39jbDLLru4czvttBMQbCsAQQRnhRVWAIL1\nW+n4WzgsXrx4mX2wSK6ffWOftbmORVyuu0yvY1EbCLIq/KhrNmwLh5YtWwIwY8aMGvdPa3JERERE\nRKSi6SZHREREREQSJVHpalbC1xaIQbDILJ3bbrsNCBcQKARLkdlkk02qtC23XPW1H+Ic0szVOuus\n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\nK60EBN/R/j4whVCuY2d9OPbYY90524vOCoosXrzYtdk5e//7n3epez5lK85jd8ghhwDp0x3POuss\nICg6UwoqPCAiIiIiIhVNkZwYi/Pdftxp7KLT2EWX1EhOoemai05jF125jt1JJ50EBIUvIIg0nHrq\nqQDceOONBe1DuY5dOjvuuCMAF198MQD7779/lcdcddVVAJx++uk1fr04j52V2vYLDyxZsgSAFi1a\nhP6/FBTJERERERGRiqZITozF+W4/7jR20WnsolMkJxpdc9Fp7KIr17GzdbK2/gbgjDPOAIL1JYVW\nrmMXBxq76BTJERERERGRiqabHBERERERSRSlq8WYQprRaeyi09hFp3S1aHTNRaexi05jF53GLjqN\nXXRKVxMRERERkYoWy0iOiIiIiIhIVIrkiIiIiIhIougmR0REREREEkU3OSIiIiIikii6yRERERER\nkUTRTY6IiIiIiCSKbnJERERERCRRdJMjIiIiIiKJopscERERERFJFN3kiIiIiIhIougmR0RERERE\nEkU3OSIiIiIikii6yRERERERkURZrtQdSKdWrVql7kIsLF26NOef0dj9S2MXncYuulzHTuP2L11z\n0WnsotPYRaexi05jF12uY6dIjoiIiIiIJIpuckREREREJFF0kyMiIiIiIomimxwREREREUkU3eSI\niIiIiEii6CZHREREREQSJZYlpEVERCT5Wrdu7Y67desGwDHHHAOkLxc7efLk0GMBvv7668J1UETK\nliI5IiIiIiKSKIrkSMhBBx3kjpcsWQLAxIkTIz1X/fr13fG8efMAGD9+PACHHHJI1C6WveWW+/dt\n589g2nj88ssvADRu3Ni12YylzVYOHjzYtd10000F7WspDRs2zB0fccQRAGyyySZAeGO0Z555BoDR\no0eH/gvw559/FryfUrkuuOACAPbYYw93bsqUKQCcf/751f7c888/D8CFF15Y5VzSrbrqqgAMGTIE\ngF69erm2uXPnAjBgwAAAHnroIde2ePFiANq0aQPAzz//XPjOikhZUyRHREREREQSRTc5IiIiIiKS\nKLWWplvZV2J+Kkoli/JPU9Oxs1QC36+//hrpuXbYYQd3PH36dCBIV2vXrl2k58xWKcYuW5aGZSkZ\n6fqQbf/vvvtuAI477rg89a70Y9eqVSsAJk2a5M5dccUVACxatAiAjTfe2LU1b94cgKZNmwLw8ccf\nu7ajjjoKgJkzZ+atf5nkOnbl/Fm3xhprANC/f3937owzzqjyuNq1ay/zuUp9zYLDspsAACAASURB\nVKWz5557hv6bKf0sKj9FzU9fzUUcxy5V3bp13fHVV18NwLHHHgvAyJEjXds555wDRP/OyVU5jF1c\nxXnsNt10UyD82dSnT59QH3744QfXtvXWWwPw3XffAbDuuuu6tq+++irv/Yvz2MVdrmOnSI6IiIiI\niCSKCg9Uw2ae/Dt6u9tv27YtEMwuA/zzzz8AHHzwwQCsssoqrm355ZcH4J577nHnZs2aVYhu11g+\nZtBsYf3AgQNr/FzlzhbFQxBpaNiwIQALFixwbX/88QcQFBLwZyveeecdILj+Onbs6Nq6dOkCBNeW\n/3rlyt57L7/8sjt37rnnVvt4e39Z2dnLL7/ctY0ZMwYIZuMrodTsWmut5Y7bt28PBGV3P/roo7w9\n/7hx4wDYcccdXZtdt6+88kqNX6cUnnvuOXds10w+WeTGihNUSrEB/7ugZ8+eAJx44okA3HjjjSXp\nkyRP7969gaAgyJprruna7LNp9uzZAKy88squ7dJLLwVg7bXXBqBFixauzQovWVaAlBdFckRERET+\nX3t3Hm/VvP9x/GUooUwVwpWhm1RUhAy/yy0qiqubKESUHkSESHENDTeZ5yhKuiQlUtJw5VIRSqRI\ng6kQUjKFwu8Pj893ffc565zOWWcPa6/9fv7Taq299/n2be29z1qfz/fzEZFE0ZqcIizXv1+/fgCc\nf/75aXttu/MJ0KFDBwA2bdpU4uPzNW/zmGOOAcLvUhbamhwrww3w1VdfATBq1CgA7rvvPnds1apV\nFXr9lStXAnDnnXe6Y3fffXek14zL3EVld4ghyP+fMGECkPm7cXFYk3P44Ye7bYuGWWlyP5rcq1ev\nSK9v5c2nTp0KQP369d2xjRs3AkEECYL3fGlyfc6V9+f7pZ8h9bMu29GZXM9daRo3bgzAW2+95fbN\nmDEDgFatWmVlDKWJ89zFXa7nzrJsRo4c6fZZ9NW+F4cNG+aOPf300wAsWLAASP1+tPVhYa6//nog\ntXVDReVi7vzPZFufZOXYIVijNGvWrGLPfeONN4AgM+Ljjz+u0FgqQmtyRERERESkoOkiR0RERERE\nEqWgCw9sueWf13h+Z/XOnTsDqYt3SzJz5ky3XatWLQDWrl0LpHas33fffYHUFK1GjRoBMH/+/Ehj\nl3jr1KlTsX0XXXQRAM8++2zafo6VXB0wYACQmkYzefJkAFasWJG2n5cP7r//frc9cOBAAOrVq5er\n4WSNLbI99thjix3baaedgKA4A0RPV2vZsiWQmqZmNmzYAJQtRS3f+O8tW9gspWvfvj0QfC8C9O3b\nN1fDkTy34447um0ryGOfbQCffPIJAGeffTYAc+bMKfYa1m7Bivb41q9fD0D//v3dPkt5znf+d6Cf\npmamT58OwM8//wzAYYcd5o5ZQS37PcOfu/Hjx6d/sGmkSI6IiIiIiCRKQUdybBFyWFNGY6VXIViY\nZY0trdwvwA477AAEzQoPOOAAd2zKlClAUJ4QgvLTURvASbyNGTMGCO42ASxatCjtP8ca6XXp0gUI\nmqABNGnSBCi8SI5v3rx5QDAvflNCizokhZUYHzx4cLFj9tnVpk2bSK/tl4m+4447Snxcks+1sAiZ\nhNt7772B4HPJv9vrFyFIGssO8SMOcbdu3bpcD6HMrD0FhM+xRXIWLlxY4mtYMSn/tax1ximnnALA\n7NmzKz7YmPHL41vBK38O7PfZsOiXFcoaO3YskBrVViRHREREREQki3SRIyIiIiIiiVIw6Wp169Z1\n23369AGCULrPQrdWU9zvum5d6cOsWbMm5e8777yz2/bT1EzYz5bkyUSKms/6Afz6669AtPr7SeOn\nMTRo0ACA4cOHA8lLUTv44IPdds+ePUt83IcffghETxW6/PLL3bal5oYZMWJEpNePM+t7U7Q3jpTs\nkksuAYICPNajJKksPd2KC/nFjOLOUuzywQ8//OC2b7jhBgCOOuoot69FixZA0HcuLG3N+vj5aXpt\n27YFUn/fSxo/Dc2WUFh6HsBjjz0GBAWSrK8fQI8ePVJea9q0aW67SpUqQFCwIG7y5+wWEREREREp\ng8RHcqxkql2pQ2rnV4DvvvvObd97771A0EG+tOhNGLsrUrt2bbdv9erVAHzxxRdu33777QcEC+UK\nhS0El/Q488wzATjwwAOB1EhOec/dfGelRB955BG3r1KlSgDcd999ORlTulmEuHXr1gAMHTrUHata\ntWqxx1t3744dO0b6eVY6NKw7vZ1ft956q9v3wgsvRPo5cabiMOVnLRW+/PJLAGbMmJHL4WScldvN\npwhOPvK/06w9gM8+H62EtP8Y+3y078hBgwa5Y0mO4ITp168fEBQngqDVydSpUwH49ttv3TG/TDek\n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\n1a1bF4Bu3boBqW0abBHzq6++CsADDzzgjj377LNAavGQQtW4cWMgKKsN4d8dhcovPW6scIX9Hte6\ndWt3zH4HrFSpUrHnDxo0KGPjzFd+cSn7nLT3rqXxA/z888/ZHVgIRXJERERERCRRtvgjhpf9FS3Z\nt/vuu7vt7bffvthxi/jYnfW4ivJfk61yh9WrVwdg/Pjxbt/f/vY3AGbNmgXktiRqNubOGsfa3UZr\nNubz7wJZNMJfhFsWNWvWTPnTl4nFt3E877bZZhsgiJ75c92wYUMAdtttNyAo0ACwYMECAJ588kkg\n84uVyzt32S5P6jfH+/LLL4Fgbv2xd+jQAUgt/pBJcTzniiqt8IA1E/WFFRIIK19dUfkwd3GVb3Nn\nn3vjxo0DSi8e4meojB07Fkhv2e04z129evWA1Ei0fT+UFvF65513ALj00kvdPotqp1Oc564sLr74\nYrd97733AsH3iX0fQ9kLBJVHeedOkRwREREREUkUXeSIiIiIiEiiJDJdLSnyPaSZS5q76DR30cU9\nXc1nPYSswIM/duvT9MMPP2RlLDrnotPcRZdvc2fFGqz/kG/Dhg1AsMD+vvvuc8es8Eo65cPc+Wml\n1s/OilH541+4cCEAPXv2BDKToubLh7krTVi62rp164DUwj+rV69O+89WupqIiIiIiBQ0RXJiLN+v\n9nNJcxed5i66fIrkxInOueg0d9Hl29zVr18fCKKwPmt3MWbMmKyMJd/mLk7yfe7CIjnGzlGAJUuW\npP1nK5IjIiIiIiIFLRHNQEVERESSzErgZ7oUvkhprE0IBGWirU2DNeyOC0VyREREREQkUXSRIyIi\nIiIiiaLCAzGW74vTcklzF53mLjoVHohG51x0mrvoNHfRae6i09xFp8IDIiIiIiJS0GIZyRERERER\nEYlKkRwREREREUkUXeSIiIiIiEii6CJHREREREQSRRc5IiIiIiKSKLrIERERERGRRNFFjoiIiIiI\nJIouckREREREJFF0kSMiIiIiIomiixwREREREUkUXeSIiIiIiEii6CJHREREREQSRRc5IiIiIiKS\nKFvnegBhtthii1wPIRb++OOPcj9Hc/cnzV10mrvoyjt3mrc/6ZyLTnMXneYuOs1ddJq76Mo7d4rk\niIiIiIhIougiR0REREREEkUXOSIiIiIikii6yBERERERkUTRRY6IiIiIiCRKLKuriYiISDI0bdrU\n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\nRIDly5e77ebNmwOpC7krascddyy2zyI5EydOTNvPyXd+M157D/ttCwpNzZo1geB89ZvLXnTRRSmP\n9RsSWgTHzjH/O3blypWZGWwemjVrFhD+OW6f8YUY+Z8+fToATZo0AVIjXdZA2b4T7HsDUkvAS8ms\nkM3AgQPdPssSmDRpEgDdunVzx3777bcsji6cIjkiIiIiIpIoBRnJqSjLta5atarbV9GSfElQtLTx\nCSec4LYfffTRLI8mt6xZlt09CuNHI55//nkgaOi2ePHiSD/3gAMOcNu2FqBBgwZuX+/evQG46667\nIr1+rthaN/8uUVEff/wxkBrJSQK/6aHdobQ73v76m3RGcKxkt+W0+6VVbZ1EvkUDs8U+B/v37w9A\nrVq13LF0/h/FhZXM9iNXp5xyChDcSS9tLdkPP/zgtu+44w4gWLeYj2Xe082P3lqTVHvv+e/Bb7/9\nFkgtk18Ibr75Zrdta2qsXHS+fc/Fnf0+U61atWLHLLoTh+iNT5EcERERERFJFF3kiIiIiIhIohRk\nupoVDigvW3R13nnnAakLyV999dWKD0zyml8a9dlnnwVSUxqLsscAXHDBBSnH/LKM1iHcUpXq16/v\njrVr1y7leX4Y2S89bKygQVzC+NYl+fPPP6/wax133HHF9iWhpLtfPMHSgDKta9euAGy99Z9fEX4J\naiswYmkilpYFSi8K43/fWFpqkthnyTXXXOP2Wen80tLUij4fUguuyJ+aNWvmtv05hiBFDYICM599\n9ll2BpZjHTp0AFLLRFvp6AcffHCzz/cLYHz99dcAfPTRR+kcYl7zC4Lcc889QHCO+d8HVoAmXa1Z\n0k2RHBERERERSZSCjuQcffTRAMyZM6fEx/p3xu+8804guLvpl43WItzCZdGa5557zu3zm4CWxC+P\n2qZNm5RjlStXLrZd3kaYYR555JEKv0ZU9r6BIHI1dOjQSK/lN1K1u78XXnghkFoiPol3znPtyCOP\nBIK7n/4dP4GDDjoICEr4Jv0c/Oqrr4DUz7Pzzz8fCMppf/rpp+6Yldu2krONGjXKxjDz1i233FLi\nsfXr17vtl19+ORvDyaltttnGbdt3pl/w6MYbb9zsa9h552dZWCl+vyR/obJCF1YECaB79+4pj1m1\napXbvummmwD49ddfszC68lMkR0REREREEqVgIjmjR49225dddhkQRGb8RmVLliwBgvU3dtUPsNtu\nuwHBXao33ngjgyPOP/5dlkJi5XXLEr3x+dGIbHnppZey/jONv+6oT58+QNDUbnOOOuqolD/98uR+\niV6AHj16uO24lbNMArt7bHdN/bvJhWKXXXYBgnV4fsNdWydXlrvKSWD5+c8884zb528XVbdu3ZS/\n165dOzMDS4jq1avnegix4ZfTt/Veffv2LfHxfiZO27ZtgWDtph95eOKJJ9I5zLzhR7OsHYGt/bVM\nJ5+VwPczTxYtWpTJIVaYIjkiIiIiIpIousgREREREZFEKZh0Nb+rsnVtHTFiBADvvvuuO2Zd0/fZ\nZx8gdbG0pR+MGjUqgyPNX0XLGRdKqpCFvefPn+/2HXrooVkdg5XM/O6774od8xeu+iVHs8UKJvjj\nsH3pLDtpr//YY4+l7TWluH79+gHw9ttv53gk6de4cWO3XTSd9KSTTnLb1kbAUonmzZvnjvXs2RPI\nbZGPOLOUl5UrV+Z4JPFmv2/Y7yK+Dz/8EICOHTu6fV26dAFg/PjxQOrvPEnht08wYQUXGjZsCKSm\njJ566qkpj7GUaYDbb789TSPMD3ZOXXfddW6ffaaFsSIzt912GxD/FDWfIjkiIiIiIpIoBRPJ8Vmp\n35YtWwKpC9datGgBBA2O/DsBixcvBlIbIUnAyoRaecGxY8fmcjhZYw0nmzdv7vbNnDkTKHtExxq4\nWVnyfffd1x074ogjAHjyySeB1JKZFgmxMq5xPDe33PLPeynpKIFt/KZtFrkZOHAgUDgRxGz6/vvv\n3Xa+Nj62IgFW8tRKPfusiAgE7+EwvXr1AoLy0P786Pwrnc3V3nvvneORxJM1f+7cuTMQ3p5iwYIF\nQGr5drsrP2PGDCCZkZwwfuuG1atXA7DXXnsBqdHYyZMnA0ET47lz52ZriLFg/24IimeVVtTiyy+/\ndNv2u3I+RXCMIjkiIiIiIpIousgREREREZFE2eKPGOa3+CkDhSzKf43m7k+au+jSPXeWUmELYwFa\nt24NBOl8thgZgr43b775pttnKQnWRd5f6B2nTsvlnTudc3/S+zU6zV10cZw7WxS+bNmyEh9jKcB+\n2m6dOnUyOq6icjF3fq+1sH9v7969gSCN9IUXXnDHhg8fDsCmTZsqNIZ0yMXcWYojwMEHH1zs+E8/\n/QQEafF33323OxanNLXyzp0iOSIiIiIikiiK5MRYHO8y5QvNXXSau+gUyYlG51x0mrvo4jh3VnjA\nCszUrl272GMskjNlyhS37+STT87ouIqK49zli1zMXd26dd22tZyYPn262zdhwgQAli5dWqGfk2mK\n5IiIiIiISEFTJCfGdKckOs1ddJq76BTJiUbnXHSau+jiPHc33HADkNqw0XTr1g2AqVOnun1+yd9s\niPPcxZ3mLjpFckREREREpKDpIkdERERERBJF6WoxppBmdJq76DR30SldLRqdc9Fp7qLT3EWnuYtO\ncxed0tVERERERKSgxTKSIyIiIiIiEpUiOSIiIiIikii6yBERERERkUTRRY6IiIiIiCSKLnJERERE\nRCRRdJEjIiIiIiKJooscERERERFJFF3kiIiIiIhIougiR0REREREEkUXOSIiIiIikii6yBERERER\nkUTRRY6IiIiIiCSKLnJERERERCRRdJEjIiIiIiKJooscERERERFJFF3kiIiIiIhIougiR0RERERE\nEkUXOSIiIiIikii6yBERERERkUTRRY6IiIiIiCSKLnJERERERCRRdJEjIiIiIiKJooscERERERFJ\nFF3kiIiIiIhIougiR0REREREEkUXOSIiIiIikii6yBERERERkUTRRY6IiIiIiCSKLnJERERERCRR\ndJEjIiIiIiKJooscERERERFJFF3kiIiIiIhIougiR0REREREEkUXOSIiIiIikij/D7OmfK+f1AWI\nAAAAAElFTkSuQmCC\n",
"<matplotlib.figure.Figure at 0x7f614fccc198>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# takes 5-10 seconds to execute this\n",
"show_MNIST(train_lbl, train_img)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAzkAAAKqCAYAAAAZl5BAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XeYE9X3x/E3vYiggPSmIKBgb4A0EZEiYAELdrGAIhYU\nxAYi2BUbFkTBiiBYsGDhJ4oNRAW7giiKoEiR3iG/P/yemZvd7G6Sze4ks5/X8/gwziSTy2VS5p5z\nzy0WiUQiiIiIiIiIhETxoBsgIiIiIiKSSrrJERERERGRUNFNjoiIiIiIhIpuckREREREJFR0kyMi\nIiIiIqGimxwREREREQkV3eSIiIiIiEio6CZHRERERERCRTc5IiIiIiISKrrJERERERGRUNFNjmPr\n1q0MGTKEWrVqUa5cOY466ijee++9oJuV9jZs2MCwYcPo3LkzlStXplixYkyYMCHoZmWEuXPnMmDA\nAJo1a8Zuu+1GvXr1OPXUU1mwYEHQTUtr33//Pb1792afffahfPnyVK1albZt2/L6668H3bSMNGrU\nKIoVK0bz5s2Dbkpa++CDDyhWrFjM/2bPnh108zLCV199RY8ePahcuTLly5enefPmPPjgg0E3K62d\nd955OV53xYoVY+nSpUE3MW0tXLiQ008/nTp16lC+fHmaNm3KiBEj2LRpU9BNS3tffvklnTt3pmLF\niuy+++506tSJ+fPnB92shJQMugHp5LzzzmPKlClceeWV7LvvvkyYMIGuXbsyc+ZMWrduHXTz0tbK\nlSsZMWIE9erV46CDDuKDDz4IukkZ48477+STTz6hd+/eHHjggfz99988/PDDHHroocyePVs/OnPw\n+++/s379es4991xq1arFpk2bmDp1Kj169ODxxx/n4osvDrqJGePPP//ktttuY7fddgu6KRlj4MCB\nHHHEEVH7GjVqFFBrMse7775L9+7dOeSQQ7jpppuoUKECixYt4s8//wy6aWntkksuoWPHjlH7IpEI\n/fr1o0GDBtSuXTuglqW3JUuWcOSRR1KpUiUGDBhA5cqV+eyzzxg2bBhffvklr732WtBNTFtfffUV\nrVu3pm7dugwbNoxdu3bxyCOP0K5dOz7//HOaNGkSdBPjE5FIJBKJzJkzJwJE7r77bm/f5s2bIw0b\nNoy0bNkywJalvy1btkT++uuvSCQSicydOzcCRMaPHx9sozLEJ598Etm6dWvUvgULFkTKlCkTOfPM\nMwNqVWbasWNH5KCDDoo0adIk6KZklNNOOy3SoUOHSLt27SLNmjULujlpbebMmREg8tJLLwXdlIyz\ndu3aSPXq1SMnnXRSZOfOnUE3J+N99NFHESAyatSooJuStkaNGhUBIt99913U/nPOOScCRFavXh1Q\ny9Jf165dI3vuuWdk5cqV3r5ly5ZFKlSoEDn55JMDbFlilK72P1OmTKFEiRJRI8Bly5alb9++fPbZ\nZyxZsiTA1qW3MmXKUKNGjaCbkZFatWpF6dKlo/btu+++NGvWjB9//DGgVmWmEiVKULduXdasWRN0\nUzLGrFmzmDJlCvfff3/QTck469evZ8eOHUE3I2O88MILLF++nFGjRlG8eHE2btzIrl27gm5Wxnrh\nhRcoVqwYffr0CbopaWvdunUAVK9ePWp/zZo1KV68eLbvXvF99NFHdOzYkSpVqnj7atasSbt27Xjj\njTfYsGFDgK2Ln25y/mfevHk0btyYihUrRu0/8sgjATIuD1EyVyQSYfny5VStWjXopqS9jRs3snLl\nShYtWsTo0aOZPn06xx57bNDNygg7d+7k8ssv58ILL+SAAw4IujkZ5fzzz6dixYqULVuWY445hi++\n+CLoJqW9GTNmULFiRZYuXUqTJk2oUKECFStWpH///mzZsiXo5mWU7du3M3nyZFq1akWDBg2Cbk7a\nat++PQB9+/Zl/vz5LFmyhEmTJvHoo48ycOBApejmYuvWrZQrVy7b/vLly7Nt2za+++67AFqVOM3J\n+Z+//vqLmjVrZttv+5YtW1bYTZIi6vnnn2fp0qWMGDEi6KakvUGDBvH4448DULx4cU4++WQefvjh\ngFuVGR577DF+//13ZsyYEXRTMkbp0qU55ZRT6Nq1K1WrVuWHH37gnnvuoU2bNnz66acccsghQTcx\nbS1cuJAdO3bQs2dP+vbty+23384HH3zAQw89xJo1a5g4cWLQTcwY77zzDqtWreLMM88MuilprXPn\nztx6663cdtttTJs2zdt/ww03MHLkyABblv6aNGnC7Nmz2blzJyVKlABg27ZtzJkzByBjil3oJud/\nNm/eTJkyZbLtL1u2rHdcpKD99NNPXHbZZbRs2ZJzzz036OakvSuvvJJevXqxbNkyJk+ezM6dO9m2\nbVvQzUp7q1at4uabb+amm25ir732Cro5GaNVq1a0atXK+/8ePXrQq1cvDjzwQIYOHcrbb78dYOvS\n24YNG9i0aRP9+vXzqqmdfPLJbNu2jccff5wRI0aw7777BtzKzPDCCy9QqlQpTj311KCbkvYaNGhA\n27ZtOeWUU6hSpQpvvvkmt912GzVq1GDAgAFBNy9tXXrppfTv35++ffsyePBgdu3axciRI/nrr7+A\nzPlNrHS1/ylXrhxbt27Ntt/C6LHCdiKp9Pfff9OtWzcqVarkzRGT3DVt2pSOHTtyzjnneHnC3bt3\nJxKJBN20tHbjjTdSuXJlLr/88qCbkvEaNWpEz549mTlzJjt37gy6OWnLvkPPOOOMqP02p+Szzz4r\n9DZlog0bNvDaa69x/PHHR82XkOxefPFFLr74YsaNG8dFF13EySefzJNPPsm5557LkCFDWLVqVdBN\nTFv9+vXj+uuv54UXXqBZs2YccMABLFq0iMGDBwNQoUKFgFsYH93k/E/NmjW9O1SX7atVq1ZhN0mK\nkLVr19KlSxfWrFnD22+/restSb169WLu3LlaZygXCxcuZOzYsQwcOJBly5axePFiFi9ezJYtW9i+\nfTuLFy9m9erVQTczo9StW5dt27axcePGoJuStuwzLesk8GrVqgHw77//FnqbMtGrr77Kpk2blKoW\nh0ceeYRDDjmEOnXqRO3v0aMHmzZtYt68eQG1LDOMGjWK5cuX89FHH/HNN98wd+5cr1hI48aNA25d\nfHST8z8HH3wwCxYs8KpxGMs/PPjgg4NolhQBW7ZsoXv37ixYsIA33niD/fffP+gmZSwLoa9duzbg\nlqSvpUuXsmvXLgYOHMjee+/t/TdnzhwWLFjA3nvvrflgCfr1118pW7ZsxoxuBuGwww4Dsufy23xX\npU3G5/nnn6dChQr06NEj6KakveXLl8eMrm7fvh1A1RHjsOeee9K6dWuvOM2MGTOoU6cOTZs2Dbhl\n8dFNzv/06tWLnTt3MnbsWG/f1q1bGT9+PEcddRR169YNsHUSVjt37uS0007js88+46WXXqJly5ZB\nNykj/PPPP9n2bd++nWeeeYZy5crpRjEXzZs355VXXsn2X7NmzahXrx6vvPIKffv2DbqZaWnFihXZ\n9n399ddMmzaNTp06Uby4vlJzYvNHnnzyyaj948aNo2TJkl4lLMnZihUrmDFjBieddBLly5cPujlp\nr3HjxsybNy9bZH/ixIkUL16cAw88MKCWZaZJkyYxd+5crrzyyoz5rFPhgf856qij6N27N0OHDuWf\nf/6hUaNGPP300yxevDjbh7Jk9/DDD7NmzRpvVO7111/3VrG+/PLLqVSpUpDNS1uDBg1i2rRpdO/e\nndWrV/Pcc89FHT/rrLMCall6u+SSS1i3bh1t27aldu3a/P333zz//PP89NNP3HvvvRpRz0XVqlU5\n8cQTs+23tXJiHZP/nHbaaZQrV45WrVpRrVo1fvjhB8aOHUv58uW54447gm5eWjvkkEO44IILeOqp\np9ixYwft2rXjgw8+4KWXXmLo0KFK0Y3DpEmT2LFjh1LV4nTttdcyffp02rRpw4ABA6hSpQpvvPEG\n06dP58ILL9Q1l4tZs2YxYsQIOnXqRJUqVZg9ezbjx4+nc+fOXHHFFUE3L35Br0aaTjZv3hy55ppr\nIjVq1IiUKVMmcsQRR0TefvvtoJuVEerXrx8BYv7322+/Bd28tNWuXbsc+01vz5xNnDgx0rFjx0j1\n6tUjJUuWjOy5556Rjh07Rl577bWgm5ax2rVrF2nWrFnQzUhrDzzwQOTII4+MVK5cOVKyZMlIzZo1\nI2eddVZk4cKFQTctI2zbti0yfPjwSP369SOlSpWKNGrUKDJ69Oigm5UxWrRoEalWrVpkx44dQTcl\nY8yZMyfSpUuXSI0aNSKlSpWKNG7cODJq1KjI9u3bg25aWvvll18inTp1ilStWjVSpkyZSNOmTSO3\n3357ZOvWrUE3LSHFIhGVIRIRERERkfDIjKQ6ERERERGROOkmR0REREREQkU3OSIiIiIiEiq6yRER\nERERkVDRTY6IiIiIiISKbnJERERERCRUdJMjIiIiIiKhUjLoBsRSrFixoJuQFpJZwkh99x/1XfLU\nd8lLtO/Ub//RNZc89V3y1HfJU98lT32XvET7TpEcEREREREJFd3kiIiIiIhIqOgmR0REREREQkU3\nOSIiIiIiEippWXhAREREipbWrVsD8M477wBQsqT/E6Vly5YAfPXVV4XfMBHJSIrkiIiIiIhIqBSL\nJFPLroCpVN5/VGYweenSd40aNfK2jznmmKhjhx12mLd98cUXR7XBbf+6desAuPbaawGYOHGid2zD\nhg0pbnH69F0mUgnp5OiaS16m912dOnW87Q8++ACAffbZB4CNGzd6x3bfffeUv3am912Q1HfJU98l\nTyWkRURERESkSNOcHEmZBg0aAPDhhx8CUK9ePe/Y1VdfDcDo0aMLvV2FxY3a9O3bF4DevXt7+/be\ne+8cn2ujE7FGKWwE87HHHgPg0EMP9Y71798/Hy0WEQmGRbZfeuklb1/lypUBWL58OQBPP/104TdM\nREJDkRwREREREQkV3eSIiIiIiEioKF0tD8WL+/eBNkGyX79+2R539tlnA/5E8A4dOnjH/vrrr4Js\nYtrYd999Ab+fdu3a5R07+uijgXCnqz333HPe9hFHHFFgr9OlSxdv++CDDwZg/vz5BfZ6Qalataq3\nfdFFFwFQpkwZAG666SbvmL1HP/30UwDeeOMN79jYsWMBWLVqVcE2NmQs5fSVV14B4P777w+yORIi\nlqY2efJkwE9Rc912220APPTQQ4XXMAmd6tWre9vDhg0DoFevXkD094tN6j///PMBmDBhQiG1UAqa\nIjkiIiIiIhIqiuRkUaFCBcCf7H3iiSd6x8aMGRP3eWbMmOFtd+zYEQh/RMdKHBc1VmTg8MMPL5TX\nq1u3rrdtxQ4yNZJz5plnArDHHnt4+y644ALAjwwClC9fPup5boEGixgeddRRUX8CDB06FID27dsD\n4V5IcK+99gLgpJNO8vbNmjULgJ9++inP57vPs0UZLQL7+++/e8csuiOpZRFJi84CXHfddYAfwezZ\ns2fhNywFypUr520PHz4cgCpVqmR73J133gn4RVZEElG6dGnAL3RkGQDgF0Yy7neIbd91111AdNGk\nRx55BICVK1emvsFS4BTJERERERGRUCnSkRy7s2/ZsqW3b9CgQYC/UGNuCw8tXbrU27ZRqbJlywKw\n3377ecdsNO6KK65IQasl3dgIbLyLda1YsQKA1atX5/gYtxx1iRIlcnycRc+mTJkS12sH6YEHHvC2\nLWpQrVo1AEqWzP2j6OOPPwbg119/zXYs6wKqlnMNfgTo+uuvz3YsbEaOHAnAhRde6O2zPreRzXhl\nvZZtsVpQJCc/bD6djTjbHACAUqVKAdC5c+fCb1gBsc8udwHjNm3aRD1m8eLF3rZdr9u3by/4xkko\n7Lbbbt72jTfeCMDgwYOzPW7cuHGAP9/rwQcf9I6dcMIJgP87zubvuEaMGJGiFqcPdzkKixJb9oN9\nHsViJd4Bbr31ViCxTKfCpEiOiIiIiIiEim5yREREREQkVIpMulrFihW97VGjRgFw3nnnAdHhztx8\n/fXXUc+3FBqAM844A4B777032/MsRWHIkCHevi1btsTbdElzc+bMAWDJkiXePisO8OWXX3r7Jk2a\nBPjleb/44oscz+kWqbCUrlgyqeCAW5ihVq1agF+gw0qvAzz55JNAdGra33//DcDatWtzPP8+++wD\nQPfu3b19lq5mhUTCzIqkuCm2L7/8ctzPd9PQ7Bz2548//piKJoZW/fr1s22ffPLJAPTp08c7tuee\newKxU1xjpUYvXLgQiK9wRDqxNDUrF92jR49sj7E0teOOO87bZ+9zyT+3mEvW7xA3RXDbtm2F1aQC\nYb/jIHua2j333ONtu7+/wE/LAj9dLRa36EpYtGvXDoD33nvP25c1ZTy3qRru9WQpplYoyF3eYf36\n9flvbD4pkiMiIiIiIqFSZCI57qJitnBnPL755htv20aI//zzz2yP++yzzwDYuHEjEB0dsknkVi4X\n/NFqyXx2jTRv3tzbZyO17gTazZs353gOu15s8UorB5wXdyQm3dnINviRru+++w5ITWRzwIABgD9a\n7lq0aFG+z5+ObrjhBm/bRtcsUgjR0ea8tG3b1tvOWngg3usxzKyoDPiRe1v01/4foFKlSkDuI6Em\n1vfA//3f/3nbU6dOBTJvIn7//v2B6MndxiK0nTp1ivr/MGjRogUQvdBkPNxy+ccff3xK2lK7dm1v\ne//994865i4o/e6776bk9QqbZedcfvnl2Y4tW7YMSH7xcTdymkg0PFPYUimxCv589NFHALz66qve\nvqwRVreU/amnngrAwIEDsz32jjvuSFGLk6dIjoiIiIiIhIpuckREREREJFRCn6520EEHAbFXirYU\nNjetwEJuO3fuBODmm2/2jsVKUzOzZ88G4J133gGiU3OMTYyWcHInzyfK1jg5/fTT83ysW8zAQsuZ\nwK2t727nl002veyyy7Ids/U5bK2qsLB1hty/165du4Dk17Fp2rSpt5218IB7rKioXr064F9fV111\nVVzP++STTwD49ttvAZg7d653zK7HsBee6dq1a9T/2/cp+GvRhSlN7bXXXgOgY8eOQHRqYzp68cUX\nve3KlSsH2JLkWTEZN9XPWGEbt/hC1pQrd+2vrNzpDekweT7VTjvttGz7LEXP0iVz+4yy6Rng/ztY\nCqStmwN+UaaZM2fms8XJUyRHRERERERCJZSRHHfi8Z133glEl5C2kU4raVuvXr1s55g3bx4A06ZN\nS+i1J0+eDMSO5ISRW2ChKJTpTSW3UIFb9jgvq1at8rZTGRHJJG4Jy9tvvx3wow5umWkrZ7lu3bpC\n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\nhS0l9X766ads+6xkvi0hkm4UyRERERERkVDRTY6IiIiIiISKCg+ksUydnJYO1HfJU98lT4UHkqNr\nLnnqu+SFqe+qVq0KwJYtW4CCT1cLU98VNvVd8lR4QEREREREirS0jOSIiIiIiIgkS5EcEREREREJ\nFd3kiIiIiIhIqOgmR0REREREQkU3OSIiIiIiEiq6yRERERERkVDRTY6IiIiIiISKbnJERERERCRU\ndJMjIiIiIiKhopscEREREREJFd3kiIiIiIhIqOgmR0REREREQkU3OSIiIiIiEiolg25ALMWKFQu6\nCWkhEokk/Bz13X/Ud8lT3yUv0b5Tv/1H11zy1HfJU98lT32XPPVd8hLtO0VyREREREQkVHSTIyIi\nIiIioaKbHBERERERCZW0nJMjIiIiYmrXrg3ABRdcAMAtt9ziHXv66acBOP/88wu/YSKSthTJERER\nERGRUFEkR0RERNJOs2bNvO177rkHgOOPPx6AFStWeMfGjx9fuA0TkYygSI6IiIiIiISKIjkihax4\n8f/GFvr27evtO+GEE6L+dGviW134AQMGAPDoo48WSjszRaNGjQAYMWIEAKeddlpczzvllFMAePXV\nVwumYSKSlFatWgHwzDPPePuqVq0KwMKFC4Ho9/n3339fiK0TkUyhSI6IiIiIiISKbnJERERERCRU\nikUsFyaNuKk66WjgwIGAn0bkmjVrFgBff/11vl8nmX+adOi7mjVrAv4EUYDWrVsDsct/utupks59\nN3jwYABuu+22uNpif5c//vgDgE6dOnnHfvnll5S3L537zvTq1cvbfuqppwDYbbfdgPjbv3nzZgDO\nO+88AKZOnZrvdiXadwXRb9WqVfO2J0+eDMCnn34KwNixY71jixcvTsnrVapUydtu27YtAG+//ba3\nb/v27XmeIxOuuWOOOcbbnjlzZo6PO/zwwwGYO3cuEPvvZimSo0aN8vZ9+eWXSbUrE/ouXieddBIA\nzz33HAA///yzd2z06NEAPPvssyl7vTD1XWFT3yVPfZe8RPtOkRwREREREQkVRXJysNdeewHwxBNP\nePv2228/wJ/oHKvrVq5cCcC6deu8fbfeeisQPbrplr/MSabd7e+5556AP3rcoUMH79jGjRsB+PHH\nHwE49dRTvWO///57ytuSzn33119/Af41lldbsv5drA8BDjjggBS3Lr37ziYfW1QLoHTp0lFtiLf9\n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\n+QADBw4EwhWFveiiiwD4v//7P29fv379AHjppZcA+O6777xjlgFhC1rGmoP45JNPAuFcqHb16tXe\n9hVXXAH40S3wy5jb+9n9/v3oo48A//2c23X3448/etuxom2FTZEcEREREREJFd3kiIiIiIhIqIQq\nXe3kk09O2bmsDKs7sdfOH6togE3IOuuss7Ids7SYWMfCJLcJ3xY6D2MYODc2oRFg0KBBgB8uL1Gi\nRELnsgmTFjoGP3XNUmLc4haZwFIcS5Uq5e3bunUrEF3044QTTgCgW7duOZ7L3rOHHnqoty9recsb\nbrjB285t1eeiyEqlgp++YeluYSxHW1A2btwIZO7K6Imy9LyaNWt6++xzz8qar1+/3jt28cUXAzB5\n8uRs52ratCnglyl3J5A//vjjqWx2Wqlbt663bYUZ8sstQGLvY+v7MFiwYAHgl5IGf+kPm2bglifv\n2rUr4KepuelqVqAlk5cVSISlhVqhhnhZKpv9honFiocAbNq0KYnWpZYiOSIiIiIiEiqhiOTYJLN4\nIznPPPMMAHfeeScQXVovHjaJz0adAC655JKox7iLgT7//POAv1hpURRr8mSY2UimW6zCjQrmh1tY\nw7atXK1NxgR48cUXU/J6Bcn65KGHHvL22SR3N5JjJZPtz9zUqVPH2/72228B2H333QG/OIn4bILz\nOeec4+2zkfdVq1YF0qZMZhNvw7xMwG677eZtT5o0CYiOWtso+YwZMwA477zzvGNZS3H37dvX27bi\nBbag9+mnn+4dUzQxMW4/jx07NsCWFKzFixd72xYdtBLm7733nnfMfoNYlNqiN+B/f0ru9t13XyD3\n3zIvvPBCYTUnLorkiIiIiIhIqIQikmMRnHhLF9siUPGUU3RHrCzn3+763dfL+tqWGwp+5CiMtmzZ\n4m3biEqDBg2CaUzA3JFMi+CkKnqTFytBOmHCBG+fjabawl/pyObItGzZ0tv3xhtvADB8+HBv3y+/\n/ALAO++8k+c5//zzT2/b5vdYJMdlC6Glc/8Uhi5dumTbZ/8GbhlREXPAAQd427Zgp/sd+OabbwL+\naLlbvtYihjYfoHv37t4x+948++yzAfj5559T3vZ0ZPO4AN56662oY+7nmfv5DtHLCdicTYvg2KK0\n4C/KGnbusgwQfZ3aQp8297CozL9JpWOPPTbHY5s3bwbSb3FQRXJERERERCRUdJMjIiIiIiKhEop0\ntURZiNfCa66XX34Z8FPgypcv7x1zSxXmxCZHWrlCgL/++iv5xqa5v//+29t+9tlnAbjpppuCak6g\nrEQ05D9NzS0aYKW57ZqqVKlSjs8rWdJ/S1u57vfff9/bt3z58ny1K9UsBdQt52npL24xAkuFscnc\nAwYMyPGcDRs29LYtTc09f9bXKeosXc1NmVEqR3Z77rln0E1IG1Y2GqBq1arZjrdv3x7wU1fcEvH1\n69cH/OIWbrqolTp2U7SKgqVLl3rbbvpeXtz3rLElBopKitoVV1zhbffo0QOIPXXBUuvtN56k1vbt\n2wE/RTxdKJIjIiIiIiKhUiQjOTZ6HIstoBVvEQNjEZzjjz8eSLwsdZjEGjWPtS9s3MXXEmULxo4Y\nMQKAKVOmZHuMRR4GDx7s7bvssssAv/CAyyZhusUz0o0VFKhSpUquj7P3o0VTv/7662yPsWss1ns3\n1j577aKqX79+AFSvXh2IXkhWBQd8Ntn2nnvuievx69atK8jmBMqiNu6ikjZy6076ts+cRo0aAf6k\nb4BPP/0U8MsaWwaAxK9Vq1YANG/ePNsx+y4JO7ve3PLkubFrcty4cUDuvwMlNlvcN5aZM2cWYkvi\np0iOiIiIiIiESigiOZaDGs+cmbzYIp42DyK3x1x33XXePltYtCiz8pY2ymcjxJB4ZCyT2KKwtWvX\nTuh5bmnxG2+8Eci+UJ7LyrC61919990H+HncF154oXfMyrj++uuvCbWrMFk5dzdylbUMaCq5CzTG\nU446zCySY+9Nu15cNqfJnY9iCzWGic1Lct/D++yzD+D3U25z4dzlCC644IKCaGJasEiOOw+nRYsW\nABx99NHevpo1awL+YrLz5s3zjoV5kdTCYiX33TnD5pVXXins5gTCvifc6IJF89esWQP4ywQAXH/9\n9YD/O3HMmDHeMcuIkNwdd9xxOR5L14WjFckREREREZFQ0U2OiIiIiIiESijS1Xr27AnAc889B8Re\nwTtelqZmKRxuGUYrLnDllVcC4UzbyI/FixcD6VdCsKCVLl0agBIlSsT1eEsLshQ1yD1NLTc2WfzJ\nJ5+M+jNTTJ8+HYheSdkKOKSyFLmlL5x//vkpO2fYuJPDzzzzTACuuuoqAL7//nvv2Lnnnlu4DSsE\nljqaaFnxTZs2Af5kZoAlS5akrmFpxgrquCWkzTfffFPYzSmyEikzHVZW4OPtt9/29p199tkAjBo1\nCohOSW7cuDEArVu3BqJTu0ePHg2oGE1+xFqSJR0okiMiIiIiIqESikjO2rVrAX/C56GHHprr490R\ndPAnP0P2MrRffvmld2zlypX5b2wRcM011wAwefJkb1+vXr0AeOyxxwCYM2dO4TesgNgI5rRp07x9\nNhJukQrwR5fmzp0LRI+cF3WzZ8/Otu0uNGuLvHXq1CnPc7mTwG0xQptk+vvvv+e/sSHljmz27dsX\n8CODt956ayBtSlcW8beJuO71KyKFx10Y+sQTTwTg2muvBaBGjRresf333z/qee4CtZY98PDDDxdY\nOyUYiuSIiIiIiEio6CZHRERERERCJRTpasYKA+S1/kVRXx+joMWql26rDVs9+jClqxl3QnYYJ2cX\nNkttzLotqWFpHiNGjACi1y959NFHAfj3338B2LZtWyG3rnDdcccdgL+SPPipL8Ym3YOf4qw0NSlM\nderUARJfky3M1q9f721369YNgNtvvx2AK664wjuWtTCQ+5nmvrclORs2bAi6CTEpkiMiIiIiIqFS\nLJKGS9Hb5P+iLpl/GvXdf9R3yVPfJS/RvlO//UfXXPLUd8nLtL5r164dAO+//362Y9dffz0Ad999\nN+AXxygomdB3blECKy99+OGHA9Glpy0CVFgyoe9iGT58OBAd8W7YsCEABx98MBAdWSsIifadIjki\nIiIiIhIqiuSksUy9208H6rvkqe+Sp0hOcnTNJU99l7xM67vixf8bl7aS7u6o+Z133gkk93dKRqb1\nXTpR3yVPkRwRERERESnSdJMjIiIiIiKhonS1NKaQZvLUd8lT3yVP6WrJ0TWXPPVd8tR3yVPfJU99\nlzylq4mIiIiISJGWlpEcERERERGRZCmSIyIiIiIioaKbHBERERERCRXd5IiIiIiISKjoJkdERERE\nREJFNzkiIiIiIhIquskREREREZFQ0U2OiIiIiIiEim5yREREREQkVHSTIyIiIiIioaKbHBERERER\nCRXd5IiIiIiISKjoJkdEREREREJFNzkiIiIiIhIqJYNuQCzFihULuglpIRKJJPwc9d1/1HfJU98l\nL9G+U7/9R9dc8tR3yVPfJU99lzz1XfIS7TtFckREREREJFR0kyMiIiIiIqGimxwREREREQkV3eSI\niIiIiEio6CZHRERERERCRTc5IiIiIiISKrrJERERERGRUEnLdXIkvGrVqgXAm2++6e078MADAejQ\noQMAH374YeE3LMWqVasGwLXXXuvts/ruvXr1AqB+/frZnle8+H/jDrt27cp27IcffgDg1ltv9fZN\nnjw5RS1OH7YeQO3atb19l1xyCQBnnHEGAA0bNszx+T///LO3XaVKFcDvpxkzZnjHXn/9dQB27NiR\nimZLCJQtW9bbts+qI444AoCWLVvGdY66desCcNJJJ2U79vfff0ed6/fff0++sSF08MEHA3DxxRcD\n8Ntvv3nH7r777kDaJOFg362lSpXK87Hbt2/3tu376JlnngGgT58+3rH7778fgKuuuipl7ZTUUiRH\nRERERERCRTc5IiIiIiISKkpXA7p06eJt16lTB4B77rkHgIoVK3rHLN3ovffeA+D4448vrCaGRo8e\nPQA44IADvH3Wr927dwcyN13NTSO78sorAShfvry3z/6eOf0/wJ9//glAuXLlvH177LEHAPvttx8A\nL7zwgnfMrs+pU6cC8O+//yb/F0gT/fr1A2DMmDE5PiZW35nGjRtn29e/f/+oPwHmz58PQOvWrQHY\ntGlT4o1NQ3vttZe3bel6P/30U77OaamS4Pd9+/btAVixYkW+zh0UNx3ywQcfBKL77uijj477XJbS\nAn7/xLpG7X3tvr+LuiZNmnjbr732GuCn/P3f//2fd0zpapIXS0nbbbfdAD81HPx0+DPPPDPP8wwa\nNMjbtu9US5V239e5fQ9JelAkR0REREREQqVIRnJsQqmN2t14443esRYtWkQ9NtYEcBudtxF2gDVr\n1qS8nWHy6quvAv7obxjsvvvuAJx++ukAXH755d4xG6ndtm2bt++DDz4A/KhLrEnHCxcuBKBChQre\nPrsmBwwYAEDz5s29Y48//jgA3bp1A2JPds40NvnYtX79eiB6QmhWTz31FABLly7NduyGG24AoGrV\nqtlexyabhyWS414D9957LwC33XYbALfffntC52ratCkQPdpuo5dDhw4F4Oqrr06+sQFyI/gnnnhi\nQs996623APjrr78Set4rr7wC5D+yFgalS5cG4LrrrvP2WQRn48aNgH/diuTE/a60AjX5jfrZ5ybA\n559/nq9zhUGnTp0AuPDCC4HoCJn55JNPALjooou8fenwOadIjoiIiIiIhEqxSBomFbr5zalSvXp1\nb9tG4WKNGCfCRuUg9p1tfiXzT1MQfZcsi3SAn9Nfs2bNbI+zKNixxx4LwNdff53v1y6MvrMc3Wef\nfRaAX3/91TtmOf7vv/++t8+d15CMPffcE4BRo0Z5+2zk6o8//gCgVatW3rFER5lN0NedRUitfwGm\nTwljkZsAACAASURBVJ8OwOLFi5M654IFCwBo1KhRtmMW3Vm9enVS53Yl2nep7DfLQ3dHHm0el7Wr\nRIkSCZ3Lyqa60SE7l81vGjt2bH6aHXXOROS372xUEvyIqGvr1q2Af+2dffbZ2Y7t3LkzX21IhaDf\nr8myCPWnn37q7bNo9/DhwwGYNWtWgbYh6L6zeag1atTw9h122GGAX0bbfT2Lmp577rkALFmyxDs2\nbdq0PF/PyuWPHz8+P80Ggu87m1Nnc6TBjzwXFishnWg0O+i+y029evUAP/sG/N/KubXb2me/RcAv\nlZ/sb5FYEu07RXJERERERCRUdJMjIiIiIiKhEvrCA1Yu8Mknn/T2xbPibTzcFA4L7Z1zzjkArFu3\nLiWvkcncdJBYaWpm5MiRQGrS1ApatWrVvG1L07Fy4+4k2YL497dSlpdeeqm3z9JlLHXovPPO844l\nOsk8XVj64qOPPprU892y3e3atQOi/92MFTOIVVwkE9nnUawiAYmmSlraR8+ePaPOk59zphs3RSiW\nYcOGASpdnGqWjhqrX+3700rph5Fb8MJSnd3UbhOrFLl91xh3KYauXbvm+dr2WWdpzgC//fYb4Be2\nAVi1alWe5wqCW/bd0tTiTVH7559/APj5558BPxUX/EJBbdq0AaB37975b2yGsaUXrGy7FehKlBUP\nAejcuTPgL3thab6FSZEcEREREREJlVBGctwiA1aeMtnojVuOdsOGDQDss88+2c5pEwhtAcPLLrvM\nO1bUojo2en7fffd5+7KOltsoOsC8efMKp2EpYKNBAMcccwwAX3zxRVDN8UbcbNKfW75xwoQJQGon\n/aUjmyRvpeBtsiNA27Ztox7rvhct8hGW8u82CulOULWJyXatxuv666+POpd7zpUrVwLw8ccfJ9/Y\nDGALF1uxi5deeinA1oSHvSdtEV77nILwf1ZBdBn7WBGcgmSLZR5xxBHePtueMWOGt8/NfEkn1157\nrbedWwTHlm5wo4WPPfYYEHuJASsqEk8EZ+3atd72yy+/nOfjM4UtgZFoBMeum4YNGwKw9957e8fG\njRsH+BGd0047Ld/tTJQiOSIiIiIiEiq6yRERERERkVAJVbqahdlef/11b9/++++f1LlsUq27Evai\n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\nyd6u7t27A9EpirVr187zefPmzQP86xZg2bJlKW5d+hk4cGBcj7NU1DfeeCPbsauuugqI7i8rsW+p\naS4rtmRLYpx22mnesU2bNsXVnkzkfi9YWelYSwrMmDED8H9vpBtFckREREREJFSKdCTHJvg98MAD\n3r45c+ZEPaZ58+betpVNvuOOOwBo1qxZjue+8cYbU9bOoNloE/ij3bHu6G1kZNy4cYXTsDTz5ptv\nett23biTG+OZwGzFGtxRZhtRjtXndu3aBF93sqq9XtALctno+M033+ztq1evHuCXI3YnlCbKyqqe\neeaZAFSpUsU7lrVMtFtcwPq1KE4kddl15V5fL7/8clDNKTQTJ070ti0C6i7oa9fRW2+9BUQXdMit\n3LgVMbCIojs6nLX0vjsS7JbcDwub7O1+jx533HEAzJo1K9vjrfy5lZl2J46HhfsZ1LFjRwCqVq2a\n4+Pdss/2+8Q+6/7666+CaGLaWrhwYVyPs6Iq7m87u97su9LNjLCy2xbxj1UgpFu3bgB06NDB2xcr\nUpTpLPvk4Ycfjuvx99xzD5C+peEVyRERERERkVApFok1PByw3MrUxcPmNQDMnDkTyH2hNXck99VX\nX4065pbkjSdXdvDgwQBMnTrV25fsoozJ/NPkt+9ctvDWU0895e07/fTTgdhts7LZtkigjTYFIYi+\nq1mzprf97bffAtFzcixnNbf5J0OHDgWgTZs22Y7ZqN2AAQO8fVauO5VS3Xd2HQU50mNlot05EQUR\nwUm071L5fo2Hez1+/vnnAOy///5A9Jwkd25KYQj6s87mgkyePNnb17Vr17if7y5+Gc/cLiuz2qNH\nD2/fxx9/HPfruYLuu9zYnJwxY8Z4++z72cr03n333d4xmy+xY8cOoODLaQfRd+7nYOnSpfN8vBsB\nHzVqVL5eO5WC6Dv388sWn7ToS17smrLFfd15YolkEmzdutXbtuv733//jfv5kN7vWZtDaP3rvra1\n241At2zZEvCXuihoifadIjkiIiL/z96dB0w1/v8ff0aEhFBEWbJF9iJbKmWp7JHssu+h7MuHKFkq\n2bIka5TsW5asKTuhsqVvlkK2CBXR749+7+tcZ2buaebcs5w583r803GuuWeu+3Jm5j7X+329LxER\nSRTd5IiIiIiISKIksvCAX363Y8eOQDh9zEKMxg+BRk2xev/994EgFWnWrFmRnidOLGUl11CuPf6l\nl14qWp/izF8Eajt+d+jQwZ2zHZOz7dScGhYGePHFF4Eglc2utUphaYx+6c1Ro0YV7fVsnCBIk7Hw\nehLLROfDX+BsC+ttTKZMmVKWPsWBpRAddthh7twhhxwCBOmhLVq0qPHnc02hsPeuFRaJmqJWKb7/\n/nsgfG1ZEYKzzz4bgM0228y12eflG2+8ARQ/Xa0U7PvT0vKWWmqprI+3ND7bZf6nn34qYu8qi59i\nbH/b2fcjZE9dsyI0qcVo8mXFMQBmz55dq+eKkzZt2gBBAaVMW2IYv8BRqdLUolIkR0REREREEiWR\nhQcysVkRCBZ7ZioTmAubpfdnmWzDuEKWdIzL4jR/M9BevXoBwRj6JRpttu6OO+4oeB/yVe6xs+jg\ngQce6M7lUlrbylz27dvXnZswYQIQRESKrVhj5z8mtRznGWeckdfr+WVY/+///g8ICmRYiVCI9rvU\nRtwLD/jGjBkDwB577AGEZ9ut4Eqpyo+X+/2ajW1eecABB7hztomtlYv2+2K/i21465eZtTG3krWF\nEOexy/R69tloZX5to0EINnu02flcyu7XRinGzr4j/YIxqa9v1wrA8ccfD5Tu8z6quFx3fmTGItUn\nn3wyEP7+testX1ZEyIr8DBw40LVZAZF8xWXsfPae84ttpb62bbK69dZbu7ZSb1GhwgMiIiIiIlLV\ndJMjIiIiIiKJUjXpaj5bYHXkkUcC4V3ps7EFWbYgtZApB5nEMaRZKTR20WnsoqukdDVL7Xj11VeB\ncDqHpSyUamG8rrnoNHbRFWvsWrZs6Y4tXXGttdZKe9xnn30GBHtVVRJdd9HFcezGjh0LhIslpb62\n7dNk6brloHQ1ERERERGpalUZyakUcbzbrxQau+g0dtFVUiQnTnTNRaexi65YY3fccce541tuuSXU\n5peEfvnllwHo0aNH3v0oN1130cVx7CzDyQpqtWrVKu21reCAFd8qB0VyRERERESkqimSE2NxvNuv\nFBq76DR20SmSE42uueg0dtEVa+z8jWMtSmPrGHbbbTfX5m9kWWl03UWnsYtOkRwREREREalquskR\nEREREZFEUbpajCmkGZ3GLjqNXXRKV4tG11x0GrvoNHbRaeyi09hFp3Q1ERERERGparGM5IiIiIiI\niESlSI6IiIiIiCSKbnJERERERCRRdJMjIiIiIiKJopscERERERFJFN3kiIiIiIhIougmR0RERERE\nEkU3OSIiIiIikii6yRERERERkUTRTY6IiIiIiCSKbnJERERERCRRdJMjIiIiIiKJopscERERERFJ\nlLrl7kAmderUKXcXYmHhwoV5/4zGbhGNXXQau+jyHTuN2yK65qLT2EWnsYtOYxedxi66fMdOkRwR\nEREREUkU3eSIiIiIiEii6CZHREREREQSRTc5IiIiIiKSKLrJERERERGRRNFNjoiIiIiIJEosS0iL\niIhI8h111FHuePjw4QD07NkTgLvvvrscXRKRhFAkR0REREREEkWRHCk426xpzpw57lyHDh0AeO+9\n98rSJ6lsm266KQCXXnopAPvvv79rGzduHACHHnooAN9++21pOyciedtwww2BIHoDMG/ePAC++uqr\nsvRJqtM666wDwCmnnALAPvvs49rWW289AJZYYlFM4NFHH3VtX375JQCXX365O/f7778Xta+SH0Vy\nREREREQkUXSTIyIiIiIiiVJnoeUWxUidOnXK3QWnZcuW7njChAkArLDCCgC89dZbrm3nnXcG4O+/\n/y7Ya0f5XxOHsfv333+BcP8feOABAA4//PCS9KFSxy4O4jJ2Z555pju+8sorAVhqqaVqfPw///wD\nwJFHHunOjRo1quD9yibfsdM1t0hcrrl8tWrVCoDll1/enevRowcA9erVA6B9+/aubd111wVgypQp\nQPj7JapKGztLDbI009VWW821Wcrp6NGjS9KXShu7OKn0sevUqZM7tu+JFVdcscbHT5w4EYA111zT\nnWvUqBEQvOcBHnroocW+dqWPXTnlO3aK5IiIiIiISKIoklODVVZZBYDXXnvNndt4441rfPwrr7wC\nwC677FKwPlTq3X6mSM7UqVMBaNGiRUn6UKljFwflHru1114bgA8//NCdW3rppQEYMWIEAO+//75r\n22GHHQDYddddAVhppZVcmxUssOuv2OIWybHI1yWXXALAueee69rq1l1Ud2bo0KFAsOh2cSzC1rx5\ncwBOO+20Wvez3NecWW655dxxr169gGAM/c/2Zs2aAbDGGmsAQdRmcWbPng3A22+/DcAee+xRyx7H\nZ+xy9cgjjwDB4m4/I8Ley6VSaWMXJ5U2dva3hxUJ6NKli2uz9+9ff/0FwJJLLpnWZp9zf/75p2uz\nohljxoxx5/baa6/F9qXSxi5OFMkREREREZGqphLSNbCZz2zRG98222wDBLOcgwcPLk7HYmy//fYr\ndxckAZZddlkgPHN15513ApmjDRaJaNiwIQAfffSRa+vTpw8AJ554YnE6G3N77rknABdccEFa26BB\ng4Bw5KsmfgS2b9++AMydOxcoTCQnLjbffHN3fNlllwFBxCsbv2y5RfUXLFgABNFHCErOTp8+vbZd\nrSj169d3xxYRe+mllwA48MADy9KnpOnevTsQzHT7n58WlRwyZAgQrC+GZJfc99fd3HHHHUCwpsY+\nv/y2m2++GQj//Wbrrb/77jsg87pQPwJcqWysbHuGAw44wLWtuuqqQHBN+dEU+74dOXIkAAMGDCh+\nZ/OgSI6IiIiIiCSKbnJERERERCRRlK6WwnZUP/XUU2t8zKRJkwAYOHCgO2fpNP379weqM12tVEUF\nkmL11Vd3x5bqlyl16J133gFg7NixpelYmU2bNg2Ak08+2Z3zU35q8uuvvwJw0EEHuXNPP/00EJT1\nrIYxXH/99d3xPffcE2p7+OGH3fHFF18MhNM2auKnCVpqxoMPPlirfsbRm2++6Y6PO+44INjB3FI2\nAO677z4gKFvup29Y4RUJ+OXgGzRoAATpgFaMQcJszLbbbjt3LjUVzb/uLO3vv//+A2CJJYI5bDtn\nWzlYahskM13NPgP9zzs/ZRLgsMMOc8ePP/44AI0bNwaCFDUIxsyKUNl3is9StSrNNddc447testU\n4CB1sb//35ttthkQlMPfeuutXZt/nZWLIjkiIiIiIpIoiuQAyyyzjDvOdjdrrCytP2P6zTffAEFJ\n0fXWW8+12WJTqT6tW7d2x3ZN2AK/o446yrX5JStTffHFFwB07NgRSObMm8821M0lepNJmzZt3LFt\n3Nu1a1egOiI5fkQ1dUHsiy++6I5zieDYNbv33nu7cxbZsFKsSWDvP4vIQ1C0Yfz48UBupWElzDb+\nPOecc9w5G08/apY0/gy2zXpb5NOiKhBEW/xzqVEa/2+RbJEcO2fP6f9c6rmkliO2aMKzzz4LhDfp\ntfLQFsGx6I1vzpw5AGy00UbunGUInHTSSQBsu+22ru3rr78GgiIalcLGoHfv3u5carTG/qaFoET2\n999/D8DKK6/s2g455JDQuW7durm2iy66CIArrriiYH3PlyI5IiIiIiKSKLrJERERERGRRFG6GkEN\neQgWRdquthMnTnRttnDN6oJbTXUIUtesxng1pqgdffTR5e5CWR1xxBHu+OCDDwaCFDPIvt+G7alh\n+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\nwMiRI4Hw7LlFcGbMmAFk38ohCX7//Xcg+D379evn2k466aTF/rz/N5tFVCdNmgTA0KFDXZtFEP/8\n889a9jiZLDKW+m8lUCRHREREREQSRTc5IiIiIiKSKHUWxjDulGlxUz78HbxtTxvbMd1nv7q/q/Ir\nr7wCBOHgcoryv6a2Y5cUGrvoNHbR5Tt25Ry3jTbaCIApU6ak9cV2Vh8yZEhJ+hLHa26nnXYC4OKL\nLwbCaX22N4Sl9ZVzP6E4jl2liOPYHXjggQDcf//9QHgvHEuPbNu2LVDeAg1xHLtKUQljZ2mTEHxH\n1K9fHwj33/aw85d2FFO+Y6dIjoiIiIiIJEqiCg8Yf7da/1hERBZp0KBB6L8/+OADd3zLLbeUujux\n8/rrrwOw++67l7knUo0sgpOp8IBKbEuxtWjRwh37xblSzZ8/vxTdiUyRHBERERERSZRErslJikrI\n24wrjV10GrvoKmlNTpzomotOYxddHMeuadOmADzwwAMA7LDDDq7N1uRkm1kvlTiOXaWotLGzDVdt\nk1S//LatgS9V+W2tyRERERERkaqmmxwREREREUkUpavFWKWFNONEYxedxi46patFo2suOo1ddBq7\n6DR20WnsolO6moiIiIiIVLVYRnJERERERESiUiRHREREREQSRTc5IiIiIiKSKLrJERERERGRRNFN\njoiIiIiIJIpuckREREREJFF0kyMiIiIiIomimxwREREREUkU3eSIiIiIiEii6CZHREREREQSRTc5\nIiIiIiKSKLrJERERERGRRNFNjoiIiIiIJErdcncgkzp16pS7C7GwcOHCvH9GY7eIxi46jV10+Y6d\nxm0RXXPRaeyi09hFp7GLTmMXXb5jp0iOiIiIiIgkim5yREREREQkUXSTIyIiIiIiiaKbHBERERER\nSRTd5IiIiIiISKLEsrqaiIiIJN+DDz7ojh966KG0cyIiUSmSIyIiIiIiiVJnYZSC3UWmeuCLVEst\n9eWWWw6Aiy66CICNNtrItXXr1i3Sc1bL2BVDJYzdsssu6447duwIQLt27QDYY489XNsmm2xS43P0\n7dsXgMsuu6xg/dI+OdFUwjUXV5U6dhat2W677dy5tdZaq6R9qNSxiwONXXQau+i0T46IiIiIiFQ1\n3eSIiIiIiEiiVGW6Wo8ePQC45pprAFhzzTVd24wZMwDo378/AKNGjXJtv/zyS1H7lSrJIc1NN93U\nHdsYjxw5EoDrr7/etf3222+Rnj/JY1dscRw7S2M59thjAWjfvr1r22GHHUJ9yLX/9n629Mhff/21\n1v1Uulo0cbzmomratCkA33777WIfW79+fXe88cYbA/DPP/+4c5MmTQJgq622AuDdd99Ne45KG7vu\n3bsDwef+QQcd5NpKXXCg0sYuTjR20VX62Pkppvae/eyzzwDYf//9XducOXMK/tpKVxMRERERkapW\nlZGcG264AYCTTz55sY/98ssv3fH5558PwMMPP1ycjqWo9Lv9TCyC89xzz7lzt99+OxBEcAoRMUvi\n2JVKXMZuyy23dMdPPvkkAE2aNFlsH/z+v//++wAsvfTSQDiCaI+/5JJLAOjXr1+t+1ztkZzOnTsD\n8Nhjj7lzl156KQBXXnlljT8Xl2suKssKAGjevDmQuWjKfvvtB8Bhhx0GQJcuXVxb3bqLdnT4+uuv\n3bkll1wSCL57HnjggbTnrLSxs/5+8803QOmLDWTqSz7idN2VU5zHbqeddgKCKD8E77VnnnkGCH+X\nnHHGGQAsWLAAgAsvvDDtOW+77TYAZs+eXev+xXns6tWrB0Djxo3T2tZff30Ann32WXfOvlvNzTff\n7I7ts//HH38sWP8UyRERERERkapWNZuB+iVn27RpU+Pjpk+fDsB7770HwAEHHODa7rvvPgAuv/xy\nIHt5WglbZ511AHj66acBGDx4sGsbNGgQAP/991/J+yXxdcghh7jj1AjOtGnT3PGECROAzNfRV199\nBQQz4X4kx/z5558F6nF18j9bW7duDcBSSy3lzv3vf/8DskdyKpXNGJ922mnu3MyZMwE4+OCDgWCW\nGKBVq1YALLHEovnFV155xbWNHj0aCGaaAX7++WcA/vjjj0J3vaQyrbXp06dPGXpSevZ72vvEMkkg\niAr42ybYmqXa+uuvv9zxwIEDC/KccWJR45YtW7pz55xzDhCMtW1P4Wvbtm3aOfvOsPdlps8qe+7d\ndtvNnbNMgSTZYostAHjrrbfS2l544QUAxo4d687ZBr6nn346EM6Qsqi2/b8qB0VyREREREQkUXST\nIyIiIiIiiVI1hQcef/xxd7zXXnsBmRcwvfrqqwDssssuQLicsS0WXWaZZQC49dZbXdtFF10EFDb1\nJc6L0/JlqRirr746kDlkXEilGLttt90WCK4nP6Xk+++/B2Ddddd15zbccEMgCAN/9NFHrq1Ro0ZA\n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\n5JNPgGCbglJ/r/oUyRERERERkaqmmxwREREREUmUqkxXM1aUwN9Dp2fPnkAQups5c6Zr++KLLwD4\n8ssvgWDHdP+cv0dPbcUxpFkpNHbRaeyiK3a6WlKV8pqzvUasAAgExTwqcU8zvV+jq4Sx8/cQa9++\nfaht1qxZ7rhDhw5A9EJH+YrL2OWbrmbpqv7Ceku/L1VqalzGzmd7VNl+fFaEC4JUSEvrKyelq4mI\niIiISFWr6khO3MXxbr9SaOyi09hFp0hONLrmotPYRVcJY/f888+7444dOwJBv4cMGeLaevfuXdJ+\nxWXsLPsGYNiwYTU+rl+/fgB8/PHHAIwePbrgfclVXMauEimSIyIiIiIiVU2RnBjT3X50GrvoNHbR\nKZITja656DR20VXC2DVr1swd29oIW4tjm0CXQyWMXVxp7KJTJEdERERERKqabnJERERERCRRlK4W\nYwppRqexi05jF53S1aLRNRedxi46jV10GrvoNHbRKV1NRERERESqWiwjOSIiIiIiIlEpkiMiIiIi\nIomimxwREREREUkU3eSIiIiIiEii6CZHREREREQSRTc5IiIiIiKSKLrJERERERGRRNFNjoiIiIiI\nJIpuckREREREJFF0kyMiIiIiIomimxwREREREUkU3eSIiIiIiEii6CZHREREREQSpW65O5BJnTp1\nyt2FWFi4cGHeP6OxW0RjF53GLrp8x07jtoiuueg0dtFp7KLT2EWnsYsu37FTJEdERERERBIllpEc\nERERSYYvv/zSHa+44ooAtGjRAoCffvqpLH0SkeRTJEdERERERBJFNzkiIiIiIpIoSlcTERGRgmvd\nujUA6667rjtnC6jr168PKF1NRIpHkRwREREREUkURXJERESk4Lp16waEy9++8MILAMyYMaMsfRKR\n6qFIjoiIiIiIJIoiOSnatWsHwKuvvprWduCBBwIwcuTItLbHH38cgP3337+IvYu37bbbDoA33ngD\ngF122cW1vfzyy2XpU5I0b94cgLPPPtudO+CAAwBo1KhRWfokyXTllVcCcNBBBwGw0047ubaZM2eW\npU9SOVZYYQUgWJPjGzFiBAALFiwoaZ9EcnXmmWe640GDBgHw+uuvA7DXXnu5ttmzZ5e2Y5I3RXJE\nRERERCRRdJMjIiIiIiKJUmfhwoULy92JVP4ixVLo2bOnOx48eDAAffr0AWDYsGGu7aOPPgJgk002\nqfG56tYtXAZglP81pR4737bbbgvA+PHjgXCK2m677VbSvlTC2C299NLu+PjjjwegVatWANSrV8+1\n2TjaDuEWNgdo0KABAA8//DAA8+bNc23//vtvpH5Vwtj51l57bQDat28PhFNkDj74YACWXXZZAIYP\nH+7aLG3mrbfeAqL93qnyfY5yjlsqu74AXnnlFQBWW201ALp37+7aRo8eXfDXrrRrLk7iOHYPPvgg\nEKR433XXXa7tuOOOA+KRrhbHsasUlTp2O+ywAwDrr7++O2fX5BJLLJr332abbVzbkksuGfp5/7PQ\nvnfzValjFwf5jp0iOSIiIiIikihVXXigY8eOQBC9AVh++eWBzNGaX3/9dbHP2atXLwCGDBlSiC5W\nlFmzZgHBwuTnn3++nN2JvaZNm7rj/v37A/Dtt98C4bGzzfJ69+4NBLNNAFtttRUA7777LgDTp093\nbRbFSMLiyB133BGAJk2aAEHkC6BNmzZAsNg5ExuXU0891Z2zY5ttfuihhwrX4Qq03377uWOL4Pz4\n448APPXUU2Xpk1SOlVZayR1vttlmoTY/IyIOERypDhbBBzjnnHMAuPDCC4H0CI2E+cVmbrvtNgCa\nNWsGhCOzp512Wkn7lS9FckREREREJFGqMpJj6xjOOussIIje+E4//fTQYwAOPfRQICir+r///c+1\nLbfccgCcdNJJANx7772u7ZdffilY3+Ns9dVXB4K7/TfffLOc3Ym9adOmuWMrBb3eeusBMHTo0Bp/\nrmHDhu747bffBoJ83Q033NC1rbrqqkDlRXKWWmopICjLDtC2bVsgeF99/PHHrs3WiNgmg5nMmTMH\ngM6dO7tz9lx+RK2a2eeib8yYMQDMnTu31N2RCuO//2x914QJEwB9F+Tj0ksvBYLtLGytoc/WzGXa\n6iLbc1YLW+/qr8H019Kksu8Hi+772zRsuummocfaVg5JZRGcZ555xp1L/W7wMyIsgnv44YeXoHf5\nUyRHREREREQSRTc5IiIiIiKSKFWZrvbEE08AQQpMrmxR+MCBA4GgZDJAt27dANhggw2A8IK3auHv\nBCz5yaVIg6UD+kUtLE3N/vXD7FOnTi1kF0vG0tX895C9r77//vtIz2lpgJdffnla20033RTpOZNG\n79/c1a9fP/Svn85nqS+WxuGXijctW7YEgpQkyK006mWXXRaxx8VjaSp+6fb//vsPCD6PopazTzpL\n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\nAejVq5c7V69ePSAY3/XWW8+1WUl0K0rlF68qhjhed2ajjTYCgu8FCFLBP/vsMwBatGhRkr5kku/Y\nKZIjIiIiIiKJkvhITteuXYHwpm0DBw4Ecrsj9EtfDhs2DMi+eWghxfluP5NmzZoBwUZl6667rmuz\nEr5vvfVWSfpSaWMXJ6UYOysvbsU8hg8f7tqeeeaZtMfb5oJHHHEEEC71aUUebNG4P+OeKapYTHGP\n5PgbvFmU6/777weCTWrLodzv1yWWWDTfl6lAzYIFCwD49ddfC/Z6hVTusatkcRy7bH2K0/+3co9d\np06dgPC2Hcsss0zoMV9//bU7tuJHa6yxRtpzWRaAXya+mMo9dtm0adMGyLw9hf0NfNxxx5WkL5ko\nkiMiIiIiIlVNNzkiIiIiIpIoiU9Xq2RxDmnGncYuulKMnaUFWbravvvu69qaNm2a9viHH34YCFIT\n/LRHS0mYN29eXn0ohrinq8WV3q/Raeyii8vY+UUGshWziNP/t7iMXSWK89hdffXVAJx99tlpbX37\n9gXKuy+Y0tVERERERKSqKZITY3G+2487jV10GrvoFMmJRtdcdBq76OI4dio8kHxxHjsrre2X0bai\nK5tuuikAv//+e0n6kokiOSIiIiIiUtXqlrsDIiIiIpKuQ4cO5e6CVJEvv/wSgAYNGpS5J4WhSI6I\niIiIiCSKbnJERERERCRRlK4mIiIiEgNanC9SOIrkiIiIiIhIosSyhLSIiIiIiEhUiuSIiIiIiEii\n6CZHREREREQSRTc5IiIiIiKSKLrJERERERGRRNFNjoiIiIiIJIpuckREREREJFF0kyMiIiIiIomi\nmxwREREREUkU3eSIiIiIiEii6CZHREREREQSRTc5IiIiIiKSKLrJERERERGRRKlb7g5kUqdOnXJ3\nIRYWLlyY989o7BbR2EWnsYsu37HTuC2iay46jV10GrvoNHbRaeyiy3fsFMkREREREZFE0U2OiIiI\niIgkim5yREREREQkUXSTIyIiIiIiiRLLwgMiIiJSXRo0aABAv379ADj11FNdW7du3QB49NFHS98x\nEalIiuSIiIiIiEii1FkYpZZdkalU3iIqMxidxi46jV10KiEdja656Cp97HbbbTd33L9/fwC23npr\nACZOnOja7FwhVfrYlZPGLjqNXXQqIS0iIiIiIlVNa3KAJZYI7vXWWmstAA444AAgnBO8+uqrAzBg\nwAAArrrqKtc2d+7covdTpNotv/zyADzwwAPu3GOPPQbAHXfcUZY+iUj+OnXqBATRG4BWrVoB8H//\n938AdO/evfQdE5HEUCRHREREREQSRTc5IiIiIiKSKCo8ANxyyy3u+LjjjqvxcdYvG7IPPvjAtXXu\n3BmAH3/8sWD9qoTFaccff7w7tnG0fv/888+urXXr1gB8/fXXJelXKcbu/PPPB6Bu3UVZn9tuu61r\n23PPPRf78/51N3PmTAC++eYbAO666668+lJIcb7u7Hrzx27atGkAzJo1q8afs8XNf/zxRxF7p8ID\nUcX5mou7Sh27l19+GYB27dq5c/b9YKlsU6dOLWofKnXs4iCOY3fiiScCcPPNN6e1WQpkx44dAZg+\nfXpez73iiisC8Ntvv9Wih4vEcewqhQoPiIiIiIhIVavqSI7d7dvdP2S/S0yN5PgGDRoEwNlnn12w\n/lXC3b4fyRk6dCgQ9Nvvi23gZgUdiq1YYzdmzBh3vPvuu+f9Gotj/V6wYIE7N2LECAAmTJgAwLBh\nwwr+upn6kI9iXHf169d3xxdddBEAffr0AWDJJZfM67mefPJJAA455BB37s8//6xtF9MkLZJjxVXO\nPPNMd86ish999FHBXicu11wlqrSxO+aYYwC46aabAFh66aVd25FHHgnAvffeW5K+VNrYxUlcxm7T\nTTd1x6NGjQKgRYsWNT7++uuvB8Kfaan8a/LAAw8E4NxzzwWgbdu2ri1qVCcuY1eJFMkREREREZGq\nVpWRHIvgWBTCLyFtw3HDDTcA4bURzzzzDACrrbZa2nP+/fffADRv3hyA7777rtb9rIS7/f32288d\nP/zww0DQ7/vvv9+17bvvvgD07t0bgNtuu62o/SrW2PnPm7o267XXXsv7NVOtscYaQDB75Pvvv/+A\nYP0OBGvBJk+eXOvXNuW+7lq2bAnAFVdc4c7ts88+BXnurl27umM/KlcocY3kHHTQQUB4Q0Wbmcxm\n3LhxAOy0007uXM+ePYHCrhsr9zVXySph7Jo0aeKO3333XSD4zrS1OQBHH310SfsV57FbaqmlgCBD\nAoL1JIcddliNP2frmZo1a+bO2eee9d3PQvjwww8j9a/cY7fKKqsA8MUXX7hztm4mm1wiOfZ3CsDV\nV18darPxhfC1m49yj1027du3B3L/3Tp06ADAK6+8UqQehSmSIyIiIiIiVU03OSIiIiIikih1y92B\nUjnjjDPcsYV6LU1tzpw5ru3YY48FYPTo0WnPsfPOOwNBCoeftlavXr0C97gyWORMgqoAACAASURB\nVEEBCMKI9u/hhx/u2mwh4KqrrlrC3hXXxIkTgSB8/euvv9b6OS1F4eSTT3bnTj/9dAAuvvhiAJo2\nberaLOXIFogXMm2tlPzy29deey0QTpEyNsZ+qtTs2bOB4Brz0wkaNWpU8L5WkpVWWgkICqP4aUN3\n3303AFOmTMnrOe3/SznLnMfFCiusAATvWwiuUWvLVCRjhx12SDtnhRx++uknd64YxTFKya43vyCP\nnbOU8P79+5e+YzG23nrrAdC3b18AevTokfYYS432U5hySeOxx/vPGTVdrdxsW4BMKWp//fUXAI89\n9pg7N3fuXCAofuSnq9nn5MCBA4Hs6YD+9hBR09XiwlLTIPrvYj9X6rS1XCmSIyIiIiIiiZL4SI7d\noV966aXunJWmtZmPO++807VliuAY26jxl19+AaBx48ZpjylEwYFKdfvttwOZN1T99NNPS92dohg+\nfLg7toXrhYjgmH/++QcIb6RqC/BfeOEFIFzgwGacbHbdCl9UGn82134Xf5byueeeA4LyszNmzKjx\nudZaay13bEUhGjZsWLjOxpx95kGwaNkKWvhFK6J+Vr3zzju16F0ybL755gA8//zzQPi7YOzYsQBs\nv/32ACy33HJpP59tO4LPP//cHVtmwfjx4wvR7ZLbcsstgXAmhbHI1Q8//FDSPsWRH7W+7777gHDh\nAEmXqXiRfW/utddeALz11ltpj7FIol98wbZlsM/JbLbZZpv8OxszFn3xIznZXHbZZUCwcW+mn7Nz\niuSIiIiIiIgUkW5yREREREQkURKfrmZpBQ0aNEhrs7Qz2019cebPnx/6OcnMUjD8XYeTkq5m6VKl\nZCls06ZNA2D69OmubZ111gEyX9+Vyt5fVmgBglTIBQsWLPbnv/76a3c8adIkILxLdVJZmpq/r0bq\nouURI0a446hplnYdVgsbV3/vjAsvvDD0GD+10i98UZNse15stNFG7njAgAFA5V6/ltoz9f+1d5/x\nUpTn/8c/GiOK2BtWggIKKsaOosYuTRRBUdCIolhjj9grIookoCBKrCAasaBExV4QSxSVSKyIFUvs\n+FMEFP0/4P+duffsnmV3z+6e3dnv+wnzmtmz5z43s2Xmuu7revfdaF/37t2B1P4mtUppjmFPORWW\n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\n",
"<matplotlib.figure.Figure at 0x7f6147f2dc50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# takes 5-10 seconds to execute this\n",
"show_MNIST(test_lbl, test_img)"
]
},
{
"cell_type": "markdown",
"Let's have a look at the average of all the images of training and testing data."
]
},
{
"cell_type": "code",
"execution_count": 7,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Average of all images in training dataset.\n",
"Digit 0 : 5923 images.\n",
"Digit 1 : 6742 images.\n",
"Digit 2 : 5958 images.\n",
"Digit 3 : 6131 images.\n",
"Digit 4 : 5842 images.\n",
"Digit 5 : 5421 images.\n",
"Digit 6 : 5918 images.\n",
"Digit 7 : 6265 images.\n",
"Digit 8 : 5851 images.\n",
"Digit 9 : 5949 images.\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f614c36abe0>"
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Average of all images in testing dataset.\n",
"Digit 0 : 980 images.\n",
"Digit 1 : 1135 images.\n",
"Digit 2 : 1032 images.\n",
"Digit 3 : 1010 images.\n",
"Digit 4 : 982 images.\n",
"Digit 5 : 892 images.\n",
"Digit 6 : 958 images.\n",
"Digit 7 : 1028 images.\n",
"Digit 8 : 974 images.\n",
"Digit 9 : 1009 images.\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f614d1b6a90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"print(\"Average of all images in training dataset.\")\n",
"show_ave_MNIST(train_lbl, train_img)\n",
"\n",
"print(\"Average of all images in testing dataset.\")\n",
"show_ave_MNIST(test_lbl, test_img)"
]
},
{
"cell_type": "markdown",
"Now, let us convert this raw data into `DataSet.examples` to run our algorithms defined in `learning.py`. Every image is represented by 784 numbers (28x28 pixels) and we append them with its label or class to make them work with our implementations in learning module."
]
},
{
"cell_type": "code",
"execution_count": 8,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(60000, 784) (60000,)\n",
"(60000, 785)\n"
]
}
],
"source": [
"print(train_img.shape, train_lbl.shape)\n",
"temp_train_lbl = train_lbl.reshape((60000,1))\n",
"training_examples = np.hstack((train_img, temp_train_lbl))\n",
"print(training_examples.shape)"
]
},
{
"cell_type": "markdown",
"source": [
"Now, we will initialize a DataSet with our training examples, so we can use it in our algorithms."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# takes ~10 seconds to execute this\n",
"MNIST_DataSet = DataSet(examples=training_examples, distance=manhattan_distance)"
]
},
{
"source": [
"Moving forward we can use `MNIST_DataSet` to test our algorithms."
]
},
{
"cell_type": "markdown",
"source": [
"### Plurality Learner\n",
"\n",
"The Plurality Learner always returns the class with the most training samples. In this case, `1`."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1\n"
]
}
],
"source": [
"pL = PluralityLearner(MNIST_DataSet)\n",
"print(pL(177))"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Actual class of test image: 8\n"
]
},
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f614c5b29b0>"
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nat8D/EG1jwa/LngO3vYDLVbaZ35JMrOTJP1N0vPuvnGK+jxJf3P3Cwueh/ADLVbaiT1WO+3rUUlj\nk4OffRF41PWS3jzWJgFUp55v+xdJeknSG5KOXsd5raSVki5S7W3/Hkm3Zl8Opp6LPT/QYqW+7S8L\n4Qdaj/P5ASQRfiAowg8ERfiBoAg/EBThB4Ii/EBQhB8IivADQRF+ICjCDwRF+IGgCD8QFOEHgiq8\ngGfJDkn6YNL9WdmyTtSpvXVqXxK9NarM3n5Y7wPbej7/917cbJe791TWQEKn9tapfUn01qiqeuNt\nPxAU4QeCqjr8AxW/fkqn9tapfUn01qhKeqv0Mz+A6lS95wdQkUrCb2ZLzOxtM3vPzNZU0UMeM9tj\nZm+Y2WtVTzGWTYM2YWZvTlp2hpltN7N3s99TTpNWUW/3m9m+bNu9ZmbXVNTbXDP7p5mNmtlbZvab\nbHml2y7RVyXbre1v+81shqR3JF0taa+knZJWuvtoWxvJYWZ7JPW4e+Vjwmb2M0mfSxo8OhuSmf1R\n0sfuvj77w3m6u/+uQ3q7X8c4c3OLesubWfpXqnDblTnjdRmq2PNfJuk9d3/f3b+U9KSkZRX00fHc\nfUTSx99ZvEzS5uz2ZtX+87RdTm8dwd33u/vu7PZnko7OLF3ptkv0VYkqwn+WpA8n3d+rzpry2yW9\nYGavmllf1c1MoXvSzEgfSequspkpFM7c3E7fmVm6Y7ZdIzNel40v/L5vkbv/WNJSSXdkb287ktc+\ns3XScM3Dks5TbRq3/ZI2VNlMNrP0Fkl3ufunk2tVbrsp+qpku1UR/n2S5k66f3a2rCO4+77s94Sk\nYdU+pnSSA0cnSc1+T1Tczzfc/YC7f+3uRyQ9ogq3XTaz9BZJj7v7ULa48m03VV9Vbbcqwr9T0vlm\ndq6ZnSzpRklbK+jje8xsZvZFjMxspqTF6rzZh7dKWp3dXi3pmQp7+ZZOmbk5b2ZpVbztOm7Ga3dv\n+4+ka1T7xv+/ku6tooecvn4k6T/Zz1tV9ybpCdXeBv5Pte9GbpbUJWmHpHcl/UPSGR3U259Vm835\nddWCNqei3hap9pb+dUmvZT/XVL3tEn1Vst04wg8Iii/8gKAIPxAU4QeCIvxAUIQfCIrwA0ERfiAo\nwg8E9X/46I56sOIdFgAAAABJRU5ErkJggg==\n",
"<matplotlib.figure.Figure at 0x7f614c422358>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"\n",
"print(\"Actual class of test image:\", test_lbl[177])\n",
"plt.imshow(test_img[177].reshape((28,28)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [