diff --git a/03_classification.ipynb b/03_classification.ipynb index 25c8b98..499d157 100644 --- a/03_classification.ipynb +++ b/03_classification.ipynb @@ -72,8 +72,7 @@ "source": [ "from sklearn.datasets import fetch_openml\n", "\n", - "mnist = fetch_openml('mnist_784', version=1, as_frame=False)\n", - "mnist.keys()" + "mnist = fetch_openml('mnist_784', version=1, as_frame=False)" ] }, { @@ -82,7 +81,8 @@ "metadata": {}, "outputs": [], "source": [ - "mnist.data" + "# Not in the book\n", + "mnist.keys()" ] }, { @@ -91,7 +91,7 @@ "metadata": {}, "outputs": [], "source": [ - "mnist.target" + "print(mnist.DESCR)" ] }, { @@ -100,10 +100,7 @@ "metadata": {}, "outputs": [], "source": [ - "import numpy as np\n", - "\n", - "X, y = mnist[\"data\"], mnist[\"target\"].astype(np.int8)\n", - "X.shape" + "mnist.data" ] }, { @@ -112,7 +109,7 @@ "metadata": {}, "outputs": [], "source": [ - "y.shape" + "mnist.target" ] }, { @@ -120,6 +117,27 @@ "execution_count": 7, "metadata": {}, "outputs": [], + "source": [ + "import numpy as np\n", + "\n", + "X, y = mnist.data, mnist.target\n", + "X.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "y.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], "source": [ "28 * 28" ] @@ -133,7 +151,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -158,7 +176,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -179,7 +197,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -188,7 +206,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -203,7 +221,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -219,17 +237,17 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ - "y_train_5 = (y_train == 5)\n", - "y_test_5 = (y_test == 5)" + "y_train_5 = (y_train == '5')\n", + "y_test_5 = (y_test == '5')" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -241,7 +259,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -250,7 +268,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -275,7 +293,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -298,7 +316,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 20, "metadata": {}, "outputs": [], "source": [ @@ -311,7 +329,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -327,7 +345,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -338,7 +356,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 23, "metadata": {}, "outputs": [], "source": [ @@ -349,7 +367,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 24, "metadata": {}, "outputs": [], "source": [ @@ -366,7 +384,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ @@ -377,7 +395,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ @@ -387,7 +405,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 27, "metadata": {}, "outputs": [], "source": [ @@ -396,7 +414,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ @@ -405,7 +423,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ @@ -416,7 +434,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ @@ -432,7 +450,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -442,7 +460,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 32, "metadata": {}, "outputs": [], "source": [ @@ -452,7 +470,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 33, "metadata": {}, "outputs": [], "source": [ @@ -461,7 +479,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 34, "metadata": {}, "outputs": [], "source": [ @@ -472,7 +490,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 35, "metadata": {}, "outputs": [], "source": [ @@ -482,7 +500,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 36, "metadata": {}, "outputs": [], "source": [ @@ -493,7 +511,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 37, "metadata": {}, "outputs": [], "source": [ @@ -519,7 +537,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 38, "metadata": {}, "outputs": [], "source": [ @@ -528,7 +546,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 39, "metadata": {}, "outputs": [], "source": [ @@ -551,7 +569,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 40, "metadata": {}, "outputs": [], "source": [ @@ -560,7 +578,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 41, "metadata": {}, "outputs": [], "source": [ @@ -569,7 +587,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 42, "metadata": {}, "outputs": [], "source": [ @@ -578,7 +596,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 43, "metadata": {}, "outputs": [], "source": [ @@ -587,7 +605,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 44, "metadata": {}, "outputs": [], "source": [ @@ -603,7 +621,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 45, "metadata": {}, "outputs": [], "source": [ @@ -614,7 +632,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 46, "metadata": {}, "outputs": [], "source": [ @@ -644,7 +662,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 47, "metadata": {}, "outputs": [], "source": [ @@ -655,7 +673,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 48, "metadata": {}, "outputs": [], "source": [ @@ -668,7 +686,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 49, "metadata": {}, "outputs": [], "source": [ @@ -677,7 +695,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 50, "metadata": {}, "outputs": [], "source": [ @@ -687,7 +705,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 51, "metadata": {}, "outputs": [], "source": [ @@ -710,7 +728,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 52, "metadata": {}, "outputs": [], "source": [ @@ -719,7 +737,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 53, "metadata": {}, "outputs": [], "source": [ @@ -729,7 +747,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 54, "metadata": {}, "outputs": [], "source": [ @@ -747,25 +765,25 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "SVMs do not scale well, so let's only train on the first 2,000 instances, or else this section will take a very long time to run:" + "SVMs do not scale well to large datasets, so let's only train on the first 2,000 instances, or else this section will take a very long time to run:" ] }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 55, "metadata": {}, "outputs": [], "source": [ "from sklearn.svm import SVC\n", "\n", "svm_clf = SVC(gamma=\"auto\", random_state=42)\n", - "svm_clf.fit(X_train[:2000], y_train[:2000]) # y_train, not y_train_5\n", + "svm_clf.fit(X_train[:2000], y_train[:2000]) # y_train, not y_train_5\n", "svm_clf.predict([some_digit])" ] }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 56, "metadata": {}, "outputs": [], "source": [ @@ -775,7 +793,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 57, "metadata": {}, "outputs": [], "source": [ @@ -787,16 +805,17 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 58, "metadata": {}, "outputs": [], "source": [ - "np.argmax(some_digit_scores)" + "class_id = np.argmax(some_digit_scores)\n", + "class_id" ] }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 59, "metadata": {}, "outputs": [], "source": [ @@ -805,16 +824,16 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 60, "metadata": {}, "outputs": [], "source": [ - "svm_clf.classes_[5]" + "svm_clf.classes_[class_id]" ] }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 61, "metadata": {}, "outputs": [], "source": [ @@ -827,7 +846,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 62, "metadata": {}, "outputs": [], "source": [ @@ -836,7 +855,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 63, "metadata": {}, "outputs": [], "source": [ @@ -847,7 +866,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 64, "metadata": {}, "outputs": [], "source": [ @@ -856,7 +875,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 65, "metadata": {}, "outputs": [], "source": [ @@ -866,7 +885,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 66, "metadata": {}, "outputs": [], "source": [ @@ -885,9 +904,16 @@ "# Error Analysis" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Warning:** the following cell will take a few minutes to run:" + ] + }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 67, "metadata": {}, "outputs": [], "source": [ @@ -896,7 +922,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 68, "metadata": {}, "outputs": [], "source": [ @@ -909,7 +935,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 69, "metadata": {}, "outputs": [], "source": [ @@ -924,11 +950,11 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 70, "metadata": {}, "outputs": [], "source": [ - "cl_a, cl_b = 3, 5\n", + "cl_a, cl_b = '3', '5'\n", "X_aa = X_train[(y_train == cl_a) & (y_train_pred == cl_a)]\n", "X_ab = X_train[(y_train == cl_a) & (y_train_pred == cl_b)]\n", "X_ba = X_train[(y_train == cl_b) & (y_train_pred == cl_a)]\n", @@ -937,7 +963,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 71, "metadata": {}, "outputs": [], "source": [ @@ -985,14 +1011,14 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 72, "metadata": {}, "outputs": [], "source": [ "from sklearn.neighbors import KNeighborsClassifier\n", "\n", - "y_train_large = (y_train >= 7)\n", - "y_train_odd = (y_train % 2 == 1)\n", + "y_train_large = (y_train >= '7')\n", + "y_train_odd = (y_train.astype(np.uint8) % 2 == 1)\n", "y_multilabel = np.c_[y_train_large, y_train_odd]\n", "\n", "knn_clf = KNeighborsClassifier()\n", @@ -1001,7 +1027,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 73, "metadata": {}, "outputs": [], "source": [ @@ -1017,7 +1043,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 74, "metadata": {}, "outputs": [], "source": [ @@ -1034,7 +1060,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 75, "metadata": {}, "outputs": [], "source": [ @@ -1049,7 +1075,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 76, "metadata": {}, "outputs": [], "source": [ @@ -1062,7 +1088,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 77, "metadata": {}, "outputs": [], "source": [ @@ -1103,7 +1129,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 78, "metadata": {}, "outputs": [], "source": [ @@ -1129,7 +1155,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 79, "metadata": {}, "outputs": [], "source": [ @@ -1144,7 +1170,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 80, "metadata": {}, "outputs": [], "source": [ @@ -1153,7 +1179,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 81, "metadata": {}, "outputs": [], "source": [ @@ -1169,7 +1195,7 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 82, "metadata": {}, "outputs": [], "source": [ @@ -1208,7 +1234,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 83, "metadata": {}, "outputs": [], "source": [ @@ -1217,7 +1243,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 84, "metadata": {}, "outputs": [], "source": [ @@ -1236,7 +1262,7 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 85, "metadata": {}, "outputs": [], "source": [ @@ -1269,7 +1295,7 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 86, "metadata": {}, "outputs": [], "source": [ @@ -1294,7 +1320,7 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 87, "metadata": {}, "outputs": [], "source": [ @@ -1312,7 +1338,7 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 88, "metadata": {}, "outputs": [], "source": [ @@ -1321,7 +1347,7 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 89, "metadata": {}, "outputs": [], "source": [ @@ -1337,7 +1363,7 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": 90, "metadata": {}, "outputs": [], "source": [ @@ -1353,7 +1379,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 91, "metadata": { "tags": [] }, @@ -1400,7 +1426,7 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 92, "metadata": {}, "outputs": [], "source": [ @@ -1424,7 +1450,7 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": 93, "metadata": {}, "outputs": [], "source": [ @@ -1447,7 +1473,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 94, "metadata": {}, "outputs": [], "source": [ @@ -1480,7 +1506,7 @@ }, { "cell_type": "code", - "execution_count": 93, + "execution_count": 95, "metadata": {}, "outputs": [], "source": [ @@ -1497,7 +1523,7 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 96, "metadata": {}, "outputs": [], "source": [ @@ -1506,7 +1532,7 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 97, "metadata": {}, "outputs": [], "source": [ @@ -1536,7 +1562,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 98, "metadata": {}, "outputs": [], "source": [ @@ -1561,7 +1587,7 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 99, "metadata": {}, "outputs": [], "source": [ @@ -1577,7 +1603,7 @@ }, { "cell_type": "code", - "execution_count": 98, + "execution_count": 100, "metadata": {}, "outputs": [], "source": [ @@ -1586,7 +1612,7 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 101, "metadata": {}, "outputs": [], "source": [ @@ -1595,7 +1621,7 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 102, "metadata": {}, "outputs": [], "source": [ @@ -1618,7 +1644,7 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": 103, "metadata": {}, "outputs": [], "source": [ @@ -1640,7 +1666,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 104, "metadata": {}, "outputs": [], "source": [ @@ -1649,7 +1675,7 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 105, "metadata": {}, "outputs": [], "source": [ @@ -1669,7 +1695,7 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 106, "metadata": {}, "outputs": [], "source": [ @@ -1693,7 +1719,7 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 107, "metadata": {}, "outputs": [], "source": [ @@ -1710,7 +1736,7 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": 108, "metadata": {}, "outputs": [], "source": [ @@ -1726,7 +1752,7 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": 109, "metadata": {}, "outputs": [], "source": [ @@ -1743,7 +1769,7 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": 110, "metadata": {}, "outputs": [], "source": [ @@ -1760,7 +1786,7 @@ }, { "cell_type": "code", - "execution_count": 109, + "execution_count": 111, "metadata": {}, "outputs": [], "source": [ @@ -1784,7 +1810,7 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": 112, "metadata": {}, "outputs": [], "source": [ @@ -1811,7 +1837,7 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": 113, "metadata": {}, "outputs": [], "source": [ @@ -1845,7 +1871,7 @@ }, { "cell_type": "code", - "execution_count": 112, + "execution_count": 114, "metadata": {}, "outputs": [], "source": [ @@ -1855,7 +1881,7 @@ }, { "cell_type": "code", - "execution_count": 113, + "execution_count": 115, "metadata": {}, "outputs": [], "source": [ @@ -1889,7 +1915,7 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": 116, "metadata": {}, "outputs": [], "source": [ @@ -1916,7 +1942,7 @@ }, { "cell_type": "code", - "execution_count": 115, + "execution_count": 117, "metadata": {}, "outputs": [], "source": [ @@ -1932,7 +1958,7 @@ }, { "cell_type": "code", - "execution_count": 116, + "execution_count": 118, "metadata": {}, "outputs": [], "source": [ @@ -1942,7 +1968,7 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": 119, "metadata": {}, "outputs": [], "source": [ @@ -1951,7 +1977,7 @@ }, { "cell_type": "code", - "execution_count": 118, + "execution_count": 120, "metadata": {}, "outputs": [], "source": [ @@ -1967,7 +1993,7 @@ }, { "cell_type": "code", - "execution_count": 119, + "execution_count": 121, "metadata": {}, "outputs": [], "source": [ @@ -1981,7 +2007,7 @@ }, { "cell_type": "code", - "execution_count": 120, + "execution_count": 122, "metadata": {}, "outputs": [], "source": [ @@ -1998,7 +2024,7 @@ }, { "cell_type": "code", - "execution_count": 121, + "execution_count": 123, "metadata": {}, "outputs": [], "source": [ @@ -2007,7 +2033,7 @@ }, { "cell_type": "code", - "execution_count": 122, + "execution_count": 124, "metadata": {}, "outputs": [], "source": [ @@ -2023,7 +2049,7 @@ }, { "cell_type": "code", - "execution_count": 123, + "execution_count": 125, "metadata": {}, "outputs": [], "source": [ @@ -2042,7 +2068,7 @@ }, { "cell_type": "code", - "execution_count": 124, + "execution_count": 126, "metadata": {}, "outputs": [], "source": [ @@ -2058,7 +2084,7 @@ }, { "cell_type": "code", - "execution_count": 125, + "execution_count": 127, "metadata": {}, "outputs": [], "source": [ @@ -2067,7 +2093,7 @@ }, { "cell_type": "code", - "execution_count": 126, + "execution_count": 128, "metadata": {}, "outputs": [], "source": [ @@ -2090,7 +2116,7 @@ }, { "cell_type": "code", - "execution_count": 127, + "execution_count": 129, "metadata": {}, "outputs": [], "source": [ @@ -2107,7 +2133,7 @@ }, { "cell_type": "code", - "execution_count": 128, + "execution_count": 130, "metadata": {}, "outputs": [], "source": [ @@ -2123,7 +2149,7 @@ }, { "cell_type": "code", - "execution_count": 129, + "execution_count": 131, "metadata": {}, "outputs": [], "source": [ @@ -2146,7 +2172,7 @@ }, { "cell_type": "code", - "execution_count": 130, + "execution_count": 132, "metadata": {}, "outputs": [], "source": [ @@ -2170,7 +2196,7 @@ }, { "cell_type": "code", - "execution_count": 131, + "execution_count": 133, "metadata": {}, "outputs": [], "source": [ @@ -2189,7 +2215,7 @@ }, { "cell_type": "code", - "execution_count": 132, + "execution_count": 134, "metadata": {}, "outputs": [], "source": [ @@ -2205,7 +2231,7 @@ }, { "cell_type": "code", - "execution_count": 133, + "execution_count": 135, "metadata": {}, "outputs": [], "source": [ @@ -2229,7 +2255,7 @@ }, { "cell_type": "code", - "execution_count": 134, + "execution_count": 136, "metadata": {}, "outputs": [], "source": [ @@ -2245,7 +2271,7 @@ }, { "cell_type": "code", - "execution_count": 135, + "execution_count": 137, "metadata": {}, "outputs": [], "source": [ @@ -2266,7 +2292,7 @@ }, { "cell_type": "code", - "execution_count": 136, + "execution_count": 138, "metadata": {}, "outputs": [], "source": [ @@ -2288,7 +2314,7 @@ }, { "cell_type": "code", - "execution_count": 137, + "execution_count": 139, "metadata": {}, "outputs": [], "source": [ @@ -2309,7 +2335,7 @@ }, { "cell_type": "code", - "execution_count": 138, + "execution_count": 140, "metadata": {}, "outputs": [], "source": [ @@ -2362,7 +2388,7 @@ }, { "cell_type": "code", - "execution_count": 139, + "execution_count": 141, "metadata": {}, "outputs": [], "source": [ @@ -2387,7 +2413,7 @@ }, { "cell_type": "code", - "execution_count": 140, + "execution_count": 142, "metadata": {}, "outputs": [], "source": [ @@ -2420,7 +2446,7 @@ }, { "cell_type": "code", - "execution_count": 141, + "execution_count": 143, "metadata": {}, "outputs": [], "source": [ @@ -2431,7 +2457,7 @@ }, { "cell_type": "code", - "execution_count": 142, + "execution_count": 144, "metadata": {}, "outputs": [], "source": [ @@ -2447,7 +2473,7 @@ }, { "cell_type": "code", - "execution_count": 143, + "execution_count": 145, "metadata": {}, "outputs": [], "source": [ @@ -2463,7 +2489,7 @@ }, { "cell_type": "code", - "execution_count": 144, + "execution_count": 146, "metadata": {}, "outputs": [], "source": [ @@ -2479,7 +2505,7 @@ }, { "cell_type": "code", - "execution_count": 145, + "execution_count": 147, "metadata": {}, "outputs": [], "source": [ @@ -2502,7 +2528,7 @@ }, { "cell_type": "code", - "execution_count": 146, + "execution_count": 148, "metadata": {}, "outputs": [], "source": [