diff --git a/doc/pub/week45/ipynb/DataFiles/Datafiles/bank.csv b/doc/pub/week45/ipynb/DataFiles/Datafiles/bank.csv deleted file mode 100644 index 930337395..000000000 --- a/doc/pub/week45/ipynb/DataFiles/Datafiles/bank.csv +++ /dev/null @@ -1,1372 +0,0 @@ -3.6216,8.6661,-2.8073,-0.44699,0 -4.5459,8.1674,-2.4586,-1.4621,0 -3.866,-2.6383,1.9242,0.10645,0 -3.4566,9.5228,-4.0112,-3.5944,0 -0.32924,-4.4552,4.5718,-0.9888,0 -4.3684,9.6718,-3.9606,-3.1625,0 -3.5912,3.0129,0.72888,0.56421,0 -2.0922,-6.81,8.4636,-0.60216,0 -3.2032,5.7588,-0.75345,-0.61251,0 -1.5356,9.1772,-2.2718,-0.73535,0 -1.2247,8.7779,-2.2135,-0.80647,0 -3.9899,-2.7066,2.3946,0.86291,0 -1.8993,7.6625,0.15394,-3.1108,0 --1.5768,10.843,2.5462,-2.9362,0 -3.404,8.7261,-2.9915,-0.57242,0 -4.6765,-3.3895,3.4896,1.4771,0 -2.6719,3.0646,0.37158,0.58619,0 -0.80355,2.8473,4.3439,0.6017,0 -1.4479,-4.8794,8.3428,-2.1086,0 -5.2423,11.0272,-4.353,-4.1013,0 -5.7867,7.8902,-2.6196,-0.48708,0 -0.3292,-4.4552,4.5718,-0.9888,0 -3.9362,10.1622,-3.8235,-4.0172,0 -0.93584,8.8855,-1.6831,-1.6599,0 -4.4338,9.887,-4.6795,-3.7483,0 -0.7057,-5.4981,8.3368,-2.8715,0 -1.1432,-3.7413,5.5777,-0.63578,0 --0.38214,8.3909,2.1624,-3.7405,0 -6.5633,9.8187,-4.4113,-3.2258,0 -4.8906,-3.3584,3.4202,1.0905,0 --0.24811,-0.17797,4.9068,0.15429,0 -1.4884,3.6274,3.308,0.48921,0 -4.2969,7.617,-2.3874,-0.96164,0 --0.96511,9.4111,1.7305,-4.8629,0 --1.6162,0.80908,8.1628,0.60817,0 -2.4391,6.4417,-0.80743,-0.69139,0 -2.6881,6.0195,-0.46641,-0.69268,0 -3.6289,0.81322,1.6277,0.77627,0 -4.5679,3.1929,-2.1055,0.29653,0 -3.4805,9.7008,-3.7541,-3.4379,0 -4.1711,8.722,-3.0224,-0.59699,0 --0.2062,9.2207,-3.7044,-6.8103,0 --0.0068919,9.2931,-0.41243,-1.9638,0 -0.96441,5.8395,2.3235,0.066365,0 -2.8561,6.9176,-0.79372,0.48403,0 --0.7869,9.5663,-3.7867,-7.5034,0 -2.0843,6.6258,0.48382,-2.2134,0 --0.7869,9.5663,-3.7867,-7.5034,0 -3.9102,6.065,-2.4534,-0.68234,0 -1.6349,3.286,2.8753,0.087054,0 -4.3239,-4.8835,3.4356,-0.5776,0 -5.262,3.9834,-1.5572,1.0103,0 -3.1452,5.825,-0.51439,-1.4944,0 -2.549,6.1499,-1.1605,-1.2371,0 -4.9264,5.496,-2.4774,-0.50648,0 -4.8265,0.80287,1.6371,1.1875,0 -2.5635,6.7769,-0.61979,0.38576,0 -5.807,5.0097,-2.2384,0.43878,0 -3.1377,-4.1096,4.5701,0.98963,0 --0.78289,11.3603,-0.37644,-7.0495,0 -2.888,0.44696,4.5907,-0.24398,0 -0.49665,5.527,1.7785,-0.47156,0 -4.2586,11.2962,-4.0943,-4.3457,0 -1.7939,-1.1174,1.5454,-0.26079,0 -5.4021,3.1039,-1.1536,1.5651,0 -2.5367,2.599,2.0938,0.20085,0 -4.6054,-4.0765,2.7587,0.31981,0 -2.4235,9.5332,-3.0789,-2.7746,0 -1.0009,7.7846,-0.28219,-2.6608,0 -0.12326,8.9848,-0.9351,-2.4332,0 -3.9529,-2.3548,2.3792,0.48274,0 -4.1373,0.49248,1.093,1.8276,0 -4.7181,10.0153,-3.9486,-3.8582,0 -4.1654,-3.4495,3.643,1.0879,0 -4.4069,10.9072,-4.5775,-4.4271,0 -2.3066,3.5364,0.57551,0.41938,0 -3.7935,7.9853,-2.5477,-1.872,0 -0.049175,6.1437,1.7828,-0.72113,0 -0.24835,7.6439,0.9885,-0.87371,0 -1.1317,3.9647,3.3979,0.84351,0 -2.8033,9.0862,-3.3668,-1.0224,0 -4.4682,2.2907,0.95766,0.83058,0 -5.0185,8.5978,-2.9375,-1.281,0 -1.8664,7.7763,-0.23849,-2.9634,0 -3.245,6.63,-0.63435,0.86937,0 -4.0296,2.6756,0.80685,0.71679,0 --1.1313,1.9037,7.5339,1.022,0 -0.87603,6.8141,0.84198,-0.17156,0 -4.1197,-2.7956,2.0707,0.67412,0 -3.8027,0.81529,2.1041,1.0245,0 -1.4806,7.6377,-2.7876,-1.0341,0 -4.0632,3.584,0.72545,0.39481,0 -4.3064,8.2068,-2.7824,-1.4336,0 -2.4486,-6.3175,7.9632,0.20602,0 -3.2718,1.7837,2.1161,0.61334,0 --0.64472,-4.6062,8.347,-2.7099,0 -2.9543,1.076,0.64577,0.89394,0 -2.1616,-6.8804,8.1517,-0.081048,0 -3.82,10.9279,-4.0112,-5.0284,0 --2.7419,11.4038,2.5394,-5.5793,0 -3.3669,-5.1856,3.6935,-1.1427,0 -4.5597,-2.4211,2.6413,1.6168,0 -5.1129,-0.49871,0.62863,1.1189,0 -3.3397,-4.6145,3.9823,-0.23751,0 -4.2027,0.22761,0.96108,0.97282,0 -3.5438,1.2395,1.997,2.1547,0 -2.3136,10.6651,-3.5288,-4.7672,0 --1.8584,7.886,-1.6643,-1.8384,0 -3.106,9.5414,-4.2536,-4.003,0 -2.9163,10.8306,-3.3437,-4.122,0 -3.9922,-4.4676,3.7304,-0.1095,0 -1.518,5.6946,0.094818,-0.026738,0 -3.2351,9.647,-3.2074,-2.5948,0 -4.2188,6.8162,-1.2804,0.76076,0 -1.7819,6.9176,-1.2744,-1.5759,0 -2.5331,2.9135,-0.822,-0.12243,0 -3.8969,7.4163,-1.8245,0.14007,0 -2.108,6.7955,-0.1708,0.4905,0 -2.8969,0.70768,2.29,1.8663,0 -0.9297,-3.7971,4.6429,-0.2957,0 -3.4642,10.6878,-3.4071,-4.109,0 -4.0713,10.4023,-4.1722,-4.7582,0 --1.4572,9.1214,1.7425,-5.1241,0 --1.5075,1.9224,7.1466,0.89136,0 --0.91718,9.9884,1.1804,-5.2263,0 -2.994,7.2011,-1.2153,0.3211,0 --2.343,12.9516,3.3285,-5.9426,0 -3.7818,-2.8846,2.2558,-0.15734,0 -4.6689,1.3098,0.055404,1.909,0 -3.4663,1.1112,1.7425,1.3388,0 -3.2697,-4.3414,3.6884,-0.29829,0 -5.1302,8.6703,-2.8913,-1.5086,0 -2.0139,6.1416,0.37929,0.56938,0 -0.4339,5.5395,2.033,-0.40432,0 --1.0401,9.3987,0.85998,-5.3336,0 -4.1605,11.2196,-3.6136,-4.0819,0 -5.438,9.4669,-4.9417,-3.9202,0 -5.032,8.2026,-2.6256,-1.0341,0 -5.2418,10.5388,-4.1174,-4.2797,0 --0.2062,9.2207,-3.7044,-6.8103,0 -2.0911,0.94358,4.5512,1.234,0 -1.7317,-0.34765,4.1905,-0.99138,0 -4.1736,3.3336,-1.4244,0.60429,0 -3.9232,-3.2467,3.4579,0.83705,0 -3.8481,10.1539,-3.8561,-4.2228,0 -0.5195,-3.2633,3.0895,-0.9849,0 -3.8584,0.78425,1.1033,1.7008,0 -1.7496,-0.1759,5.1827,1.2922,0 -3.6277,0.9829,0.68861,0.63403,0 -2.7391,7.4018,0.071684,-2.5302,0 -4.5447,8.2274,-2.4166,-1.5875,0 --1.7599,11.9211,2.6756,-3.3241,0 -5.0691,0.21313,0.20278,1.2095,0 -3.4591,11.112,-4.2039,-5.0931,0 -1.9358,8.1654,-0.023425,-2.2586,0 -2.486,-0.99533,5.3404,-0.15475,0 -2.4226,-4.5752,5.947,0.21507,0 -3.9479,-3.7723,2.883,0.019813,0 -2.2634,-4.4862,3.6558,-0.61251,0 -1.3566,4.2358,2.1341,0.3211,0 -5.0452,3.8964,-1.4304,0.86291,0 -3.5499,8.6165,-3.2794,-1.2009,0 -0.17346,7.8695,0.26876,-3.7883,0 -2.4008,9.3593,-3.3565,-3.3526,0 -4.8851,1.5995,-0.00029081,1.6401,0 -4.1927,-3.2674,2.5839,0.21766,0 -1.1166,8.6496,-0.96252,-1.8112,0 -1.0235,6.901,-2.0062,-2.7125,0 --1.803,11.8818,2.0458,-5.2728,0 -0.11739,6.2761,-1.5495,-2.4746,0 -0.5706,-0.0248,1.2421,-0.5621,0 -4.0552,-2.4583,2.2806,1.0323,0 --1.6952,1.0657,8.8294,0.94955,0 --1.1193,10.7271,2.0938,-5.6504,0 -1.8799,2.4707,2.4931,0.37671,0 -3.583,-3.7971,3.4391,-0.12501,0 -0.19081,9.1297,-3.725,-5.8224,0 -3.6582,5.6864,-1.7157,-0.23751,0 --0.13144,-1.7775,8.3316,0.35214,0 -2.3925,9.798,-3.0361,-2.8224,0 -1.6426,3.0149,0.22849,-0.147,0 --0.11783,-1.5789,8.03,-0.028031,0 --0.69572,8.6165,1.8419,-4.3289,0 -2.9421,7.4101,-0.97709,-0.88406,0 --1.7559,11.9459,3.0946,-4.8978,0 --1.2537,10.8803,1.931,-4.3237,0 -3.2585,-4.4614,3.8024,-0.15087,0 -1.8314,6.3672,-0.036278,0.049554,0 -4.5645,-3.6275,2.8684,0.27714,0 -2.7365,-5.0325,6.6608,-0.57889,0 -0.9297,-3.7971,4.6429,-0.2957,0 -3.9663,10.1684,-4.1131,-4.6056,0 -1.4578,-0.08485,4.1785,0.59136,0 -4.8272,3.0687,0.68604,0.80731,0 --2.341,12.3784,0.70403,-7.5836,0 --1.8584,7.886,-1.6643,-1.8384,0 -4.1454,7.257,-1.9153,-0.86078,0 -1.9157,6.0816,0.23705,-2.0116,0 -4.0215,-2.1914,2.4648,1.1409,0 -5.8862,5.8747,-2.8167,-0.30087,0 --2.0897,10.8265,2.3603,-3.4198,0 -4.0026,-3.5943,3.5573,0.26809,0 --0.78689,9.5663,-3.7867,-7.5034,0 -4.1757,10.2615,-3.8552,-4.3056,0 -0.83292,7.5404,0.65005,-0.92544,0 -4.8077,2.2327,-0.26334,1.5534,0 -5.3063,5.2684,-2.8904,-0.52716,0 -2.5605,9.2683,-3.5913,-1.356,0 -2.1059,7.6046,-0.47755,-1.8461,0 -2.1721,-0.73874,5.4672,-0.72371,0 -4.2899,9.1814,-4.6067,-4.3263,0 -3.5156,10.1891,-4.2759,-4.978,0 -2.614,8.0081,-3.7258,-1.3069,0 -0.68087,2.3259,4.9085,0.54998,0 -4.1962,0.74493,0.83256,0.753,0 -6.0919,2.9673,-1.3267,1.4551,0 -1.3234,3.2964,0.2362,-0.11984,0 -1.3264,1.0326,5.6566,-0.41337,0 --0.16735,7.6274,1.2061,-3.6241,0 --1.3,10.2678,-2.953,-5.8638,0 --2.2261,12.5398,2.9438,-3.5258,0 -2.4196,6.4665,-0.75688,0.228,0 -1.0987,0.6394,5.989,-0.58277,0 -4.6464,10.5326,-4.5852,-4.206,0 --0.36038,4.1158,3.1143,-0.37199,0 -1.3562,3.2136,4.3465,0.78662,0 -0.5706,-0.0248,1.2421,-0.5621,0 --2.6479,10.1374,-1.331,-5.4707,0 -3.1219,-3.137,1.9259,-0.37458,0 -5.4944,1.5478,0.041694,1.9284,0 --1.3389,1.552,7.0806,1.031,0 --2.3361,11.9604,3.0835,-5.4435,0 -2.2596,-0.033118,4.7355,-0.2776,0 -0.46901,-0.63321,7.3848,0.36507,0 -2.7296,2.8701,0.51124,0.5099,0 -2.0466,2.03,2.1761,-0.083634,0 --1.3274,9.498,2.4408,-5.2689,0 -3.8905,-2.1521,2.6302,1.1047,0 -3.9994,0.90427,1.1693,1.6892,0 -2.3952,9.5083,-3.1783,-3.0086,0 -3.2704,6.9321,-1.0456,0.23447,0 --1.3931,1.5664,7.5382,0.78403,0 -1.6406,3.5488,1.3964,-0.36424,0 -2.7744,6.8576,-1.0671,0.075416,0 -2.4287,9.3821,-3.2477,-1.4543,0 -4.2134,-2.806,2.0116,0.67412,0 -1.6472,0.48213,4.7449,1.225,0 -2.0597,-0.99326,5.2119,-0.29312,0 -0.3798,0.7098,0.7572,-0.4444,0 -1.0135,8.4551,-1.672,-2.0815,0 -4.5691,-4.4552,3.1769,0.0042961,0 -0.57461,10.1105,-1.6917,-4.3922,0 -0.5734,9.1938,-0.9094,-1.872,0 -5.2868,3.257,-1.3721,1.1668,0 -4.0102,10.6568,-4.1388,-5.0646,0 -4.1425,-3.6792,3.8281,1.6297,0 -3.0934,-2.9177,2.2232,0.22283,0 -2.2034,5.9947,0.53009,0.84998,0 -3.744,0.79459,0.95851,1.0077,0 -3.0329,2.2948,2.1135,0.35084,0 -3.7731,7.2073,-1.6814,-0.94742,0 -3.1557,2.8908,0.59693,0.79825,0 -1.8114,7.6067,-0.9788,-2.4668,0 -4.988,7.2052,-3.2846,-1.1608,0 -2.483,6.6155,-0.79287,-0.90863,0 -1.594,4.7055,1.3758,0.081882,0 --0.016103,9.7484,0.15394,-1.6134,0 -3.8496,9.7939,-4.1508,-4.4582,0 -0.9297,-3.7971,4.6429,-0.2957,0 -4.9342,2.4107,-0.17594,1.6245,0 -3.8417,10.0215,-4.2699,-4.9159,0 -5.3915,9.9946,-3.8081,-3.3642,0 -4.4072,-0.070365,2.0416,1.1319,0 -2.6946,6.7976,-0.40301,0.44912,0 -5.2756,0.13863,0.12138,1.1435,0 -3.4312,6.2637,-1.9513,-0.36165,0 -4.052,-0.16555,0.45383,0.51248,0 -1.3638,-4.7759,8.4182,-1.8836,0 -0.89566,7.7763,-2.7473,-1.9353,0 -1.9265,7.7557,-0.16823,-3.0771,0 -0.20977,-0.46146,7.7267,0.90946,0 -4.068,-2.9363,2.1992,0.50084,0 -2.877,-4.0599,3.6259,-0.32544,0 -0.3223,-0.89808,8.0883,0.69222,0 --1.3,10.2678,-2.953,-5.8638,0 -1.7747,-6.4334,8.15,-0.89828,0 -1.3419,-4.4221,8.09,-1.7349,0 -0.89606,10.5471,-1.4175,-4.0327,0 -0.44125,2.9487,4.3225,0.7155,0 -3.2422,6.2265,0.12224,-1.4466,0 -2.5678,3.5136,0.61406,-0.40691,0 --2.2153,11.9625,0.078538,-7.7853,0 -4.1349,6.1189,-2.4294,-0.19613,0 -1.934,-9.2828e-06,4.816,-0.33967,0 -2.5068,1.1588,3.9249,0.12585,0 -2.1464,6.0795,-0.5778,-2.2302,0 -0.051979,7.0521,-2.0541,-3.1508,0 -1.2706,8.035,-0.19651,-2.1888,0 -1.143,0.83391,5.4552,-0.56984,0 -2.2928,9.0386,-3.2417,-1.2991,0 -0.3292,-4.4552,4.5718,-0.9888,0 -2.9719,6.8369,-0.2702,0.71291,0 -1.6849,8.7489,-1.2641,-1.3858,0 --1.9177,11.6894,2.5454,-3.2763,0 -2.3729,10.4726,-3.0087,-3.2013,0 -1.0284,9.767,-1.3687,-1.7853,0 -0.27451,9.2186,-3.2863,-4.8448,0 -1.6032,-4.7863,8.5193,-2.1203,0 -4.616,10.1788,-4.2185,-4.4245,0 -4.2478,7.6956,-2.7696,-1.0767,0 -4.0215,-2.7004,2.4957,0.36636,0 -5.0297,-4.9704,3.5025,-0.23751,0 -1.5902,2.2948,3.2403,0.18404,0 -2.1274,5.1939,-1.7971,-1.1763,0 -1.1811,8.3847,-2.0567,-0.90345,0 -0.3292,-4.4552,4.5718,-0.9888,0 -5.7353,5.2808,-2.2598,0.075416,0 -2.6718,5.6574,0.72974,-1.4892,0 -1.5799,-4.7076,7.9186,-1.5487,0 -2.9499,2.2493,1.3458,-0.037083,0 -0.5195,-3.2633,3.0895,-0.9849,0 -3.7352,9.5911,-3.9032,-3.3487,0 --1.7344,2.0175,7.7618,0.93532,0 -3.884,10.0277,-3.9298,-4.0819,0 -3.5257,1.2829,1.9276,1.7991,0 -4.4549,2.4976,1.0313,0.96894,0 --0.16108,-6.4624,8.3573,-1.5216,0 -4.2164,9.4607,-4.9288,-5.2366,0 -3.5152,6.8224,-0.67377,-0.46898,0 -1.6988,2.9094,2.9044,0.11033,0 -1.0607,2.4542,2.5188,-0.17027,0 -2.0421,1.2436,4.2171,0.90429,0 -3.5594,1.3078,1.291,1.6556,0 -3.0009,5.8126,-2.2306,-0.66553,0 -3.9294,1.4112,1.8076,0.89782,0 -3.4667,-4.0724,4.2882,1.5418,0 -3.966,3.9213,0.70574,0.33662,0 -1.0191,2.33,4.9334,0.82929,0 -0.96414,5.616,2.2138,-0.12501,0 -1.8205,6.7562,0.0099913,0.39481,0 -4.9923,7.8653,-2.3515,-0.71984,0 --1.1804,11.5093,0.15565,-6.8194,0 -4.0329,0.23175,0.89082,1.1823,0 -0.66018,10.3878,-1.4029,-3.9151,0 -3.5982,7.1307,-1.3035,0.21248,0 --1.8584,7.886,-1.6643,-1.8384,0 -4.0972,0.46972,1.6671,0.91593,0 -3.3299,0.91254,1.5806,0.39352,0 -3.1088,3.1122,0.80857,0.4336,0 --4.2859,8.5234,3.1392,-0.91639,0 --1.2528,10.2036,2.1787,-5.6038,0 -0.5195,-3.2633,3.0895,-0.9849,0 -0.3292,-4.4552,4.5718,-0.9888,0 -0.88872,5.3449,2.045,-0.19355,0 -3.5458,9.3718,-4.0351,-3.9564,0 --0.21661,8.0329,1.8848,-3.8853,0 -2.7206,9.0821,-3.3111,-0.96811,0 -3.2051,8.6889,-2.9033,-0.7819,0 -2.6917,10.8161,-3.3,-4.2888,0 --2.3242,11.5176,1.8231,-5.375,0 -2.7161,-4.2006,4.1914,0.16981,0 -3.3848,3.2674,0.90967,0.25128,0 -1.7452,4.8028,2.0878,0.62627,0 -2.805,0.57732,1.3424,1.2133,0 -5.7823,5.5788,-2.4089,-0.056479,0 -3.8999,1.734,1.6011,0.96765,0 -3.5189,6.332,-1.7791,-0.020273,0 -3.2294,7.7391,-0.37816,-2.5405,0 -3.4985,3.1639,0.22677,-0.1651,0 -2.1948,1.3781,1.1582,0.85774,0 -2.2526,9.9636,-3.1749,-2.9944,0 -4.1529,-3.9358,2.8633,-0.017686,0 -0.74307,11.17,-1.3824,-4.0728,0 -1.9105,8.871,-2.3386,-0.75604,0 --1.5055,0.070346,6.8681,-0.50648,0 -0.58836,10.7727,-1.3884,-4.3276,0 -3.2303,7.8384,-3.5348,-1.2151,0 --1.9922,11.6542,2.6542,-5.2107,0 -2.8523,9.0096,-3.761,-3.3371,0 -4.2772,2.4955,0.48554,0.36119,0 -1.5099,0.039307,6.2332,-0.30346,0 -5.4188,10.1457,-4.084,-3.6991,0 -0.86202,2.6963,4.2908,0.54739,0 -3.8117,10.1457,-4.0463,-4.5629,0 -0.54777,10.3754,-1.5435,-4.1633,0 -2.3718,7.4908,0.015989,-1.7414,0 --2.4953,11.1472,1.9353,-3.4638,0 -4.6361,-2.6611,2.8358,1.1991,0 --2.2527,11.5321,2.5899,-3.2737,0 -3.7982,10.423,-4.1602,-4.9728,0 --0.36279,8.2895,-1.9213,-3.3332,0 -2.1265,6.8783,0.44784,-2.2224,0 -0.86736,5.5643,1.6765,-0.16769,0 -3.7831,10.0526,-3.8869,-3.7366,0 --2.2623,12.1177,0.28846,-7.7581,0 -1.2616,4.4303,-1.3335,-1.7517,0 -2.6799,3.1349,0.34073,0.58489,0 --0.39816,5.9781,1.3912,-1.1621,0 -4.3937,0.35798,2.0416,1.2004,0 -2.9695,5.6222,0.27561,-1.1556,0 -1.3049,-0.15521,6.4911,-0.75346,0 -2.2123,-5.8395,7.7687,-0.85302,0 -1.9647,6.9383,0.57722,0.66377,0 -3.0864,-2.5845,2.2309,0.30947,0 -0.3798,0.7098,0.7572,-0.4444,0 -0.58982,7.4266,1.2353,-2.9595,0 -0.14783,7.946,1.0742,-3.3409,0 --0.062025,6.1975,1.099,-1.131,0 -4.223,1.1319,0.72202,0.96118,0 -0.64295,7.1018,0.3493,-0.41337,0 -1.941,0.46351,4.6472,1.0879,0 -4.0047,0.45937,1.3621,1.6181,0 -3.7767,9.7794,-3.9075,-3.5323,0 -3.4769,-0.15314,2.53,2.4495,0 -1.9818,9.2621,-3.521,-1.872,0 -3.8023,-3.8696,4.044,0.95343,0 -4.3483,11.1079,-4.0857,-4.2539,0 -1.1518,1.3864,5.2727,-0.43536,0 --1.2576,1.5892,7.0078,0.42455,0 -1.9572,-5.1153,8.6127,-1.4297,0 --2.484,12.1611,2.8204,-3.7418,0 --1.1497,1.2954,7.701,0.62627,0 -4.8368,10.0132,-4.3239,-4.3276,0 --0.12196,8.8068,0.94566,-4.2267,0 -1.9429,6.3961,0.092248,0.58102,0 -1.742,-4.809,8.2142,-2.0659,0 --1.5222,10.8409,2.7827,-4.0974,0 --1.3,10.2678,-2.953,-5.8638,0 -3.4246,-0.14693,0.80342,0.29136,0 -2.5503,-4.9518,6.3729,-0.41596,0 -1.5691,6.3465,-0.1828,-2.4099,0 -1.3087,4.9228,2.0013,0.22024,0 -5.1776,8.2316,-3.2511,-1.5694,0 -2.229,9.6325,-3.1123,-2.7164,0 -5.6272,10.0857,-4.2931,-3.8142,0 -1.2138,8.7986,-2.1672,-0.74182,0 -0.3798,0.7098,0.7572,-0.4444,0 -0.5415,6.0319,1.6825,-0.46122,0 -4.0524,5.6802,-1.9693,0.026279,0 -4.7285,2.1065,-0.28305,1.5625,0 -3.4359,0.66216,2.1041,1.8922,0 -0.86816,10.2429,-1.4912,-4.0082,0 -3.359,9.8022,-3.8209,-3.7133,0 -3.6702,2.9942,0.85141,0.30688,0 -1.3349,6.1189,0.46497,0.49826,0 -3.1887,-3.4143,2.7742,-0.2026,0 -2.4527,2.9653,0.20021,-0.056479,0 -3.9121,2.9735,0.92852,0.60558,0 -3.9364,10.5885,-3.725,-4.3133,0 -3.9414,-3.2902,3.1674,1.0866,0 -3.6922,-3.9585,4.3439,1.3517,0 -5.681,7.795,-2.6848,-0.92544,0 -0.77124,9.0862,-1.2281,-1.4996,0 -3.5761,9.7753,-3.9795,-3.4638,0 -1.602,6.1251,0.52924,0.47886,0 -2.6682,10.216,-3.4414,-4.0069,0 -2.0007,1.8644,2.6491,0.47369,0 -0.64215,3.1287,4.2933,0.64696,0 -4.3848,-3.0729,3.0423,1.2741,0 -0.77445,9.0552,-2.4089,-1.3884,0 -0.96574,8.393,-1.361,-1.4659,0 -3.0948,8.7324,-2.9007,-0.96682,0 -4.9362,7.6046,-2.3429,-0.85302,0 --1.9458,11.2217,1.9079,-3.4405,0 -5.7403,-0.44284,0.38015,1.3763,0 --2.6989,12.1984,0.67661,-8.5482,0 -1.1472,3.5985,1.9387,-0.43406,0 -2.9742,8.96,-2.9024,-1.0379,0 -4.5707,7.2094,-3.2794,-1.4944,0 -0.1848,6.5079,2.0133,-0.87242,0 -0.87256,9.2931,-0.7843,-2.1978,0 -0.39559,6.8866,1.0588,-0.67587,0 -3.8384,6.1851,-2.0439,-0.033204,0 -2.8209,7.3108,-0.81857,-1.8784,0 -2.5817,9.7546,-3.1749,-2.9957,0 -3.8213,0.23175,2.0133,2.0564,0 -0.3798,0.7098,0.7572,-0.4444,0 -3.4893,6.69,-1.2042,-0.38751,0 --1.7781,0.8546,7.1303,0.027572,0 -2.0962,2.4769,1.9379,-0.040962,0 -0.94732,-0.57113,7.1903,-0.67587,0 -2.8261,9.4007,-3.3034,-1.0509,0 -0.0071249,8.3661,0.50781,-3.8155,0 -0.96788,7.1907,1.2798,-2.4565,0 -4.7432,2.1086,0.1368,1.6543,0 -3.6575,7.2797,-2.2692,-1.144,0 -3.8832,6.4023,-2.432,-0.98363,0 -3.4776,8.811,-3.1886,-0.92285,0 -1.1315,7.9212,1.093,-2.8444,0 -2.8237,2.8597,0.19678,0.57196,0 -1.9321,6.0423,0.26019,-2.053,0 -3.0632,-3.3315,5.1305,0.8267,0 --1.8411,10.8306,2.769,-3.0901,0 -2.8084,11.3045,-3.3394,-4.4194,0 -2.5698,-4.4076,5.9856,0.078002,0 --0.12624,10.3216,-3.7121,-6.1185,0 -3.3756,-4.0951,4.367,1.0698,0 --0.048008,-1.6037,8.4756,0.75558,0 -0.5706,-0.0248,1.2421,-0.5621,0 -0.88444,6.5906,0.55837,-0.44182,0 -3.8644,3.7061,0.70403,0.35214,0 -1.2999,2.5762,2.0107,-0.18967,0 -2.0051,-6.8638,8.132,-0.2401,0 -4.9294,0.27727,0.20792,0.33662,0 -2.8297,6.3485,-0.73546,-0.58665,0 -2.565,8.633,-2.9941,-1.3082,0 -2.093,8.3061,0.022844,-3.2724,0 -4.6014,5.6264,-2.1235,0.19309,0 -5.0617,-0.35799,0.44698,0.99868,0 --0.2951,9.0489,-0.52725,-2.0789,0 -3.577,2.4004,1.8908,0.73231,0 -3.9433,2.5017,1.5215,0.903,0 -2.6648,10.754,-3.3994,-4.1685,0 -5.9374,6.1664,-2.5905,-0.36553,0 -2.0153,1.8479,3.1375,0.42843,0 -5.8782,5.9409,-2.8544,-0.60863,0 --2.3983,12.606,2.9464,-5.7888,0 -1.762,4.3682,2.1384,0.75429,0 -4.2406,-2.4852,1.608,0.7155,0 -3.4669,6.87,-1.0568,-0.73147,0 -3.1896,5.7526,-0.18537,-0.30087,0 -0.81356,9.1566,-2.1492,-4.1814,0 -0.52855,0.96427,4.0243,-1.0483,0 -2.1319,-2.0403,2.5574,-0.061652,0 -0.33111,4.5731,2.057,-0.18967,0 -1.2746,8.8172,-1.5323,-1.7957,0 -2.2091,7.4556,-1.3284,-3.3021,0 -2.5328,7.528,-0.41929,-2.6478,0 -3.6244,1.4609,1.3501,1.9284,0 --1.3885,12.5026,0.69118,-7.5487,0 -5.7227,5.8312,-2.4097,-0.24527,0 -3.3583,10.3567,-3.7301,-3.6991,0 -2.5227,2.2369,2.7236,0.79438,0 -0.045304,6.7334,1.0708,-0.9332,0 -4.8278,7.7598,-2.4491,-1.2216,0 -1.9476,-4.7738,8.527,-1.8668,0 -2.7659,0.66216,4.1494,-0.28406,0 --0.10648,-0.76771,7.7575,0.64179,0 -0.72252,-0.053811,5.6703,-1.3509,0 -4.2475,1.4816,-0.48355,0.95343,0 -3.9772,0.33521,2.2566,2.1625,0 -3.6667,4.302,0.55923,0.33791,0 -2.8232,10.8513,-3.1466,-3.9784,0 --1.4217,11.6542,-0.057699,-7.1025,0 -4.2458,1.1981,0.66633,0.94696,0 -4.1038,-4.8069,3.3491,-0.49225,0 -1.4507,8.7903,-2.2324,-0.65259,0 -3.4647,-3.9172,3.9746,0.36119,0 -1.8533,6.1458,1.0176,-2.0401,0 -3.5288,0.71596,1.9507,1.9375,0 -3.9719,1.0367,0.75973,1.0013,0 -3.534,9.3614,-3.6316,-1.2461,0 -3.6894,9.887,-4.0788,-4.3664,0 -3.0672,-4.4117,3.8238,-0.81682,0 -2.6463,-4.8152,6.3549,0.003003,0 -2.2893,3.733,0.6312,-0.39786,0 -1.5673,7.9274,-0.056842,-2.1694,0 -4.0405,0.51524,1.0279,1.106,0 -4.3846,-4.8794,3.3662,-0.029324,0 -2.0165,-0.25246,5.1707,1.0763,0 -4.0446,11.1741,-4.3582,-4.7401,0 --0.33729,-0.64976,7.6659,0.72326,0 --2.4604,12.7302,0.91738,-7.6418,0 -4.1195,10.9258,-3.8929,-4.1802,0 -2.0193,0.82356,4.6369,1.4202,0 -1.5701,7.9129,0.29018,-2.1953,0 -2.6415,7.586,-0.28562,-1.6677,0 -5.0214,8.0764,-3.0515,-1.7155,0 -4.3435,3.3295,0.83598,0.64955,0 -1.8238,-6.7748,8.3873,-0.54139,0 -3.9382,0.9291,0.78543,0.6767,0 -2.2517,-5.1422,4.2916,-1.2487,0 -5.504,10.3671,-4.413,-4.0211,0 -2.8521,9.171,-3.6461,-1.2047,0 -1.1676,9.1566,-2.0867,-0.80647,0 -2.6104,8.0081,-0.23592,-1.7608,0 -0.32444,10.067,-1.1982,-4.1284,0 -3.8962,-4.7904,3.3954,-0.53751,0 -2.1752,-0.8091,5.1022,-0.67975,0 -1.1588,8.9331,-2.0807,-1.1272,0 -4.7072,8.2957,-2.5605,-1.4905,0 --1.9667,11.8052,-0.40472,-7.8719,0 -4.0552,0.40143,1.4563,0.65343,0 -2.3678,-6.839,8.4207,-0.44829,0 -0.33565,6.8369,0.69718,-0.55691,0 -4.3398,-5.3036,3.8803,-0.70432,0 -1.5456,8.5482,0.4187,-2.1784,0 -1.4276,8.3847,-2.0995,-1.9677,0 --0.27802,8.1881,-3.1338,-2.5276,0 -0.93611,8.6413,-1.6351,-1.3043,0 -4.6352,-3.0087,2.6773,1.212,0 -1.5268,-5.5871,8.6564,-1.722,0 -0.95626,2.4728,4.4578,0.21636,0 --2.7914,1.7734,6.7756,-0.39915,0 -5.2032,3.5116,-1.2538,1.0129,0 -3.1836,7.2321,-1.0713,-2.5909,0 -0.65497,5.1815,1.0673,-0.42113,0 -5.6084,10.3009,-4.8003,-4.3534,0 -1.105,7.4432,0.41099,-3.0332,0 -3.9292,-2.9156,2.2129,0.30817,0 -1.1558,6.4003,1.5506,0.6961,0 -2.5581,2.6218,1.8513,0.40257,0 -2.7831,10.9796,-3.557,-4.4039,0 -3.7635,2.7811,0.66119,0.34179,0 --2.6479,10.1374,-1.331,-5.4707,0 -1.0652,8.3682,-1.4004,-1.6509,0 --1.4275,11.8797,0.41613,-6.9978,0 -5.7456,10.1808,-4.7857,-4.3366,0 -5.086,3.2798,-1.2701,1.1189,0 -3.4092,5.4049,-2.5228,-0.89958,0 --0.2361,9.3221,2.1307,-4.3793,0 -3.8197,8.9951,-4.383,-4.0327,0 --1.1391,1.8127,6.9144,0.70127,0 -4.9249,0.68906,0.77344,1.2095,0 -2.5089,6.841,-0.029423,0.44912,0 --0.2062,9.2207,-3.7044,-6.8103,0 -3.946,6.8514,-1.5443,-0.5582,0 --0.278,8.1881,-3.1338,-2.5276,0 -1.8592,3.2074,-0.15966,-0.26208,0 -0.56953,7.6294,1.5754,-3.2233,0 -3.4626,-4.449,3.5427,0.15429,0 -3.3951,1.1484,2.1401,2.0862,0 -5.0429,-0.52974,0.50439,1.106,0 -3.7758,7.1783,-1.5195,0.40128,0 -4.6562,7.6398,-2.4243,-1.2384,0 -4.0948,-2.9674,2.3689,0.75429,0 -1.8384,6.063,0.54723,0.51248,0 -2.0153,0.43661,4.5864,-0.3151,0 -3.5251,0.7201,1.6928,0.64438,0 -3.757,-5.4236,3.8255,-1.2526,0 -2.5989,3.5178,0.7623,0.81119,0 -1.8994,0.97462,4.2265,0.81377,0 -3.6941,-3.9482,4.2625,1.1577,0 -4.4295,-2.3507,1.7048,0.90946,0 -6.8248,5.2187,-2.5425,0.5461,0 -1.8967,-2.5163,2.8093,-0.79742,0 -2.1526,-6.1665,8.0831,-0.34355,0 -3.3004,7.0811,-1.3258,0.22283,0 -2.7213,7.05,-0.58808,0.41809,0 -3.8846,-3.0336,2.5334,0.20214,0 -4.1665,-0.4449,0.23448,0.27843,0 -0.94225,5.8561,1.8762,-0.32544,0 -5.1321,-0.031048,0.32616,1.1151,0 -0.38251,6.8121,1.8128,-0.61251,0 -3.0333,-2.5928,2.3183,0.303,0 -2.9233,6.0464,-0.11168,-0.58665,0 -1.162,10.2926,-1.2821,-4.0392,0 -3.7791,2.5762,1.3098,0.5655,0 -0.77765,5.9781,1.1941,-0.3526,0 --0.38388,-1.0471,8.0514,0.49567,0 -0.21084,9.4359,-0.094543,-1.859,0 -2.9571,-4.5938,5.9068,0.57196,0 -4.6439,-3.3729,2.5976,0.55257,0 -3.3577,-4.3062,6.0241,0.18274,0 -3.5127,2.9073,1.0579,0.40774,0 -2.6562,10.7044,-3.3085,-4.0767,0 --1.3612,10.694,1.7022,-2.9026,0 --0.278,8.1881,-3.1338,-2.5276,0 -1.04,-6.9321,8.2888,-1.2991,0 -2.1881,2.7356,1.3278,-0.1832,0 -4.2756,-2.6528,2.1375,0.94437,0 --0.11996,6.8741,0.91995,-0.6694,0 -2.9736,8.7944,-3.6359,-1.3754,0 -3.7798,-3.3109,2.6491,0.066365,0 -5.3586,3.7557,-1.7345,1.0789,0 -1.8373,6.1292,0.84027,0.55257,0 -1.2262,0.89599,5.7568,-0.11596,0 --0.048008,-0.56078,7.7215,0.453,0 -0.5706,-0.024841,1.2421,-0.56208,0 -4.3634,0.46351,1.4281,2.0202,0 -3.482,-4.1634,3.5008,-0.078462,0 -0.51947,-3.2633,3.0895,-0.98492,0 -2.3164,-2.628,3.1529,-0.08622,0 --1.8348,11.0334,3.1863,-4.8888,0 -1.3754,8.8793,-1.9136,-0.53751,0 --0.16682,5.8974,0.49839,-0.70044,0 -0.29961,7.1328,-0.31475,-1.1828,0 -0.25035,9.3262,-3.6873,-6.2543,0 -2.4673,1.3926,1.7125,0.41421,0 -0.77805,6.6424,-1.1425,-1.0573,0 -3.4465,2.9508,1.0271,0.5461,0 -2.2429,-4.1427,5.2333,-0.40173,0 -3.7321,-3.884,3.3577,-0.0060486,0 -4.3365,-3.584,3.6884,0.74912,0 --2.0759,10.8223,2.6439,-4.837,0 -4.0715,7.6398,-2.0824,-1.1698,0 -0.76163,5.8209,1.1959,-0.64613,0 --0.53966,7.3273,0.46583,-1.4543,0 -2.6213,5.7919,0.065686,-1.5759,0 -3.0242,-3.3378,2.5865,-0.54785,0 -5.8519,5.3905,-2.4037,-0.061652,0 -0.5706,-0.0248,1.2421,-0.5621,0 -3.9771,11.1513,-3.9272,-4.3444,0 -1.5478,9.1814,-1.6326,-1.7375,0 -0.74054,0.36625,2.1992,0.48403,0 -0.49571,10.2243,-1.097,-4.0159,0 -1.645,7.8612,-0.87598,-3.5569,0 -3.6077,6.8576,-1.1622,0.28231,0 -3.2403,-3.7082,5.2804,0.41291,0 -3.9166,10.2491,-4.0926,-4.4659,0 -3.9262,6.0299,-2.0156,-0.065531,0 -5.591,10.4643,-4.3839,-4.3379,0 -3.7522,-3.6978,3.9943,1.3051,0 -1.3114,4.5462,2.2935,0.22541,0 -3.7022,6.9942,-1.8511,-0.12889,0 -4.364,-3.1039,2.3757,0.78532,0 -3.5829,1.4423,1.0219,1.4008,0 -4.65,-4.8297,3.4553,-0.25174,0 -5.1731,3.9606,-1.983,0.40774,0 -3.2692,3.4184,0.20706,-0.066824,0 -2.4012,1.6223,3.0312,0.71679,0 -1.7257,-4.4697,8.2219,-1.8073,0 -4.7965,6.9859,-1.9967,-0.35001,0 -4.0962,10.1891,-3.9323,-4.1827,0 -2.5559,3.3605,2.0321,0.26809,0 -3.4916,8.5709,-3.0326,-0.59182,0 -0.5195,-3.2633,3.0895,-0.9849,0 -2.9856,7.2673,-0.409,-2.2431,0 -4.0932,5.4132,-1.8219,0.23576,0 -1.7748,-0.76978,5.5854,1.3039,0 -5.2012,0.32694,0.17965,1.1797,0 --0.45062,-1.3678,7.0858,-0.40303,0 -4.8451,8.1116,-2.9512,-1.4724,0 -0.74841,7.2756,1.1504,-0.5388,0 -5.1213,8.5565,-3.3917,-1.5474,0 -3.6181,-3.7454,2.8273,-0.71208,0 -0.040498,8.5234,1.4461,-3.9306,0 --2.6479,10.1374,-1.331,-5.4707,0 -0.37984,0.70975,0.75716,-0.44441,0 --0.95923,0.091039,6.2204,-1.4828,0 -2.8672,10.0008,-3.2049,-3.1095,0 -1.0182,9.109,-0.62064,-1.7129,0 --2.7143,11.4535,2.1092,-3.9629,0 -3.8244,-3.1081,2.4537,0.52024,0 -2.7961,2.121,1.8385,0.38317,0 -3.5358,6.7086,-0.81857,0.47886,0 --0.7056,8.7241,2.2215,-4.5965,0 -4.1542,7.2756,-2.4766,-1.2099,0 -0.92703,9.4318,-0.66263,-1.6728,0 -1.8216,-6.4748,8.0514,-0.41855,0 --2.4473,12.6247,0.73573,-7.6612,0 -3.5862,-3.0957,2.8093,0.24481,0 -0.66191,9.6594,-0.28819,-1.6638,0 -4.7926,1.7071,-0.051701,1.4926,0 -4.9852,8.3516,-2.5425,-1.2823,0 -0.75736,3.0294,2.9164,-0.068117,0 -4.6499,7.6336,-1.9427,-0.37458,0 --0.023579,7.1742,0.78457,-0.75734,0 -0.85574,0.0082678,6.6042,-0.53104,0 -0.88298,0.66009,6.0096,-0.43277,0 -4.0422,-4.391,4.7466,1.137,0 -2.2546,8.0992,-0.24877,-3.2698,0 -0.38478,6.5989,-0.3336,-0.56466,0 -3.1541,-5.1711,6.5991,0.57455,0 -2.3969,0.23589,4.8477,1.437,0 -4.7114,2.0755,-0.2702,1.2379,0 -4.0127,10.1477,-3.9366,-4.0728,0 -2.6606,3.1681,1.9619,0.18662,0 -3.931,1.8541,-0.023425,1.2314,0 -0.01727,8.693,1.3989,-3.9668,0 -3.2414,0.40971,1.4015,1.1952,0 -2.2504,3.5757,0.35273,0.2836,0 --1.3971,3.3191,-1.3927,-1.9948,1 -0.39012,-0.14279,-0.031994,0.35084,1 --1.6677,-7.1535,7.8929,0.96765,1 --3.8483,-12.8047,15.6824,-1.281,1 --3.5681,-8.213,10.083,0.96765,1 --2.2804,-0.30626,1.3347,1.3763,1 --1.7582,2.7397,-2.5323,-2.234,1 --0.89409,3.1991,-1.8219,-2.9452,1 -0.3434,0.12415,-0.28733,0.14654,1 --0.9854,-6.661,5.8245,0.5461,1 --2.4115,-9.1359,9.3444,-0.65259,1 --1.5252,-6.2534,5.3524,0.59912,1 --0.61442,-0.091058,-0.31818,0.50214,1 --0.36506,2.8928,-3.6461,-3.0603,1 --5.9034,6.5679,0.67661,-6.6797,1 --1.8215,2.7521,-0.72261,-2.353,1 --0.77461,-1.8768,2.4023,1.1319,1 --1.8187,-9.0366,9.0162,-0.12243,1 --3.5801,-12.9309,13.1779,-2.5677,1 --1.8219,-6.8824,5.4681,0.057313,1 --0.3481,-0.38696,-0.47841,0.62627,1 -0.47368,3.3605,-4.5064,-4.0431,1 --3.4083,4.8587,-0.76888,-4.8668,1 --1.6662,-0.30005,1.4238,0.024986,1 --2.0962,-7.1059,6.6188,-0.33708,1 --2.6685,-10.4519,9.1139,-1.7323,1 --0.47465,-4.3496,1.9901,0.7517,1 -1.0552,1.1857,-2.6411,0.11033,1 -1.1644,3.8095,-4.9408,-4.0909,1 --4.4779,7.3708,-0.31218,-6.7754,1 --2.7338,0.45523,2.4391,0.21766,1 --2.286,-5.4484,5.8039,0.88231,1 --1.6244,-6.3444,4.6575,0.16981,1 -0.50813,0.47799,-1.9804,0.57714,1 -1.6408,4.2503,-4.9023,-2.6621,1 -0.81583,4.84,-5.2613,-6.0823,1 --5.4901,9.1048,-0.38758,-5.9763,1 --3.2238,2.7935,0.32274,-0.86078,1 --2.0631,-1.5147,1.219,0.44524,1 --0.91318,-2.0113,-0.19565,0.066365,1 -0.6005,1.9327,-3.2888,-0.32415,1 -0.91315,3.3377,-4.0557,-1.6741,1 --0.28015,3.0729,-3.3857,-2.9155,1 --3.6085,3.3253,-0.51954,-3.5737,1 --6.2003,8.6806,0.0091344,-3.703,1 --4.2932,3.3419,0.77258,-0.99785,1 --3.0265,-0.062088,0.68604,-0.055186,1 --1.7015,-0.010356,-0.99337,-0.53104,1 --0.64326,2.4748,-2.9452,-1.0276,1 --0.86339,1.9348,-2.3729,-1.0897,1 --2.0659,1.0512,-0.46298,-1.0974,1 --2.1333,1.5685,-0.084261,-1.7453,1 --1.2568,-1.4733,2.8718,0.44653,1 --3.1128,-6.841,10.7402,-1.0172,1 --4.8554,-5.9037,10.9818,-0.82199,1 --2.588,3.8654,-0.3336,-1.2797,1 -0.24394,1.4733,-1.4192,-0.58535,1 --1.5322,-5.0966,6.6779,0.17498,1 --4.0025,-13.4979,17.6772,-3.3202,1 --4.0173,-8.3123,12.4547,-1.4375,1 --3.0731,-0.53181,2.3877,0.77627,1 --1.979,3.2301,-1.3575,-2.5819,1 --0.4294,-0.14693,0.044265,-0.15605,1 --2.234,-7.0314,7.4936,0.61334,1 --4.211,-12.4736,14.9704,-1.3884,1 --3.8073,-8.0971,10.1772,0.65084,1 --2.5912,-0.10554,1.2798,1.0414,1 --2.2482,3.0915,-2.3969,-2.6711,1 --1.4427,3.2922,-1.9702,-3.4392,1 --0.39416,-0.020702,-0.066267,-0.44699,1 --1.522,-6.6383,5.7491,-0.10691,1 --2.8267,-9.0407,9.0694,-0.98233,1 --1.7263,-6.0237,5.2419,0.29524,1 --0.94255,0.039307,-0.24192,0.31593,1 --0.89569,3.0025,-3.6067,-3.4457,1 --6.2815,6.6651,0.52581,-7.0107,1 --2.3211,3.166,-1.0002,-2.7151,1 --1.3414,-2.0776,2.8093,0.60688,1 --2.258,-9.3263,9.3727,-0.85949,1 --3.8858,-12.8461,12.7957,-3.1353,1 --1.8969,-6.7893,5.2761,-0.32544,1 --0.52645,-0.24832,-0.45613,0.41938,1 -0.0096613,3.5612,-4.407,-4.4103,1 --3.8826,4.898,-0.92311,-5.0801,1 --2.1405,-0.16762,1.321,-0.20906,1 --2.4824,-7.3046,6.839,-0.59053,1 --2.9098,-10.0712,8.4156,-1.9948,1 --0.60975,-4.002,1.8471,0.6017,1 -0.83625,1.1071,-2.4706,-0.062945,1 -0.60731,3.9544,-4.772,-4.4853,1 --4.8861,7.0542,-0.17252,-6.959,1 --3.1366,0.42212,2.6225,-0.064238,1 --2.5754,-5.6574,6.103,0.65214,1 --1.8782,-6.5865,4.8486,-0.021566,1 -0.24261,0.57318,-1.9402,0.44007,1 -1.296,4.2855,-4.8457,-2.9013,1 -0.25943,5.0097,-5.0394,-6.3862,1 --5.873,9.1752,-0.27448,-6.0422,1 --3.4605,2.6901,0.16165,-1.0224,1 --2.3797,-1.4402,1.1273,0.16076,1 --1.2424,-1.7175,-0.52553,-0.21036,1 -0.20216,1.9182,-3.2828,-0.61768,1 -0.59823,3.5012,-3.9795,-1.7841,1 --0.77995,3.2322,-3.282,-3.1004,1 --4.1409,3.4619,-0.47841,-3.8879,1 --6.5084,8.7696,0.23191,-3.937,1 --4.4996,3.4288,0.56265,-1.1672,1 --3.3125,0.10139,0.55323,-0.2957,1 --1.9423,0.3766,-1.2898,-0.82458,1 --0.75793,2.5349,-3.0464,-1.2629,1 --0.95403,1.9824,-2.3163,-1.1957,1 --2.2173,1.4671,-0.72689,-1.1724,1 --2.799,1.9679,-0.42357,-2.1125,1 --1.8629,-0.84841,2.5377,0.097399,1 --3.5916,-6.2285,10.2389,-1.1543,1 --5.1216,-5.3118,10.3846,-1.0612,1 --3.2854,4.0372,-0.45356,-1.8228,1 --0.56877,1.4174,-1.4252,-1.1246,1 --2.3518,-4.8359,6.6479,-0.060358,1 --4.4861,-13.2889,17.3087,-3.2194,1 --4.3876,-7.7267,11.9655,-1.4543,1 --3.3604,-0.32696,2.1324,0.6017,1 --1.0112,2.9984,-1.1664,-1.6185,1 -0.030219,-1.0512,1.4024,0.77369,1 --1.6514,-8.4985,9.1122,1.2379,1 --3.2692,-12.7406,15.5573,-0.14182,1 --2.5701,-6.8452,8.9999,2.1353,1 --1.3066,0.25244,0.7623,1.7758,1 --1.6637,3.2881,-2.2701,-2.2224,1 --0.55008,2.8659,-1.6488,-2.4319,1 -0.21431,-0.69529,0.87711,0.29653,1 --0.77288,-7.4473,6.492,0.36119,1 --1.8391,-9.0883,9.2416,-0.10432,1 --0.63298,-5.1277,4.5624,1.4797,1 -0.0040545,0.62905,-0.64121,0.75817,1 --0.28696,3.1784,-3.5767,-3.1896,1 --5.2406,6.6258,-0.19908,-6.8607,1 --1.4446,2.1438,-0.47241,-1.6677,1 --0.65767,-2.8018,3.7115,0.99739,1 --1.5449,-10.1498,9.6152,-1.2332,1 --2.8957,-12.0205,11.9149,-2.7552,1 --0.81479,-5.7381,4.3919,0.3211,1 -0.50225,0.65388,-1.1793,0.39998,1 -0.74521,3.6357,-4.4044,-4.1414,1 --2.9146,4.0537,-0.45699,-4.0327,1 --1.3907,-1.3781,2.3055,-0.021566,1 --1.786,-8.1157,7.0858,-1.2112,1 --1.7322,-9.2828,7.719,-1.7168,1 -0.55298,-3.4619,1.7048,1.1008,1 -2.031,1.852,-3.0121,0.003003,1 -1.2279,4.0309,-4.6435,-3.9125,1 --4.2249,6.2699,0.15822,-5.5457,1 --2.5346,-0.77392,3.3602,0.00171,1 --1.749,-6.332,6.0987,0.14266,1 --0.539,-5.167,3.4399,0.052141,1 -1.5631,0.89599,-1.9702,0.65472,1 -2.3917,4.5565,-4.9888,-2.8987,1 -0.89512,4.7738,-4.8431,-5.5909,1 --5.4808,8.1819,0.27818,-5.0323,1 --2.8833,1.7713,0.68946,-0.4638,1 --1.4174,-2.2535,1.518,0.61981,1 -0.4283,-0.94981,-1.0731,0.3211,1 -1.5904,2.2121,-3.1183,-0.11725,1 -1.7425,3.6833,-4.0129,-1.7207,1 --0.23356,3.2405,-3.0669,-2.7784,1 --3.6227,3.9958,-0.35845,-3.9047,1 --6.1536,7.9295,0.61663,-3.2646,1 --3.9172,2.6652,0.78886,-0.7819,1 --2.2214,-0.23798,0.56008,0.05602,1 --0.49241,0.89392,-1.6283,-0.56854,1 -0.26517,2.4066,-2.8416,-0.59958,1 --0.10234,1.8189,-2.2169,-0.56725,1 --1.6176,1.0926,-0.35502,-0.59958,1 --1.8448,1.254,0.27218,-1.0728,1 --1.2786,-2.4087,4.5735,0.47627,1 --2.902,-7.6563,11.8318,-0.84268,1 --4.3773,-5.5167,10.939,-0.4082,1 --2.0529,3.8385,-0.79544,-1.2138,1 -0.18868,0.70148,-0.51182,0.0055892,1 --1.7279,-6.841,8.9494,0.68058,1 --3.3793,-13.7731,17.9274,-2.0323,1 --3.1273,-7.1121,11.3897,-0.083634,1 --2.121,-0.05588,1.949,1.353,1 --1.7697,3.4329,-1.2144,-2.3789,1 --0.0012852,0.13863,-0.19651,0.0081754,1 --1.682,-6.8121,7.1398,1.3323,1 --3.4917,-12.1736,14.3689,-0.61639,1 --3.1158,-8.6289,10.4403,0.97153,1 --2.0891,-0.48422,1.704,1.7435,1 --1.6936,2.7852,-2.1835,-1.9276,1 --1.2846,3.2715,-1.7671,-3.2608,1 --0.092194,0.39315,-0.32846,-0.13794,1 --1.0292,-6.3879,5.5255,0.79955,1 --2.2083,-9.1069,8.9991,-0.28406,1 --1.0744,-6.3113,5.355,0.80472,1 --0.51003,-0.23591,0.020273,0.76334,1 --0.36372,3.0439,-3.4816,-2.7836,1 --6.3979,6.4479,1.0836,-6.6176,1 --2.2501,3.3129,-0.88369,-2.8974,1 --1.1859,-1.2519,2.2635,0.77239,1 --1.8076,-8.8131,8.7086,-0.21682,1 --3.3863,-12.9889,13.0545,-2.7202,1 --1.4106,-7.108,5.6454,0.31335,1 --0.21394,-0.68287,0.096532,1.1965,1 -0.48797,3.5674,-4.3882,-3.8116,1 --3.8167,5.1401,-0.65063,-5.4306,1 --1.9555,0.20692,1.2473,-0.3707,1 --2.1786,-6.4479,6.0344,-0.20777,1 --2.3299,-9.9532,8.4756,-1.8733,1 -0.0031201,-4.0061,1.7956,0.91722,1 -1.3518,1.0595,-2.3437,0.39998,1 -1.2309,3.8923,-4.8277,-4.0069,1 --5.0301,7.5032,-0.13396,-7.5034,1 --3.0799,0.60836,2.7039,-0.23751,1 --2.2987,-5.227,5.63,0.91722,1 --1.239,-6.541,4.8151,-0.033204,1 -0.75896,0.29176,-1.6506,0.83834,1 -1.6799,4.2068,-4.5398,-2.3931,1 -0.63655,5.2022,-5.2159,-6.1211,1 --6.0598,9.2952,-0.43642,-6.3694,1 --3.518,2.8763,0.1548,-1.2086,1 --2.0336,-1.4092,1.1582,0.36507,1 --0.69745,-1.7672,-0.34474,-0.12372,1 -0.75108,1.9161,-3.1098,-0.20518,1 -0.84546,3.4826,-3.6307,-1.3961,1 --0.55648,3.2136,-3.3085,-2.7965,1 --3.6817,3.2239,-0.69347,-3.4004,1 --6.7526,8.8172,-0.061983,-3.725,1 --4.577,3.4515,0.66719,-0.94742,1 --2.9883,0.31245,0.45041,0.068951,1 --1.4781,0.14277,-1.1622,-0.48579,1 --0.46651,2.3383,-2.9812,-1.0431,1 --0.8734,1.6533,-2.1964,-0.78061,1 --2.1234,1.1815,-0.55552,-0.81165,1 --2.3142,2.0838,-0.46813,-1.6767,1 --1.4233,-0.98912,2.3586,0.39481,1 --3.0866,-6.6362,10.5405,-0.89182,1 --4.7331,-6.1789,11.388,-1.0741,1 --2.8829,3.8964,-0.1888,-1.1672,1 --0.036127,1.525,-1.4089,-0.76121,1 --1.7104,-4.778,6.2109,0.3974,1 --3.8203,-13.0551,16.9583,-2.3052,1 --3.7181,-8.5089,12.363,-0.95518,1 --2.899,-0.60424,2.6045,1.3776,1 --0.98193,2.7956,-1.2341,-1.5668,1 --0.17296,-1.1816,1.3818,0.7336,1 --1.9409,-8.6848,9.155,0.94049,1 --3.5713,-12.4922,14.8881,-0.47027,1 --2.9915,-6.6258,8.6521,1.8198,1 --1.8483,0.31038,0.77344,1.4189,1 --2.2677,3.2964,-2.2563,-2.4642,1 --0.50816,2.868,-1.8108,-2.2612,1 -0.14329,-1.0885,1.0039,0.48791,1 --0.90784,-7.9026,6.7807,0.34179,1 --2.0042,-9.3676,9.3333,-0.10303,1 --0.93587,-5.1008,4.5367,1.3866,1 --0.40804,0.54214,-0.52725,0.6586,1 --0.8172,3.3812,-3.6684,-3.456,1 --4.8392,6.6755,-0.24278,-6.5775,1 --1.2792,2.1376,-0.47584,-1.3974,1 --0.66008,-3.226,3.8058,1.1836,1 --1.7713,-10.7665,10.2184,-1.0043,1 --3.0061,-12.2377,11.9552,-2.1603,1 --1.1022,-5.8395,4.5641,0.68705,1 -0.11806,0.39108,-0.98223,0.42843,1 -0.11686,3.735,-4.4379,-4.3741,1 --2.7264,3.9213,-0.49212,-3.6371,1 --1.2369,-1.6906,2.518,0.51636,1 --1.8439,-8.6475,7.6796,-0.66682,1 --1.8554,-9.6035,7.7764,-0.97716,1 -0.16358,-3.3584,1.3749,1.3569,1 -1.5077,1.9596,-3.0584,-0.12243,1 -0.67886,4.1199,-4.569,-4.1414,1 --3.9934,5.8333,0.54723,-4.9379,1 --2.3898,-0.78427,3.0141,0.76205,1 --1.7976,-6.7686,6.6753,0.89912,1 --0.70867,-5.5602,4.0483,0.903,1 -1.0194,1.1029,-2.3,0.59395,1 -1.7875,4.78,-5.1362,-3.2362,1 -0.27331,4.8773,-4.9194,-5.8198,1 --5.1661,8.0433,0.044265,-4.4983,1 --2.7028,1.6327,0.83598,-0.091393,1 --1.4904,-2.2183,1.6054,0.89394,1 --0.014902,-1.0243,-0.94024,0.64955,1 -0.88992,2.2638,-3.1046,-0.11855,1 -1.0637,3.6957,-4.1594,-1.9379,1 --0.8471,3.1329,-3.0112,-2.9388,1 --3.9594,4.0289,-0.35845,-3.8957,1 --5.8818,7.6584,0.5558,-2.9155,1 --3.7747,2.5162,0.83341,-0.30993,1 --2.4198,-0.24418,0.70146,0.41809,1 --0.83535,0.80494,-1.6411,-0.19225,1 --0.30432,2.6528,-2.7756,-0.65647,1 --0.60254,1.7237,-2.1501,-0.77027,1 --2.1059,1.1815,-0.53324,-0.82716,1 --2.0441,1.2271,0.18564,-1.091,1 --1.5621,-2.2121,4.2591,0.27972,1 --3.2305,-7.2135,11.6433,-0.94613,1 --4.8426,-4.9932,10.4052,-0.53104,1 --2.3147,3.6668,-0.6969,-1.2474,1 --0.11716,0.60422,-0.38587,-0.059065,1 --2.0066,-6.719,9.0162,0.099985,1 --3.6961,-13.6779,17.5795,-2.6181,1 --3.6012,-6.5389,10.5234,-0.48967,1 --2.6286,0.18002,1.7956,0.97282,1 --0.82601,2.9611,-1.2864,-1.4647,1 -0.31803,-0.99326,1.0947,0.88619,1 --1.4454,-8.4385,8.8483,0.96894,1 --3.1423,-13.0365,15.6773,-0.66165,1 --2.5373,-6.959,8.8054,1.5289,1 --1.366,0.18416,0.90539,1.5806,1 --1.7064,3.3088,-2.2829,-2.1978,1 --0.41965,2.9094,-1.7859,-2.2069,1 -0.37637,-0.82358,0.78543,0.74524,1 --0.55355,-7.9233,6.7156,0.74394,1 --1.6001,-9.5828,9.4044,0.081882,1 --0.37013,-5.554,4.7749,1.547,1 -0.12126,0.22347,-0.47327,0.97024,1 --0.27068,3.2674,-3.5562,-3.0888,1 --5.119,6.6486,-0.049987,-6.5206,1 --1.3946,2.3134,-0.44499,-1.4905,1 --0.69879,-3.3771,4.1211,1.5043,1 --1.48,-10.5244,9.9176,-0.5026,1 --2.6649,-12.813,12.6689,-1.9082,1 --0.62684,-6.301,4.7843,1.106,1 -0.518,0.25865,-0.84085,0.96118,1 -0.64376,3.764,-4.4738,-4.0483,1 --2.9821,4.1986,-0.5898,-3.9642,1 --1.4628,-1.5706,2.4357,0.49826,1 --1.7101,-8.7903,7.9735,-0.45475,1 --1.5572,-9.8808,8.1088,-1.0806,1 -0.74428,-3.7723,1.6131,1.5754,1 -2.0177,1.7982,-2.9581,0.2099,1 -1.164,3.913,-4.5544,-3.8672,1 --4.3667,6.0692,0.57208,-5.4668,1 --2.5919,-1.0553,3.8949,0.77757,1 --1.8046,-6.8141,6.7019,1.1681,1 --0.71868,-5.7154,3.8298,1.0233,1 -1.4378,0.66837,-2.0267,1.0271,1 -2.1943,4.5503,-4.976,-2.7254,1 -0.7376,4.8525,-4.7986,-5.6659,1 --5.637,8.1261,0.13081,-5.0142,1 --3.0193,1.7775,0.73745,-0.45346,1 --1.6706,-2.09,1.584,0.71162,1 --0.1269,-1.1505,-0.95138,0.57843,1 -1.2198,2.0982,-3.1954,0.12843,1 -1.4501,3.6067,-4.0557,-1.5966,1 --0.40857,3.0977,-2.9607,-2.6892,1 --3.8952,3.8157,-0.31304,-3.8194,1 --6.3679,8.0102,0.4247,-3.2207,1 --4.1429,2.7749,0.68261,-0.71984,1 --2.6864,-0.097265,0.61663,0.061192,1 --1.0555,0.79459,-1.6968,-0.46768,1 --0.29858,2.4769,-2.9512,-0.66165,1 --0.49948,1.7734,-2.2469,-0.68104,1 --1.9881,0.99945,-0.28562,-0.70044,1 --1.9389,1.5706,0.045979,-1.122,1 --1.4375,-1.8624,4.026,0.55127,1 --3.1875,-7.5756,11.8678,-0.57889,1 --4.6765,-5.6636,10.969,-0.33449,1 --2.0285,3.8468,-0.63435,-1.175,1 -0.26637,0.73252,-0.67891,0.03533,1 --1.7589,-6.4624,8.4773,0.31981,1 --3.5985,-13.6593,17.6052,-2.4927,1 --3.3582,-7.2404,11.4419,-0.57113,1 --2.3629,-0.10554,1.9336,1.1358,1 --2.1802,3.3791,-1.2256,-2.6621,1 --0.40951,-0.15521,0.060545,-0.088807,1 --2.2918,-7.257,7.9597,0.9211,1 --4.0214,-12.8006,15.6199,-0.95647,1 --3.3884,-8.215,10.3315,0.98187,1 --2.0046,-0.49457,1.333,1.6543,1 --1.7063,2.7956,-2.378,-2.3491,1 --1.6386,3.3584,-1.7302,-3.5646,1 --0.41645,0.32487,-0.33617,-0.36036,1 --1.5877,-6.6072,5.8022,0.31593,1 --2.5961,-9.349,9.7942,-0.28018,1 --1.5228,-6.4789,5.7568,0.87325,1 --0.53072,-0.097265,-0.21793,1.0426,1 --0.49081,2.8452,-3.6436,-3.1004,1 --6.5773,6.8017,0.85483,-7.5344,1 --2.4621,2.7645,-0.62578,-2.8573,1 --1.3995,-1.9162,2.5154,0.59912,1 --2.3221,-9.3304,9.233,-0.79871,1 --3.73,-12.9723,12.9817,-2.684,1 --1.6988,-7.1163,5.7902,0.16723,1 --0.26654,-0.64562,-0.42014,0.89136,1 -0.33325,3.3108,-4.5081,-4.012,1 --4.2091,4.7283,-0.49126,-5.2159,1 --2.3142,-0.68494,1.9833,-0.44829,1 --2.4835,-7.4494,6.8964,-0.64484,1 --2.7611,-10.5099,9.0239,-1.9547,1 --0.36025,-4.449,2.1067,0.94308,1 -1.0117,0.9022,-2.3506,0.42714,1 -0.96708,3.8426,-4.9314,-4.1323,1 --5.2049,7.259,0.070827,-7.3004,1 --3.3203,-0.02691,2.9618,-0.44958,1 --2.565,-5.7899,6.0122,0.046968,1 --1.5951,-6.572,4.7689,-0.94354,1 -0.7049,0.17174,-1.7859,0.36119,1 -1.7331,3.9544,-4.7412,-2.5017,1 -0.6818,4.8504,-5.2133,-6.1043,1 --6.3364,9.2848,0.014275,-6.7844,1 --3.8053,2.4273,0.6809,-1.0871,1 --2.1979,-2.1252,1.7151,0.45171,1 --0.87874,-2.2121,-0.051701,0.099985,1 -0.74067,1.7299,-3.1963,-0.1457,1 -0.98296,3.4226,-3.9692,-1.7116,1 --0.3489,3.1929,-3.4054,-3.1832,1 --3.8552,3.5219,-0.38415,-3.8608,1 --6.9599,8.9931,0.2182,-4.572,1 --4.7462,3.1205,1.075,-1.2966,1 --3.2051,-0.14279,0.97565,0.045675,1 --1.7549,-0.080711,-0.75774,-0.3707,1 --0.59587,2.4811,-2.8673,-0.89828,1 --0.89542,2.0279,-2.3652,-1.2746,1 --2.0754,1.2767,-0.64206,-1.2642,1 --3.2778,1.8023,0.1805,-2.3931,1 --2.2183,-1.254,2.9986,0.36378,1 --3.5895,-6.572,10.5251,-0.16381,1 --5.0477,-5.8023,11.244,-0.3901,1 --3.5741,3.944,-0.07912,-2.1203,1 --0.7351,1.7361,-1.4938,-1.1582,1 --2.2617,-4.7428,6.3489,0.11162,1 --4.244,-13.0634,17.1116,-2.8017,1 --4.0218,-8.304,12.555,-1.5099,1 --3.0201,-0.67253,2.7056,0.85774,1 --2.4941,3.5447,-1.3721,-2.8483,1 --0.83121,0.039307,0.05369,-0.23105,1 --2.5665,-6.8824,7.5416,0.70774,1 --4.4018,-12.9371,15.6559,-1.6806,1 --3.7573,-8.2916,10.3032,0.38059,1 --2.4725,-0.40145,1.4855,1.1189,1 --1.9725,2.8825,-2.3086,-2.3724,1 --2.0149,3.6874,-1.9385,-3.8918,1 --0.82053,0.65181,-0.48869,-0.52716,1 --1.7886,-6.3486,5.6154,0.42584,1 --2.9138,-9.4711,9.7668,-0.60216,1 --1.8343,-6.5907,5.6429,0.54998,1 --0.8734,-0.033118,-0.20165,0.55774,1 --0.70346,2.957,-3.5947,-3.1457,1 --6.7387,6.9879,0.67833,-7.5887,1 --2.7723,3.2777,-0.9351,-3.1457,1 --1.6641,-1.3678,1.997,0.52283,1 --2.4349,-9.2497,8.9922,-0.50001,1 --3.793,-12.7095,12.7957,-2.825,1 --1.9551,-6.9756,5.5383,-0.12889,1 --0.69078,-0.50077,-0.35417,0.47498,1 -0.025013,3.3998,-4.4327,-4.2655,1 --4.3967,4.9601,-0.64892,-5.4719,1 --2.456,-0.24418,1.4041,-0.45863,1 --2.62,-6.8555,6.2169,-0.62285,1 --2.9662,-10.3257,8.784,-2.1138,1 --0.71494,-4.4448,2.2241,0.49826,1 -0.6005,0.99945,-2.2126,0.097399,1 -0.61652,3.8944,-4.7275,-4.3948,1 --5.4414,7.2363,0.10938,-7.5642,1 --3.5798,0.45937,2.3457,-0.45734,1 --2.7769,-5.6967,5.9179,0.37671,1 --1.8356,-6.7562,5.0585,-0.55044,1 -0.30081,0.17381,-1.7542,0.48921,1 -1.3403,4.1323,-4.7018,-2.5987,1 -0.26877,4.987,-5.1508,-6.3913,1 --6.5235,9.6014,-0.25392,-6.9642,1 --4.0679,2.4955,0.79571,-1.1039,1 --2.564,-1.7051,1.5026,0.32757,1 --1.3414,-1.9162,-0.15538,-0.11984,1 -0.23874,2.0879,-3.3522,-0.66553,1 -0.6212,3.6771,-4.0771,-2.0711,1 --0.77848,3.4019,-3.4859,-3.5569,1 --4.1244,3.7909,-0.6532,-4.1802,1 --7.0421,9.2,0.25933,-4.6832,1 --4.9462,3.5716,0.82742,-1.4957,1 --3.5359,0.30417,0.6569,-0.2957,1 --2.0662,0.16967,-1.0054,-0.82975,1 --0.88728,2.808,-3.1432,-1.2035,1 --1.0941,2.3072,-2.5237,-1.4453,1 --2.4458,1.6285,-0.88541,-1.4802,1 --3.551,1.8955,0.1865,-2.4409,1 --2.2811,-0.85669,2.7185,0.044382,1 --3.6053,-5.974,10.0916,-0.82846,1 --5.0676,-5.1877,10.4266,-0.86725,1 --3.9204,4.0723,-0.23678,-2.1151,1 --1.1306,1.8458,-1.3575,-1.3806,1 --2.4561,-4.5566,6.4534,-0.056479,1 --4.4775,-13.0303,17.0834,-3.0345,1 --4.1958,-8.1819,12.1291,-1.6017,1 --3.38,-0.7077,2.5325,0.71808,1 --2.4365,3.6026,-1.4166,-2.8948,1 --0.77688,0.13036,-0.031137,-0.35389,1 --2.7083,-6.8266,7.5339,0.59007,1 --4.5531,-12.5854,15.4417,-1.4983,1 --3.8894,-7.8322,9.8208,0.47498,1 --2.5084,-0.22763,1.488,1.2069,1 --2.1652,3.0211,-2.4132,-2.4241,1 --1.8974,3.5074,-1.7842,-3.8491,1 --0.62043,0.5587,-0.38587,-0.66423,1 --1.8387,-6.301,5.6506,0.19567,1 --3,-9.1566,9.5766,-0.73018,1 --1.9116,-6.1603,5.606,0.48533,1 --1.005,0.084831,-0.2462,0.45688,1 --0.87834,3.257,-3.6778,-3.2944,1 --6.651,6.7934,0.68604,-7.5887,1 --2.5463,3.1101,-0.83228,-3.0358,1 --1.4377,-1.432,2.1144,0.42067,1 --2.4554,-9.0407,8.862,-0.86983,1 --3.9411,-12.8792,13.0597,-3.3125,1 --2.1241,-6.8969,5.5992,-0.47156,1 --0.74324,-0.32902,-0.42785,0.23317,1 --0.071503,3.7412,-4.5415,-4.2526,1 --4.2333,4.9166,-0.49212,-5.3207,1 --2.3675,-0.43663,1.692,-0.43018,1 --2.5526,-7.3625,6.9255,-0.66811,1 --3.0986,-10.4602,8.9717,-2.3427,1 --0.89809,-4.4862,2.2009,0.50731,1 -0.56232,1.0015,-2.2726,-0.0060486,1 -0.53936,3.8944,-4.8166,-4.3418,1 --5.3012,7.3915,0.029699,-7.3987,1 --3.3553,0.35591,2.6473,-0.37846,1 --2.7908,-5.7133,5.953,0.45946,1 --1.9983,-6.6072,4.8254,-0.41984,1 -0.15423,0.11794,-1.6823,0.59524,1 -1.208,4.0744,-4.7635,-2.6129,1 -0.2952,4.8856,-5.149,-6.2323,1 --6.4247,9.5311,0.022844,-6.8517,1 --3.9933,2.6218,0.62863,-1.1595,1 --2.659,-1.6058,1.3647,0.16464,1 --1.4094,-2.1252,-0.10397,-0.19225,1 -0.11032,1.9741,-3.3668,-0.65259,1 -0.52374,3.644,-4.0746,-1.9909,1 --0.76794,3.4598,-3.4405,-3.4276,1 --3.9698,3.6812,-0.60008,-4.0133,1 --7.0364,9.2931,0.16594,-4.5396,1 --4.9447,3.3005,1.063,-1.444,1 --3.5933,0.22968,0.7126,-0.3332,1 --2.1674,0.12415,-1.0465,-0.86208,1 --0.9607,2.6963,-3.1226,-1.3121,1 --1.0802,2.1996,-2.5862,-1.2759,1 --2.3277,1.4381,-0.82114,-1.2862,1 --3.7244,1.9037,-0.035421,-2.5095,1 --2.5724,-0.95602,2.7073,-0.16639,1 --3.9297,-6.0816,10.0958,-1.0147,1 --5.2943,-5.1463,10.3332,-1.1181,1 --3.8953,4.0392,-0.3019,-2.1836,1 --1.2244,1.7485,-1.4801,-1.4181,1 --2.6406,-4.4159,5.983,-0.13924,1 --4.6338,-12.7509,16.7166,-3.2168,1 --4.2887,-7.8633,11.8387,-1.8978,1 --3.3458,-0.50491,2.6328,0.53705,1 --1.1188,3.3357,-1.3455,-1.9573,1 -0.55939,-0.3104,0.18307,0.44653,1 --1.5078,-7.3191,7.8981,1.2289,1 --3.506,-12.5667,15.1606,-0.75216,1 --2.9498,-8.273,10.2646,1.1629,1 --1.6029,-0.38903,1.62,1.9103,1 --1.2667,2.8183,-2.426,-1.8862,1 --0.49281,3.0605,-1.8356,-2.834,1 -0.66365,-0.045533,-0.18794,0.23447,1 --0.72068,-6.7583,5.8408,0.62369,1 --1.9966,-9.5001,9.682,-0.12889,1 --0.97325,-6.4168,5.6026,1.0323,1 --0.025314,-0.17383,-0.11339,1.2198,1 -0.062525,2.9301,-3.5467,-2.6737,1 --5.525,6.3258,0.89768,-6.6241,1 --1.2943,2.6735,-0.84085,-2.0323,1 --0.24037,-1.7837,2.135,1.2418,1 --1.3968,-9.6698,9.4652,-0.34872,1 --2.9672,-13.2869,13.4727,-2.6271,1 --1.1005,-7.2508,6.0139,0.36895,1 -0.22432,-0.52147,-0.40386,1.2017,1 -0.90407,3.3708,-4.4987,-3.6965,1 --2.8619,4.5193,-0.58123,-4.2629,1 --1.0833,-0.31247,1.2815,0.41291,1 --1.5681,-7.2446,6.5537,-0.1276,1 --2.0545,-10.8679,9.4926,-1.4116,1 -0.2346,-4.5152,2.1195,1.4448,1 -1.581,0.86909,-2.3138,0.82412,1 -1.5514,3.8013,-4.9143,-3.7483,1 --4.1479,7.1225,-0.083404,-6.4172,1 --2.2625,-0.099335,2.8127,0.48662,1 --1.7479,-5.823,5.8699,1.212,1 --0.95923,-6.7128,4.9857,0.32886,1 -1.3451,0.23589,-1.8785,1.3258,1 -2.2279,4.0951,-4.8037,-2.1112,1 -1.2572,4.8731,-5.2861,-5.8741,1 --5.3857,9.1214,-0.41929,-5.9181,1 --2.9786,2.3445,0.52667,-0.40173,1 --1.5851,-2.1562,1.7082,0.9017,1 --0.21888,-2.2038,-0.0954,0.56421,1 -1.3183,1.9017,-3.3111,0.065071,1 -1.4896,3.4288,-4.0309,-1.4259,1 -0.11592,3.2219,-3.4302,-2.8457,1 --3.3924,3.3564,-0.72004,-3.5233,1 --6.1632,8.7096,-0.21621,-3.6345,1 --4.0786,2.9239,0.87026,-0.65389,1 --2.5899,-0.3911,0.93452,0.42972,1 --1.0116,-0.19038,-0.90597,0.003003,1 -0.066129,2.4914,-2.9401,-0.62156,1 --0.24745,1.9368,-2.4697,-0.80518,1 --1.5732,1.0636,-0.71232,-0.8388,1 --2.1668,1.5933,0.045122,-1.678,1 --1.1667,-1.4237,2.9241,0.66119,1 --2.8391,-6.63,10.4849,-0.42113,1 --4.5046,-5.8126,10.8867,-0.52846,1 --2.41,3.7433,-0.40215,-1.2953,1 -0.40614,1.3492,-1.4501,-0.55949,1 --1.3887,-4.8773,6.4774,0.34179,1 --3.7503,-13.4586,17.5932,-2.7771,1 --3.5637,-8.3827,12.393,-1.2823,1 --2.5419,-0.65804,2.6842,1.1952,1 \ No newline at end of file diff --git a/doc/pub/week45/ipynb/DataFiles/Datafiles/cancer.dot b/doc/pub/week45/ipynb/DataFiles/Datafiles/cancer.dot deleted file mode 100644 index 5b4b48a9b..000000000 --- a/doc/pub/week45/ipynb/DataFiles/Datafiles/cancer.dot +++ /dev/null @@ -1,57 +0,0 @@ -digraph Tree { -node [shape=box, style="filled, rounded", color="black", fontname=helvetica] ; -edge [fontname=helvetica] ; -0 [label="worst perimeter <= 106.05\ngini = 0.465\nsamples = 426\nvalue = [[269, 157]\n[157, 269]]", fillcolor="#e5813908"] ; -1 [label="worst concave points <= 0.159\ngini = 0.067\nsamples = 259\nvalue = [[250, 9]\n[9, 250]]", fillcolor="#e58139db"] ; -0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ; -2 [label="worst concave points <= 0.135\ngini = 0.031\nsamples = 253\nvalue = [[249, 4]\n[4, 249]]", fillcolor="#e58139ee"] ; -1 -> 2 ; -3 [label="radius error <= 0.643\ngini = 0.008\nsamples = 242\nvalue = [[241, 1]\n[1, 241]]", fillcolor="#e58139fb"] ; -2 -> 3 ; -4 [label="gini = 0.0\nsamples = 239\nvalue = [[239, 0]\n[0, 239]]", fillcolor="#e58139ff"] ; -3 -> 4 ; -5 [label="worst symmetry <= 0.208\ngini = 0.444\nsamples = 3\nvalue = [[2, 1]\n[1, 2]]", fillcolor="#e5813913"] ; -3 -> 5 ; -6 [label="gini = 0.0\nsamples = 1\nvalue = [[0, 1]\n[1, 0]]", fillcolor="#e58139ff"] ; -5 -> 6 ; -7 [label="gini = 0.0\nsamples = 2\nvalue = [[2, 0]\n[0, 2]]", fillcolor="#e58139ff"] ; -5 -> 7 ; -8 [label="worst texture <= 29.455\ngini = 0.397\nsamples = 11\nvalue = [[8, 3]\n[3, 8]]", fillcolor="#e581392c"] ; -2 -> 8 ; -9 [label="gini = 0.0\nsamples = 8\nvalue = [[8, 0]\n[0, 8]]", fillcolor="#e58139ff"] ; -8 -> 9 ; -10 [label="gini = 0.0\nsamples = 3\nvalue = [[0, 3]\n[3, 0]]", fillcolor="#e58139ff"] ; -8 -> 10 ; -11 [label="mean texture <= 16.22\ngini = 0.278\nsamples = 6\nvalue = [[1, 5]\n[5, 1]]", fillcolor="#e581396b"] ; -1 -> 11 ; -12 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139ff"] ; -11 -> 12 ; -13 [label="gini = 0.0\nsamples = 5\nvalue = [[0, 5]\n[5, 0]]", fillcolor="#e58139ff"] ; -11 -> 13 ; -14 [label="worst texture <= 20.645\ngini = 0.202\nsamples = 167\nvalue = [[19, 148]\n[148, 19]]", fillcolor="#e5813994"] ; -0 -> 14 [labeldistance=2.5, labelangle=-45, headlabel="False"] ; -15 [label="worst radius <= 17.74\ngini = 0.375\nsamples = 16\nvalue = [[12, 4]\n[4, 12]]", fillcolor="#e5813938"] ; -14 -> 15 ; -16 [label="gini = 0.0\nsamples = 11\nvalue = [[11, 0]\n[0, 11]]", fillcolor="#e58139ff"] ; -15 -> 16 ; -17 [label="mean texture <= 13.745\ngini = 0.32\nsamples = 5\nvalue = [[1, 4]\n[4, 1]]", fillcolor="#e5813955"] ; -15 -> 17 ; -18 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139ff"] ; -17 -> 18 ; -19 [label="gini = 0.0\nsamples = 4\nvalue = [[0, 4]\n[4, 0]]", fillcolor="#e58139ff"] ; -17 -> 19 ; -20 [label="mean concave points <= 0.049\ngini = 0.088\nsamples = 151\nvalue = [[7, 144]\n[144, 7]]", fillcolor="#e58139d0"] ; -14 -> 20 ; -21 [label="concave points error <= 0.01\ngini = 0.48\nsamples = 15\nvalue = [[6, 9]\n[9, 6]]", fillcolor="#e5813900"] ; -20 -> 21 ; -22 [label="gini = 0.0\nsamples = 9\nvalue = [[0, 9]\n[9, 0]]", fillcolor="#e58139ff"] ; -21 -> 22 ; -23 [label="gini = 0.0\nsamples = 6\nvalue = [[6, 0]\n[0, 6]]", fillcolor="#e58139ff"] ; -21 -> 23 ; -24 [label="worst smoothness <= 0.096\ngini = 0.015\nsamples = 136\nvalue = [[1, 135]\n[135, 1]]", fillcolor="#e58139f7"] ; -20 -> 24 ; -25 [label="gini = 0.0\nsamples = 1\nvalue = [[1, 0]\n[0, 1]]", fillcolor="#e58139ff"] ; -24 -> 25 ; -26 [label="gini = 0.0\nsamples = 135\nvalue = [[0, 135]\n[135, 0]]", fillcolor="#e58139ff"] ; -24 -> 26 ; -} \ No newline at end of file diff --git a/doc/pub/week45/ipynb/DataFiles/Datafiles/cancer.png b/doc/pub/week45/ipynb/DataFiles/Datafiles/cancer.png deleted file mode 100644 index 2ceb5e1f8..000000000 Binary files a/doc/pub/week45/ipynb/DataFiles/Datafiles/cancer.png and /dev/null differ diff --git a/doc/pub/week45/ipynb/DataFiles/Datafiles/ensembleoverview.png b/doc/pub/week45/ipynb/DataFiles/Datafiles/ensembleoverview.png deleted file mode 100644 index dce581ee6..000000000 Binary files a/doc/pub/week45/ipynb/DataFiles/Datafiles/ensembleoverview.png and /dev/null differ diff --git a/doc/pub/week45/ipynb/DataFiles/Datafiles/ride.csv b/doc/pub/week45/ipynb/DataFiles/Datafiles/ride.csv deleted file mode 100644 index d03d4ca16..000000000 --- a/doc/pub/week45/ipynb/DataFiles/Datafiles/ride.csv +++ /dev/null @@ -1,15 +0,0 @@ -Outlook,Temperature,Humidity,Wind,Ride -0,0,0,0,0 -0,0,0,1,1 -1,0,0,0,1 -2,1,0,0,1 -2,2,1,0,1 -2,2,1,1,0 -1,2,1,1,1 -0,1,0,0,0 -0,2,1,0,1 -2,1,1,0,1 -0,1,1,1,1 -1,1,0,1,1 -1,0,1,0,1 -2,1,0,1,0 diff --git a/doc/pub/week45/ipynb/DataFiles/Datafiles/ride.csv~ b/doc/pub/week45/ipynb/DataFiles/Datafiles/ride.csv~ deleted file mode 100644 index 7a908c5f7..000000000 --- a/doc/pub/week45/ipynb/DataFiles/Datafiles/ride.csv~ +++ /dev/null @@ -1,15 +0,0 @@ -Outlook,Temperature,Humidity,Wind,Ride -Sunny,Hot,High,Weak,0 -Sunny,Hot,High,Strong,1 -Overcast,Hot,High,Weak,1 -Rain,Mild,High,Weak,1 -Rain,Cool,Normal,Weak,1 -Rain,Cool,Normal,Strong,0 -Overcast,Cool,Normal,Strong,1 -Sunny,Mild,High,Weak,0 -Sunny,Cool,Normal,Weak,1 -Rain,Mild,Normal,Weak,1 -Sunny,Mild,Normal,Strong,1 -Overcast,Mild,High,Strong,1 -Overcast,Hot,Normal,Weak,1 -Rain,Mild,High,Strong,0 diff --git a/doc/pub/week45/ipynb/DataFiles/Datafiles/ride.dot b/doc/pub/week45/ipynb/DataFiles/Datafiles/ride.dot deleted file mode 100644 index 50aaa7638..000000000 --- a/doc/pub/week45/ipynb/DataFiles/Datafiles/ride.dot +++ /dev/null @@ -1,13 +0,0 @@ -digraph Tree { -node [shape=box, style="filled, rounded", color="black", fontname=helvetica] ; -edge [fontname=helvetica] ; -0 [label="X[7] <= 0.5\ngini = 0.48\nsamples = 15\nvalue = [4, 10, 1]", fillcolor="#39e5818b"] ; -1 [label="X[1] <= 0.5\ngini = 0.408\nsamples = 14\nvalue = [4, 10, 0]", fillcolor="#39e58199"] ; -0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ; -2 [label="gini = 0.48\nsamples = 10\nvalue = [4, 6, 0]", fillcolor="#39e58155"] ; -1 -> 2 ; -3 [label="gini = 0.0\nsamples = 4\nvalue = [0, 4, 0]", fillcolor="#39e581ff"] ; -1 -> 3 ; -4 [label="gini = 0.0\nsamples = 1\nvalue = [0, 0, 1]", fillcolor="#8139e5ff"] ; -0 -> 4 [labeldistance=2.5, labelangle=-45, headlabel="False"] ; -} \ No newline at end of file diff --git a/doc/pub/week45/ipynb/DataFiles/Datafiles/rideclass.csv b/doc/pub/week45/ipynb/DataFiles/Datafiles/rideclass.csv deleted file mode 100644 index a0831ac7e..000000000 --- a/doc/pub/week45/ipynb/DataFiles/Datafiles/rideclass.csv +++ /dev/null @@ -1,15 +0,0 @@ -Day,Outlook,Temperature,Humidity,Wind,Ride -1,Sunny,Hot,High,Weak,0 -2,Sunny,Hot,High,Strong,1 -3,Overcast,Hot,High,Weak,1 -4,Rain,Mild,High,Weak,1 -5,Rain,Cool,Normal,Weak,1 -6,Rain,Cool,Normal,Strong,0 -7,Overcast,Cool,Normal,Strong,1 -8,Sunny,Mild,High,Weak,0 -9,Sunny,Cool,Normal,Weak,1 -10,Rain,Mild,Normal,Weak,1 -11,Sunny,Mild,Normal,Strong,1 -12,Overcast,Mild,High,Strong,1 -13,Overcast,Hot,Normal,Weak,1 -14,Rain,Mild,High,Strong,0 diff --git a/doc/pub/week45/ipynb/DataFiles/Datafiles/zoo.csv b/doc/pub/week45/ipynb/DataFiles/Datafiles/zoo.csv deleted file mode 100644 index ca71f7d21..000000000 --- a/doc/pub/week45/ipynb/DataFiles/Datafiles/zoo.csv +++ /dev/null @@ -1,101 +0,0 @@ -aardvark,1,0,0,1,0,0,1,1,1,1,0,0,4,0,0,1,1 -antelope,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 -bass,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 -bear,1,0,0,1,0,0,1,1,1,1,0,0,4,0,0,1,1 -boar,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 -buffalo,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 -calf,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1 -carp,0,0,1,0,0,1,0,1,1,0,0,1,0,1,1,0,4 -catfish,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 -cavy,1,0,0,1,0,0,0,1,1,1,0,0,4,0,1,0,1 -cheetah,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 -chicken,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,2 -chub,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 -clam,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,7 -crab,0,0,1,0,0,1,1,0,0,0,0,0,4,0,0,0,7 -crayfish,0,0,1,0,0,1,1,0,0,0,0,0,6,0,0,0,7 -crow,0,1,1,0,1,0,1,0,1,1,0,0,2,1,0,0,2 -deer,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 -dogfish,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,4 -dolphin,0,0,0,1,0,1,1,1,1,1,0,1,0,1,0,1,1 -dove,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,2 -duck,0,1,1,0,1,1,0,0,1,1,0,0,2,1,0,0,2 -elephant,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 -flamingo,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,1,2 -flea,0,0,1,0,0,0,0,0,0,1,0,0,6,0,0,0,6 -frog,0,0,1,0,0,1,1,1,1,1,0,0,4,0,0,0,5 -frog,0,0,1,0,0,1,1,1,1,1,1,0,4,0,0,0,5 -fruitbat,1,0,0,1,1,0,0,1,1,1,0,0,2,1,0,0,1 -giraffe,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 -girl,1,0,0,1,0,0,1,1,1,1,0,0,2,0,1,1,1 -gnat,0,0,1,0,1,0,0,0,0,1,0,0,6,0,0,0,6 -goat,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1 -gorilla,1,0,0,1,0,0,0,1,1,1,0,0,2,0,0,1,1 -gull,0,1,1,0,1,1,1,0,1,1,0,0,2,1,0,0,2 -haddock,0,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,4 -hamster,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,0,1 -hare,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,0,1 -hawk,0,1,1,0,1,0,1,0,1,1,0,0,2,1,0,0,2 -herring,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 -honeybee,1,0,1,0,1,0,0,0,0,1,1,0,6,0,1,0,6 -housefly,1,0,1,0,1,0,0,0,0,1,0,0,6,0,0,0,6 -kiwi,0,1,1,0,0,0,1,0,1,1,0,0,2,1,0,0,2 -ladybird,0,0,1,0,1,0,1,0,0,1,0,0,6,0,0,0,6 -lark,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2 -leopard,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 -lion,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 -lobster,0,0,1,0,0,1,1,0,0,0,0,0,6,0,0,0,7 -lynx,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 -mink,1,0,0,1,0,1,1,1,1,1,0,0,4,1,0,1,1 -mole,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,0,1 -mongoose,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 -moth,1,0,1,0,1,0,0,0,0,1,0,0,6,0,0,0,6 -newt,0,0,1,0,0,1,1,1,1,1,0,0,4,1,0,0,5 -octopus,0,0,1,0,0,1,1,0,0,0,0,0,8,0,0,1,7 -opossum,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,0,1 -oryx,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,1,1 -ostrich,0,1,1,0,0,0,0,0,1,1,0,0,2,1,0,1,2 -parakeet,0,1,1,0,1,0,0,0,1,1,0,0,2,1,1,0,2 -penguin,0,1,1,0,0,1,1,0,1,1,0,0,2,1,0,1,2 -pheasant,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2 -pike,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,4 -piranha,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,0,4 -pitviper,0,0,1,0,0,0,1,1,1,1,1,0,0,1,0,0,3 -platypus,1,0,1,1,0,1,1,0,1,1,0,0,4,1,0,1,1 -polecat,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 -pony,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1 -porpoise,0,0,0,1,0,1,1,1,1,1,0,1,0,1,0,1,1 -puma,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 -pussycat,1,0,0,1,0,0,1,1,1,1,0,0,4,1,1,1,1 -raccoon,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 -reindeer,1,0,0,1,0,0,0,1,1,1,0,0,4,1,1,1,1 -rhea,0,1,1,0,0,0,1,0,1,1,0,0,2,1,0,1,2 -scorpion,0,0,0,0,0,0,1,0,0,1,1,0,8,1,0,0,7 -seahorse,0,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,4 -seal,1,0,0,1,0,1,1,1,1,1,0,1,0,0,0,1,1 -sealion,1,0,0,1,0,1,1,1,1,1,0,1,2,1,0,1,1 -seasnake,0,0,0,0,0,1,1,1,1,0,1,0,0,1,0,0,3 -seawasp,0,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,7 -skimmer,0,1,1,0,1,1,1,0,1,1,0,0,2,1,0,0,2 -skua,0,1,1,0,1,1,1,0,1,1,0,0,2,1,0,0,2 -slowworm,0,0,1,0,0,0,1,1,1,1,0,0,0,1,0,0,3 -slug,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,7 -sole,0,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,4 -sparrow,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2 -squirrel,1,0,0,1,0,0,0,1,1,1,0,0,2,1,0,0,1 -starfish,0,0,1,0,0,1,1,0,0,0,0,0,5,0,0,0,7 -stingray,0,0,1,0,0,1,1,1,1,0,1,1,0,1,0,1,4 -swan,0,1,1,0,1,1,0,0,1,1,0,0,2,1,0,1,2 -termite,0,0,1,0,0,0,0,0,0,1,0,0,6,0,0,0,6 -toad,0,0,1,0,0,1,0,1,1,1,0,0,4,0,0,0,5 -tortoise,0,0,1,0,0,0,0,0,1,1,0,0,4,1,0,1,3 -tuatara,0,0,1,0,0,0,1,1,1,1,0,0,4,1,0,0,3 -tuna,0,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,4 -vampire,1,0,0,1,1,0,0,1,1,1,0,0,2,1,0,0,1 -vole,1,0,0,1,0,0,0,1,1,1,0,0,4,1,0,0,1 -vulture,0,1,1,0,1,0,1,0,1,1,0,0,2,1,0,1,2 -wallaby,1,0,0,1,0,0,0,1,1,1,0,0,2,1,0,1,1 -wasp,1,0,1,0,1,0,0,0,0,1,1,0,6,0,0,0,6 -wolf,1,0,0,1,0,0,1,1,1,1,0,0,4,1,0,1,1 -worm,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,7 -wren,0,1,1,0,1,0,0,0,1,1,0,0,2,1,0,0,2 diff --git a/doc/pub/week45/ipynb/week45.ipynb b/doc/pub/week45/ipynb/week45.ipynb index e0ac773f2..07d464c23 100644 --- a/doc/pub/week45/ipynb/week45.ipynb +++ b/doc/pub/week45/ipynb/week45.ipynb @@ -3,9 +3,7 @@ { "cell_type": "markdown", "id": "b8e048f2", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "\n", @@ -15,9 +13,7 @@ { "cell_type": "markdown", "id": "3c558c51", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "# Week 45: Decisions Trees, Random Forests, Bagging and Boosting\n", "**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n", @@ -30,9 +26,7 @@ { "cell_type": "markdown", "id": "707efc8a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Overview of week 45\n", "\n", @@ -54,9 +48,7 @@ { "cell_type": "markdown", "id": "07d278bf", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Decision trees, overarching aims\n", "\n", @@ -85,9 +77,7 @@ { "cell_type": "markdown", "id": "eec5673d", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Basics of a tree\n", "\n", @@ -105,9 +95,7 @@ { "cell_type": "markdown", "id": "806a416a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## A Sketch of a Tree, Regression problem\n", "\n", @@ -117,9 +105,7 @@ { "cell_type": "markdown", "id": "1ad01519", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## A Sketch of a Tree, Classification problem\n", "\n", @@ -129,9 +115,7 @@ { "cell_type": "markdown", "id": "f72002bc", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## A typical Decision Tree with its pertinent Jargon, Classification Problem\n", "\n", @@ -147,9 +131,7 @@ { "cell_type": "markdown", "id": "efa8d295", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## General Features\n", "\n", @@ -170,9 +152,7 @@ { "cell_type": "markdown", "id": "cc015b03", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## How do we set it up?\n", "\n", @@ -193,9 +173,7 @@ { "cell_type": "markdown", "id": "49378ea8", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Decision trees and Regression" ] @@ -204,10 +182,7 @@ "cell_type": "code", "execution_count": 1, "id": "a6761f89", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", @@ -305,9 +280,7 @@ { "cell_type": "markdown", "id": "a752c6b0", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Building a tree, regression\n", "\n", @@ -327,9 +300,7 @@ { "cell_type": "markdown", "id": "bc72fac7", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\sum_{j=1}^J\\sum_{i\\in R_j}(y_i-\\overline{y}_{R_j})^2,\n", @@ -339,9 +310,7 @@ { "cell_type": "markdown", "id": "00b480b3", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where $\\overline{y}_{R_j}$ is the mean response for the training observations \n", "within box $j$." @@ -350,9 +319,7 @@ { "cell_type": "markdown", "id": "7e9a3ebf", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## A top-down approach, recursive binary splitting\n", "\n", @@ -372,9 +339,7 @@ { "cell_type": "markdown", "id": "d8419201", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Making a tree\n", "\n", @@ -385,9 +350,7 @@ { "cell_type": "markdown", "id": "19b9a14f", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\left\\{X\\vert x_j < s\\right\\},\n", @@ -397,9 +360,7 @@ { "cell_type": "markdown", "id": "2b1e0deb", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "and" ] @@ -407,9 +368,7 @@ { "cell_type": "markdown", "id": "95925ab2", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\left\\{X\\vert x_j \\geq s\\right\\},\n", @@ -419,9 +378,7 @@ { "cell_type": "markdown", "id": "6fcb38ed", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "so that we obtain the lowest MSE, that is" ] @@ -429,9 +386,7 @@ { "cell_type": "markdown", "id": "5bcfa0ee", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\sum_{i:x_i\\in R_j}(y_i-\\overline{y}_{R_1})^2+\\sum_{i:x_i\\in R_2}(y_i-\\overline{y}_{R_2})^2,\n", @@ -441,9 +396,7 @@ { "cell_type": "markdown", "id": "3fb296e7", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "which we want to minimize by considering all predictors\n", "$x_1,x_2,\\dots,x_p$. We consider also all possible values of $s$ for\n", @@ -474,9 +427,7 @@ { "cell_type": "markdown", "id": "ccb98b4b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Pruning the tree\n", "\n", @@ -498,9 +449,7 @@ { "cell_type": "markdown", "id": "bc3bb5b7", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Cost complexity pruning\n", "\n", @@ -510,9 +459,7 @@ { "cell_type": "markdown", "id": "bd9fcc00", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\sum_{m=1}^{\\overline{T}}\\sum_{i:x_i\\in R_m}(y_i-\\overline{y}_{R_m})^2+\\alpha\\overline{T},\n", @@ -522,9 +469,7 @@ { "cell_type": "markdown", "id": "5e883366", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "is as small as possible. Here $\\overline{T}$ is \n", "the number of terminal nodes of the tree $T$ , $R_m$ is the\n", @@ -550,9 +495,7 @@ { "cell_type": "markdown", "id": "66cfce67", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Schematic Regression Procedure\n", "\n", @@ -576,9 +519,7 @@ { "cell_type": "markdown", "id": "a1cf3867", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## A Classification Tree\n", "\n", @@ -599,9 +540,7 @@ { "cell_type": "markdown", "id": "8a52f83d", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Growing a classification tree\n", "\n", @@ -626,9 +565,7 @@ { "cell_type": "markdown", "id": "19292eb1", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Classification tree, how to split nodes\n", "\n", @@ -645,9 +582,7 @@ { "cell_type": "markdown", "id": "660b87c0", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "p_{mk} = \\frac{1}{N_m}\\sum_{i\\in R_m}I(y_i=k).\n", @@ -657,9 +592,7 @@ { "cell_type": "markdown", "id": "b863c773", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "We let $p_{mk}$ represent the majority class of observations in region\n", "$m$. The three most common ways of splitting a node are given by\n", @@ -670,9 +603,7 @@ { "cell_type": "markdown", "id": "3adb78ea", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\frac{1}{N_m}\\sum_{i\\in R_m}I(y_i\\ne k) = 1-p_{mk}.\n", @@ -682,9 +613,7 @@ { "cell_type": "markdown", "id": "da8cf302", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "* Gini index $g$" ] @@ -692,9 +621,7 @@ { "cell_type": "markdown", "id": "8bdfa9d3", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "g = \\sum_{k\\ne k'} p_{mk}p_{mk'}=\\sum_{k=1}^K p_{mk}(1-p_{mk}).\n", @@ -704,9 +631,7 @@ { "cell_type": "markdown", "id": "7c208942", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "* Information entropy or just entropy $s$" ] @@ -714,9 +639,7 @@ { "cell_type": "markdown", "id": "ba063690", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "s = -\\sum_{k=1}^K p_{mk}\\log{p_{mk}}.\n", @@ -726,9 +649,7 @@ { "cell_type": "markdown", "id": "d927c5b7", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Gini Index (or Coefficient or Impurity)\n", "\n", @@ -748,9 +669,7 @@ { "cell_type": "markdown", "id": "ed21cc0a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Why binary splits?\n", "\n", @@ -763,9 +682,7 @@ { "cell_type": "markdown", "id": "8b2fc38e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Computing a Tree using the Gini Index\n", "\n", @@ -789,9 +706,7 @@ { "cell_type": "markdown", "id": "d2023b2a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## The Table\n", "\n", @@ -817,9 +732,7 @@ { "cell_type": "markdown", "id": "05e3ff24", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Computing the various Gini Indices\n", "\n", @@ -834,9 +747,7 @@ { "cell_type": "markdown", "id": "94ec28db", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Computing the various Gini Indices, Hours slept\n", "\n", @@ -848,9 +759,7 @@ { "cell_type": "markdown", "id": "e659cbfb", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Computing the various Gini Indices, Hours studied\n", "\n", @@ -864,22 +773,29 @@ { "cell_type": "markdown", "id": "12d49e54", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Visualizing the Tree, Classification" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "7ff4578a", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'pydot'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mIPython\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdisplay\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mImage\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 9\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mpydot\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mgraph_from_dot_data\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 10\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mpandas\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'pydot'" + ] + } + ], "source": [ "import os\n", "from sklearn.datasets import load_breast_cancer\n", @@ -919,22 +835,29 @@ { "cell_type": "markdown", "id": "487e62c8", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Visualizing the Tree, The Moons" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "f357d60c", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'pydot'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0msklearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdatasets\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmake_moons\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0msklearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtree\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mexport_graphviz\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mpydot\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mgraph_from_dot_data\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 8\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mpandas\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'pydot'" + ] + } + ], "source": [ "# Common imports\n", "import numpy as np\n", @@ -965,9 +888,7 @@ { "cell_type": "markdown", "id": "2a9c254b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Other ways of visualizing the trees\n", "\n", @@ -976,13 +897,49 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "id": "524b405e", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[Text(167.4, 199.32, 'X[2] <= 2.45\\ngini = 0.667\\nsamples = 150\\nvalue = [50, 50, 50]'),\n", + " Text(141.64615384615385, 163.07999999999998, 'gini = 0.0\\nsamples = 50\\nvalue = [50, 0, 0]'),\n", + " Text(193.15384615384616, 163.07999999999998, 'X[3] <= 1.75\\ngini = 0.5\\nsamples = 100\\nvalue = [0, 50, 50]'),\n", + " Text(103.01538461538462, 126.83999999999999, 'X[2] <= 4.95\\ngini = 0.168\\nsamples = 54\\nvalue = [0, 49, 5]'),\n", + " Text(51.50769230769231, 90.6, 'X[3] <= 1.65\\ngini = 0.041\\nsamples = 48\\nvalue = [0, 47, 1]'),\n", + " Text(25.753846153846155, 54.359999999999985, 'gini = 0.0\\nsamples = 47\\nvalue = [0, 47, 0]'),\n", + " Text(77.26153846153846, 54.359999999999985, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 0, 1]'),\n", + " Text(154.52307692307693, 90.6, 'X[3] <= 1.55\\ngini = 0.444\\nsamples = 6\\nvalue = [0, 2, 4]'),\n", + " Text(128.76923076923077, 54.359999999999985, 'gini = 0.0\\nsamples = 3\\nvalue = [0, 0, 3]'),\n", + " Text(180.27692307692308, 54.359999999999985, 'X[0] <= 6.95\\ngini = 0.444\\nsamples = 3\\nvalue = [0, 2, 1]'),\n", + " Text(154.52307692307693, 18.119999999999976, 'gini = 0.0\\nsamples = 2\\nvalue = [0, 2, 0]'),\n", + " Text(206.03076923076924, 18.119999999999976, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 0, 1]'),\n", + " Text(283.2923076923077, 126.83999999999999, 'X[2] <= 4.85\\ngini = 0.043\\nsamples = 46\\nvalue = [0, 1, 45]'),\n", + " Text(257.53846153846155, 90.6, 'X[0] <= 5.95\\ngini = 0.444\\nsamples = 3\\nvalue = [0, 1, 2]'),\n", + " Text(231.7846153846154, 54.359999999999985, 'gini = 0.0\\nsamples = 1\\nvalue = [0, 1, 0]'),\n", + " Text(283.2923076923077, 54.359999999999985, 'gini = 0.0\\nsamples = 2\\nvalue = [0, 0, 2]'),\n", + " Text(309.04615384615386, 90.6, 'gini = 0.0\\nsamples = 43\\nvalue = [0, 0, 43]')]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAADnCAYAAAC9roUQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA5BUlEQVR4nO3de3xU1bnw8d+CBAeacktCIgQIxQqUchQIEig5cjOi0POCibRHeTmlJ68UG14joOIFilIF3gwQToAeDqHhokA0tjUHjxLwUrA0IDcDKnI8ECGEjBByoTXDTMJ6/5jMMANJyGXueb6fz3xINnv2Xk/WmmfWXnvvtZXWGiGEEN7RztcFEEKItkSSrhBCeJEkXSGE8CJJukII4UWSdIUQwosk6QohhBdJ0hVCCC+SpCuEEF4kSVcIIbxIkq4QQnhRiK8LIIJPx44dS81mc5Svy+EOBoPBVF1dHe3rcojgoWTuBeFuSikdLO1KKYXWWvm6HCJ4yPCCEEJ4kSRdIYTwIhnTFT6TnZ3NuHHj2LJlC3379iU6OpqQkBAOHjxIbGwsw4cPZ+fOnSxZssTlfbW1tbRv377ebb799tscO3aMcePGMWHCBACOHj3Kxo0b+d3vfse0adNISkpixowZng5PiHpJT1f4zMyZM3n66ad59NFHAYiLi2PixIk8/fTTlJSUMHDgQMLCwhzrFxcXs2bNGjIyMgDIyMggIyODtWvXOtZJSkri17/+NWfOnAHAarVSWFhI//79AQgPD+dvf/ublyIU4laSdIXPVFVVERYWxpUrV1yWG41GUlJSbll//vz59OrVi7S0tAa3abVaWb9+Pf/yL/8CwPHjxykpKWH//v1cunSJrKwsKisrqa6udmssQjSVDC8In8nKymLDhg2sXLmSmJgYAH73u9/x7bffcujQIR588EGX9XNycjh16hSZmZmkpaXVm3wXL15M+/btOXLkCBcuXCA5OZkRI0ZgNBpp164dy5cvp7S0lI4dO3ojRCFuIZeMCbdrySVjH374IQDjx493LDt16hRHjhzh8ccfd2v5mkMuGRPuJsMLwi+MHz+empoal2WRkZEMHDiw0fetWrWKF198kbKyMgC+++47Xn31VXJyclx+Pn36NBkZGTz22GMei0GIppDhBeFTWVlZWK1WiouL6datGx06dGDfvn1UV1cze/Zszp49y/DhwykuLiY3NxeA2NhYpk6dCoDWmieeeIKPP/6YpKQk9uzZg9lsxmq1uvx89913ExUVRUiINHnhW9LTFT5lMpmYM2cO7drdaIqTJk0iPDy8RduzWq2MGzeOoqIil58B8vLy+OlPf+qOYgvRYvK1L3yqR48erF+/ntraWscy5wRsFxMTU++JM601GzZsYN68eeTm5jJ27FheffVVwsLCXH4G+Oabb+jbt6/HYhGiKeREmnC75pxIO3HiBPn5+QwYMIApU6Z4uGTNJyfShLtJ0hVuJxPeCNEwGdMVAcFoNLbofc8++6zjBNy0adN4/fXXsVqtLFy4kKVLl7qziEI0iYzpCq/Lysri2rVrJCcnk5OTg8ViISIiguLiYkwmE127diUxMZFt27YxatQoevXqBdjuLsvLy6NLly5ERUVRXl7O9OnTCQ8Pp6CggIKCAgDGjBlDXFwcAE8++SSHDx8GbtwC/Nlnn/HQQw9RVFREWVlZi0/aCdES0tMVXtenTx+uXr2K2WxGKeW4uiAlJYWePXuyePFiCgsLiY6OZtasWY6kuXfvXmJiYrBYLPTr14/KykquX7/e5P063wKslIwYCN+Qnq7wusrKSiwWC+fOnSM0NBSLxQJASEgIoaGh9nFUTCYTq1atYtiwYZw8eZIJEyawa9cuBg0aRHl5OSEhIZhMJiIjI4mPjyc+Pv6Wfb311lt88cUXjBo1im3btlFaWsrIkSNZtGgRnTp1kl6u8Do5kSbczl0n0oxGIwsWLHBDiVpOTqQJd5OkK9xOrl4QomEypiu8rqVXIqSlpVFaWsrcuXPJyMjAbDbfMveCXWvWMRqNjnFkIdxNkq7wGKPRSE1NDevWrWPHjh3MnTvXMYG4PfEajUZycnJYsWIFeXl5gG2eXfsE5Vu3bnVsLyYmhujoaCIjI6msrHSM/drnXnDWmnXsVz4I4QmSdIXHREVFkZOTw9ixY6mqqsJgMDie6GBXW1tLQUEBUVFRVFZWNmm7ixcv5sEHH3RMB2lntVrdso4QniRJV3jM5MmT2bRpE4MHD6a0tBStteMSr+7duzsu4Ro5ciQVFRWOR+p07tzZMUn5zJkzb9luZmYm27Zt45577nHMvXD//feTmZnplnWE8CQ5kSbczlMn0tauXUtycjLR0dH1/v/ly5eJiIhodBtNWWfz5s0kJCTQv39/OZEm3E6SrnA7uXpBiIbJzRHC7QwGg0kpFeXrcriDwWAw+boMIrhIT1f4BWW7L/dPwFda62fduN2fAS8Dw7XWf3fXdoVoKUm6wi8opWYDs4FRWutrbt72FqBaa/0rd25XiJaQpCt8Tik1ENgP/KPW+ksPbL8zcAyYp7V+x93bF6I5JOkKn1JKdQD+CmzUWv+7B/czGvgDUAKM11pXeGpfQjRGrtMVvvYKcAHY4OH9RAJVwI/qXkL4hCRd4RNKqQ5KqXHA/wb+1QvXmP0XsAZbmx/v4X0J0SAZXhBeV3elQglgBZ7QWr/vxX2HALVBcyGxCDjS0xW+cCfQA1DAP3hzx1rrGkm4wpfk5gjhCwOBa8BvgU0+LosQXiXDCyKgdezYsdRsNgf03W8Gg8FUXV1d/4QSIuhI0hUBLRjmeZD5HdoWGdMVQggvkqTbRnXs2LFUKaUD7dWxY8fS5saanZ1NUVERL7/8Mps3b+b999/ns88+Y/Xq1bzxxhucOnWKJUuW3PK+2traBrd54MABZsyY4fj9u+++IyMjg8mTJ3P16lWmTZvG66+/3tyiijZATqS1UWazOSoQD8tbMnvZzJkzSU5O5tVXX+XQoUPExcURERHB22+/TUREBAMHDiQsLMyxfnFxMW+//TY1NTXMnz+fjIwMwPaI+NTUVABGjx7NgQMHHO/p1KkTaWlpXL16le9///uEh4c7Hk0khDPp6Ypmyc/Pd/m9rKyMI0eONPqemx8M+eWXX7JkyRKys7M9Vk5nVVVVhIWFceXKFZflr7zyClVVVbesP3/+fHr16kVaWlqz9nPu3DliY2MBHE/FqK6ubmmxRZCSnq64raysLKxWK8XFxXTr1o0OHTqwb98+qqurmT17NmfPnmX48OEUFxeTm5sLQGxsLFOnTgVweehjUlISu3fvZtGiRY4epDfKv2HDBlauXElMTAwA77//PgcPHnT87iwnJ4dTp06RmZnpeGzQzT7//HP279/PsGHDuHLlCsnJyeTl5TFjxgzKysrYuHEjpaWldOzY0dPhiQAjSVfclslk4sUXX2TRokWOZZMmTWLfvn0+LFXTPfPMMwAsWrSIDz/8kMLCQiZNmsSkSZMAOHXqFHfeeafLewYOHMjAgQMb3ObgwYN55x3XCcvsQw8ACxcudFfxRZCRpCtuq0ePHqxfv97lxFK7dreOTMXExNTbK7Q/9HHevHnk5uaSmJjI0qVL6d27tyeLXa/x412nXcjPzycxMdGRYMvKyigqKmL48OENbmPVqlWUlZUxb948wsPD+fjjj3n33XeZPHkyY8eO9WTxRRCQ63TbqOZc33rixAny8/MZMGAAU6ZM8XDJGnfzNa0tuU735uGSuLg4l+GSw4cPk5yc3OBwycqVK0lOTubw4cMkJSVx8OBB3nnnHcaOHUtiYmKrYxLBTU6kidsaMmQI8+fP93nCdReTycScOXNceuuTJk0iPDy8RdsbOXIkr732Gn/5y1/cVUQRxGR4QbiF0WhkwYIFzX7ftGnTSEpK4mc/+xmLFi3ie9/7nsvYsSe4e7jkBz/4Ae+99x7du3f3ZLFFkJDhhTaqscPyrKwsrl27RnJyMjk5OVgsFiIiIiguLsZkMtG1a1cSExPZtm0bo0aNolevXhQWFjJx4kTy8vLo0qULUVFRlJeXM336dMLDwykoKKCgoACAMWPGEBcXB0BKSgpxcXHExcXx97//naKiIqZMmdJgr9Mdwwv+NFwCMrzQ1sjwgrhFnz59uHr1KmazGaUURUVFgC1B9uzZk8WLF1NYWEh0dDSzZs3i8OHDAOzdu5eYmBgsFgv9+vWjsrKS69evN7ov5+tZbdPsel6wDZeIwCJJV9yisrISi8XCuXPnCA0NxWKxALY7skJDQ+09M0wmE6tWrWLYsGEATJgwgQsXLtCvXz/Ky8sJCQnBZDIBEB8f77jm1d7LLSsrY/ny5Vy8eJGRI0fy7rvvUlRU1OKxVXcwGo0tet+zzz5Lbm4uVquVhQsXsnTpUpefhbCT4YU2yh2zc7V0HLc1mjO84M1hkqKiIg4fPkxsbKxjmGTgwIGYzeZmD5mI4CY9XdFi3k64zeXNYRJnzsMk3hoyEYFDkq4IWt4aJgF46623ePfdd7n77rsdwyRDhw71iyET4We01vJqgy9b1TcsPT290f9vyFNPPaUvXryoU1NT9erVq3V1dbVeuXKlfuGFF/Tly5dd1m3K8vT0dP3pp586/q+u3E2OoylaGqu73ByTvIL7JT3dNs5oNFJTU8O6devYsWMHc+fOdUxJaD+pZDQaycnJYcWKFeTl5QG2mbsyMjLIyMhg69atju3FxMQQHR1NZGQklZWVjt6kfcIbZ01Z7tyb9BR/HyYRwUWSbhsXFRVFTk4OY8eOpaqqCoPBwJkzZ1zWqa2tpaCggKioKCorK5u03cWLF/Pggw/y4Ycfuiy3Wq31rt/Q8tZq6dUIaWlplJaW3jItpd3cuXPJyMjAbDY3ex2j0egYPxZtjyTdNm7y5Mls2rSJwYMHU1paitbacdKoe/fujutoR44cSUVFBf379wegc+fOjrHNmTNn3rLdzMxMtm3bxj333IPWtju47r//fjIzMx3rNGV5Y5TTWSpP9dgb6o03pSff0Dre6L0L/yW3Abdx3bt3d/RGf/Ob3ziW33vvvS3ansFgoLS0lLlz5zqWOR++OyfopiwvKioiISHBZR9KqW7A/waesC9z7rF/8sknjfbY77nnnib32J1ZrVZCQ0MBW0++oKCg3p787dapj1LqfwHvaq1rml0wEVCkp9tGGQwGk1IKd7/mzp3LnXfe2eD/R0ZGNmv5rFmzuOuuuxy/GwwGM3AWGAU4JrD1VI+9od54U3ryDa3TgOeAIqXUy0op7895KbxGbo4Qfk0p1QWYAcwGOgL/AWzWWl+q+3/tiTa8du1akpOTiY6Odiy7fPkyERERjb6vKets3ryZhIQER+K33xyhlBqCLc7HgL8AG4D3tNYNPyFTBBxJusLv1I3VjsCWgB4B9mBLQB9pra/ftK5Hkq431XOX3feAn2EbPukFZAGbtNbFPiqicCNJusJvKKU6A49jSzZdsPVqs7XWpobe07Fjx1Kz2dzsJwT7E4PBYKquro6u7/+UUvdi+3v8HNiP7ctnt/R+A5ckXeFzSqk4bL3aZOBDbIll78292rZMKRWGLfHOBnoAG4Hfa61LfFow0WySdIVPKKW+D/wztiQSzo0kctGnBQsASqlh2P5u04GPsH1J7ZEvqcAgSVd4lVJqKDcSxp+5kTDkcLmZ6r64HsP29+zGjS+uUp8WTDRKkq7wuLoTQ/ZD42huJIcLPi1YkKg78RiHbew3GfgA25fZB9L79T+SdIXHKKXuwZZofw58gi0RvC+9Ws9xOhk5GwjD9gWXrbX+1qcFEw6SdIVbKaU6YbvcaTYQw43Lnc77tGBtTF3v9z5uXHa3mxuX3cmH3ock6Qq3UEr9mBsX9v8V2+Ve/yW3tfqeUqorN24wuYMbN5hc9mW52ipJuqLFlFIdgUexfZhjgU1Altb6nC/LJepX1/sdha2+/hfwHrbe75+l9+s9knRFsymlfoTtpM0M4FNsH9xd0qsNHE6TBs0G2mPr/W7RWpc1+kbRapJ0PSwQ75hyvkOqrnf0FLATmIjtQ3oX8HtsvdqzPiuoaLW6+v0Jtnr9KbAL25fodeB7Wut85/UDvT37A0m6HhaIcwM4zwWglMrENoTQHjiG7QOZp7X2zKzjwmeUUuHATGwJOBTbnW/TtdbvOa0T0O3ZH0jS9bBAbqRKqT5AEVAD7NNaT/RtyYQ3KKXuBI5gu6b6ktY6yun/ArY9+7ocdpJ0PayhRpqdnc24cePYsmULffv2JTo6mpCQEA4ePEhsbCzDhw9n586dLFmyxOV9tbW1tG/fvsH9Pfnkk/zyl78kLi6OiooKXnnlFe644w6WLVvGtGnTSEpKYsaMGbcrs3NPV2GbfKad1vpKs/8AIiAppaKBKq31dzctbzDpeqNNa61ZtGgRFRUVvPzyy6SkpNy2Tftb0pUnR/jIzJkzSU5O5tVXX+XQoUPExcURERHB6NGjWbduHY8//jhhYWGO9YuLi3n77bepqalh/vz5ZGRkALbHiaem2ubyfvfddxk9erTjPadPn+bhhx/mz3/+M2VlZYSHhzseYdNUdZ+witbGKwJLS24l9kabBjCZTFy7do3OnTu3qE37mjw5wkeqqqoICwvjyhXXzqPRaCQlJeWW9efPn0+vXr1IS0trcJsnTpygoKCAQ4cOATBs2DCOHTvG6dOnCQkJcTw9obq62q2xCAHeadPfffcdEydO5LHHHuPzzz8PyDYtSddHsrKy2LBhAx999BH2w7Xf/e53fPvtt44G5iwnJ4cf//jHjsfB2B8xY+8RACxcuJDk5GTuu+8+cnNzsT+3MSEhgZqaGpYvX87Fixfp2LGjFyIUbY032nRISAh79+7l3XffpXfv3gHZpmVM18OacuLB/uDC8ePHO5adOnWKI0eO8Pjjj3u0fPXxtzEw4T+aeiLNn9q0v7VnSboe1pyzvfn5+SQmJjp+Lysro6ioiOHDhzf4nlWrVlFWVsa8efMIDw+npKSEJ598kqysLDp16sTq1au56667iIuLY/v27VRUVLBy5crbldmvGqnwH95uz19++SU5OTn07duXWbNm8eabb3Lu3DkeeeQR/vM//5PQ0FCefPLJ25XZr9qznEjzsaysLKxWK8XFxXTr1o0OHTqwb98+qqurmT17NmfPnmX48OEUFxeTm5sLQGxsLFOnTgVsT6t94okn+Pjjj0lKSqJnz56O/9uzZw9msxmr1Uq7du0oLi6ma9euvglUtAnubs+7d+9m0aJFZGRkcObMGbp37865c+f4wQ9+QEhICH//+999GG3LyJiuj5lMJubMmUO7djeqYtKkSYSHh7d621arlXHjxlFUVMT58+d55plnJOkKj/Jkez5w4AAnT550jA//+te/plOnTq3errdJT9fHevTowfr166mtvTHFrHODtYuJian3LK/Wmg0bNjBv3jxyc3N54IEHyM/Pp7q6mkcffZRXX32VsLAwunbtSmZmZkCdcBCBx93tOTExkaVLl9K7d2/Htbg1NTX89a9/5YMPPuCOO+7wWCyeImO6Hna7MbATJ06Qn5/PgAEDmDJlihdL1jB/GwMT/kPac+tJ0vUwuW1SBBNpz60nY7oBxGg0tuh906ZN4/XXXwfg6NGjzJkzx53FEqJFWtqendvwunXrWLNmjctwhr+TMV0fycrK4tq1ayQnJ5OTk4PFYiEiIoLi4mJMJhNdu3YlMTGRbdu2MWrUKHr16gXA8ePHycvLo0uXLkRFRVFeXs706dMJDw+noKCAgoICAMaMGUNcXByA41ZJq9VKYWEh/fv391ncIjh5qz07t+GKigo++eSTRi9B80fS0/WRPn36cPXqVcxmM0opioqKAEhJSaFnz54sXryYwsJCoqOjmTVrFocPHwZg7969xMTEYLFY6NevH5WVlVy/3vgDX+23ShYUFFBSUsL+/fu5dOmSp0MUbYi32vPx48cdbdhqtfLDH/6QIUOGcPToUW+E6RbS0/WRyspKLBYL586dIzQ0FIvFAtgm+wgNDbWPQ2EymVi1ahXDhg3j5MmTTJgwgV27djFo0CDKy8sJCQnBZDIRGRlJfHw88fHxLvspKytj48aNlJaWkpCQQEJCAkajkcjISF+ELYKUt9rziBEjGDFihKMNWywW3nvvvVtmLvNnciLNw1p74sFoNLJgwQI3luj2/O3Eg/Af0p5bT5Kuh8nZXhFMpD23nozpCiGEF0nS9aGWXjKTlpZGaWkpq1at4sUXX6SszPUBrlVVVTzwwAMALF68mKeffvqWdebOnUtGRgZmsxmj0eg4sSFEa3iqTW/fvp2XXnrplvc5t/VAadOSdL3AaDRSU1PDunXr2LFjB3PnznXMdm9vpEajkZycHFasWEFeXh5ga1AZGRlkZGSwdetWx/ZiYmKIjo52mRzE2ZtvvsnEibbHmd1xxx1MmTLllnUiIyOprKxEKeW4tEyIpvJ2m37sscfqnTfEua0HSpuWpOsFUVFR5OTkMHbsWKqqqjAYDJw5c8ZlndraWgoKCoiKiqKysrLZ+7BabQ/nNZvNfPXVVxw4cIBjx44RExPDhx9+SGhoqGMdsPWAH3zwQce8p0I0hzfbdEPLb27rgdKmJel6weTJk9m0aRODBw+mtLQUrbXjWsTu3bs7rqMdOXIkFRUVjpsXOnfu7JhNf+bMmbds1z45yP333++Yfd9gMJCenk5CQgJDhw6lffv2dOjQgYkTJzrWAcjMzGTbtm3cc889XvgLiGDjzTYNsHv3bvbv38/p06cbbOsB06a11vLy4Mv2J3avzMxMffHiRZdlly5duu37GlonOztbf/31147f68rs87+dvPzv5Yn2rHXz2nRT2rpzm/a39iyXjHlYx44dS81mc5Svy9EcBoPBVF1dHe3rcgj/I+259WR4wYOUUspsNi8ELgNPA+211srfXsAQoBD4AxDpTw1U+Jfq6uroZrSrZ4FPgBA3tdNQoAB4ujnv87f2LD1dD1FKhQMbgLuBx7XWJ3xcpEYppe4Afgv8M/BLrXW+j4skAphSahiwGxihtS5y43b7Y0u8E7TWhe7arjdJT9cDlFKJwGdAEXCfvydcAK31Na31M8BMIEsptUYpJY+ZEM2mlOoEbAeecmfCBdBa/w+wANgeqO1TerpuVNcIlgGPALO01h/4uEgtopTqBvw78GNsvfTjvi2RCBRKqRnAT4Dva61neGgfCtgJmLTW/9cT+/AkSbqtVNcA/g9wCHgd+ByYo7W+4tOCtVJdXI8Dq4H/h23M97+11mcafaNos5RSXYESoByYqrX+1IP76obtaPJXWuv/8tR+PEGSbisppR4CtgAKmAe8roPoj6qUigW2AtHAea31BN+WSPirumG13UAZ8DNPH+kppcZiG8a4V2v9rSf35U4yptt6W4HuQHtgVzAlXIC6MblCoBcwXin1iG9LJPzYBWAT0NcbQ2ta64+xdXh+r5R6RikVEPlMerqtpJRKAv4b26F3ta/L4wl1Qw29gAQgX2tddpu3COEVSqn7sPV2I4EhWutzPi7SbUnSFUIELKXUPwA5wEBgptZ6m4+LdFt+l3Tljhf/Fyh11NbqBdpm3dQNKzwD/Elr/ZU7tulJfpd0ZWZ6/xcoddTW6gWkbgJBQAw8CyFEsJCnAQsh/E6gDJM4a+qQSUD1dLOzsykqKuLll19m8+bNvP/++3z22WesXr2aN954g1OnTtX7KOba2toGt3ngwAFmzHC9cWbdunWsWbOG2tpapk2bxuuvv+7uUIKOt+rGuT6kbpqmvrr5+OOPWb58OX/4wx9aVDcrVqwgIyODr7/+GoCKigrmzZvH888/D7S+bsxmc5T2g2kYm/Nq6pdEQCXdmTNn8vTTT/Poo48CEBcXxz333EN5eTnXr19n4MCBhIWFOdYvLi5mzZo1ZGRkADgeE7J27VrHOqNHj+bee+91/F5RUcEnn3zimJ0+PDzc8RgS0TBv1A241ofUTdPUVzdHjhxh4cKFnD17tkV1ExERQVVVFe3a2VLI6dOnefjhhwkJCaGsrEzqphEBlXSrqqoICwvjyhXXO2xfeeUVqqqqbll//vz59OrVi7S0tCbvo6amhh/+8IcMGTKEo0ePOmbAr64Oyktw3cYbdQO41IfUTdM0VDcNaUrd/Ou//isvvvgib7zxBgDDhg3j2LFjnD59mpCQEJ/VTX6+6+R4ZWVlHDlypNH33PwwzC+//JIlS5aQnZ3tkTIG1JhuVlYWGzZsYOXKlcTExADw/vvvc/DgQcfvznJycjh16hSZmZmOR4Tc7PPPP2f//v0MGzaMK1eukJycjMVi4b333mPRokUsX76c0tJSOnYMyAmNvMYbdTNu3Dg2btxIaWkp3333HWvWrJG6aYL66mbo0KEsW7aMu++++5b1m1I3f/rTn/j0009JSEggNzeXadOmAZCQkEBNTY1XPzdZWVlYrVaKi4vp1q0bHTp0YN++fVRXVzN79mzOnj3L8OHDKS4uJjc3F4DY2FimTp0K2J6eY38YZlJSErt372bRokWOnr7b+Xoc5OYXTXwcyAcffKA/+OADl2Vffvmlfv3115v0fnfCzx4H4unX7erIX+qmrdWLDqK6aWoe0Frr3/72t1prrV966SWdnp6uP/roI33w4EGdnp6uz549q9966y2ttdbnz5/Xq1ev1qtXr9Z//OMfHe83Go26qKhI5+bmaq21Xr16ta6pqdFGo9GtMdlfATW84Gz8+PHU1NS4LIuMjGTgwIGNvu92hxJvvvkmRqORkpISpk6dyuXLlz0TQBBzV93Ajfpo7GfRdMFYNz169GD9+vUuJ/7sY83OYmJiHD13ey8XXB+GmZubS2JiIkuXLq33ke/uEFDDC+DZQ4kzZ87QvXt3zp07R8+ePV0qRtyeu+vGuT4a+lk0TTDXTXx8PPn5+YwePZopU6Y4lsfFxTniaMyCBQscPycnJwPUezWHuwRcT9dkMjFnzhyXb7JJkyYRHh7e6m0fOHCAkydPcujQoVZvqy1yd90410dDP4umCea6GTJkCPPnz3dJuP4s4Hq6zT2UuJn9UGLevHkuhxK9e/d2XBNaU1NDZWUl+fn5VFdXM2fOHI/FE0zcXTfO9dHQz6Jp2nLdGI1Gl95sUx09epSNGzeyevVqsrKyuHDhAsuWLWt1eQJu7oUTJ06Qn5/PgAED/Oabra3dR95QHflb3bS1eoHgqZuG4sjKyuLatWskJyeTk5ODxWIhIiKC4uJiTCYTXbt2JTExkW3btjFq1Ch69epFYWEhEydOJC8vjy5duhAVFUV5eTnTp08nPDycgoICCgoKABgzZgxxcXFYrVbeeOMNLl++zIIFC/jggw/Yvn07mzZtanFMdgE3vNCcQ4mWDuYfPXqUOXPmoLXmpZdeIjU11eUEgqhfSw7zWlpHzncNitvzVt2YzWbWrl3ruDPN3fr06cPVq1cxm80opSgqKgIgJSWFnj17snjxYgoLC4mOjmbWrFkcPnwYgL179xITE4PFYqFfv35UVlZy/fr1Bvdz/PhxSkpK2L9/P5cuXWLChAnEx8c7bppqjYAZXmjJNxzY/njN/YYrLCykf//+gG0s7Nq1a3Tu3NlnsQcKb9WR/a7B4cOH+zLcgOKtujEYDAwaNIhjx455JI7KykosFgvnzp0jNDQUi8UCQEhICKGhofbeJiaTiVWrVjFs2DBOnjzJhAkT2LVrF4MGDaK8vJyQkBBMJhORkZHEx8cTHx/vsp8RI0YwYsQIjEYjVquV1157jfPnz5OSktLqGAIm6fbp04ejR4+6fMNFRESQkpJCdnY2CxYs4D/+4z8c33CvvfYaHTp0cHzDlZWV0a9fP4qKipr0DXfw4EEeffRRJk6cSJcuXfj8889vuSVVuPJWHd181+CIESO8GGVg8lbdAEyYMIEzZ85gtVoJDQ11axz2W5nBdiOGM/u4bWpqKkajkXnz5gG2E4ZguyHEzr7sduzbfOGFF1pe6JsETNL1xTdcdHQ0e/fuxWAwsHTpUl+EHVC8VUcRERGOuwY9eWlPMPFW3ZSUlLB582a39QpbqiUnzrymKXdQePNFM+5EqU96enqr3t8StLE7nwKljtpaveggqpvG4mhpGZ966il98eJFvXLlSv3CCy/oy5cvu/x/Q8srKyv1xIkTtdZa79ixQz/77LP6woULOj09XX/66adNjsn+CrgTabfj199wApA68mf+VDdGo5GamhrWrVvHjh07mDt3rmPmMvtJPqPRSE5ODitWrCAvLw+wTfBjnxlt69atju3FxMQQHR2N1jdu9HDW0PI333yTiRMnArYbLi5cuED79u0dN180V9AlXSFEcIiKiiInJ4exY8dSVVWFwWDgzJkzLuvU1tZSUFBAVFQUlZWVzd5HQ1cj2JebzWa++uorDhw4wLFjx7jrrrtIS0vjm2++aX5AdQIu6bb0EqO0tDRKS0vrvYccbN+ODzzwAABbt27lV7/6FXv27HFZZ/v27bz00kuOctgvRxE3eKp+MjIySE1N5dtvv3VZ7lxvUieN81TdOH8unDnXWUvqZvLkyWzatInBgwdTWlqK1tpxEq979+6O6SNHjhxJRUWF44qjzp07O+ZYmDlz5i3b1frGXAuZmZmNLjcYDKSnp5OQkMDQoUNJT08nKyuL6OhWPFOzKWMQ3nxRN5aTnp6urVarXrt2rd6+fbtOTU3VV69e1enp6Y4xnfT0dL1z5069fPly/c477zjGX+wzCW3ZssUx3mJ/z80zCtlt3LhRL1++3PH7smXLtMVi0Tezb+ejjz5yjOfQxsYOAa/Xj9a28bRTp065LHOuN+c6aYv14su6aWic1V5nza0bWjk2XZ/MzEx98eJFl2WXLl2qd92GljvLzs7WX3/9teP3prY3v+3pevPQ4uZDCPu2Q0ND3XIxdDDy9qHf+fPnKSkpYcCAAY3Wm/CPw3JwrbPmMhgMJqUU7nzNnTuXO++802VZZGRkves2tNz5NWvWLO666y7H7waDwdSU2Pw26Xrz0OLmQ4ijR486rulzPvzYvXs3+/fv5/Tp054O3+95+9Bv9uzZgO2D3FC9CRtv143z56KhOmuu6urqaK21CqRXUx5K6fhD+tMLDxxWaN28Q4umrON8aEEbO4z1RB2549CvpYd7wfSSuvH/l99NeBPMj14OFoFSR22tXkDqJhD4XdJtDqVUP+AgkKi1Pu6G7bUD9gAfaq1fbe322jKlVF/gU2CS1vqoG7bXDngf+IvW+uXWbq8tU0r1Bg4DU7TWn7phewr4L+Cw1npRa7cX7AI26SqlQoCPgT9orVe5cbsxwBHgp1prmSW7BZRS7YGPgF1a6//nxu32BI4Cj2itD7hru21JXd3sBfZorV9z43ajgWPAdK31fndtNxj57Ym0JngeqAYy3LlRrXUx8CTwhlIqzJ3bbkOeA2oAtz4oS2tdAvwKeF0pJdO+tcx8oD2wwp0b1VqXAv8H2KaU6urObQebgOzpKqXigT8Bw+o+iJ7YxyYArfW/emL7wUopdR/wn0Cc1rr5p62bto8NgAFYCvyPDsRG7ANKqeHAe8AIrXXLb6lqfB/rgK5a68c9sf1gEHA9XaXU94E3gDmeSrh1ngL+USmV7MF9BJW6I4M3gFRPJdw6zwKjgby6f8VtKKW+h61unvJUwq3zDDBUKSVJtwEBl3SBf8N2ouuPntyJ1vpvwOPAurpxXnF7GcAnWuu3PLyfHwCRwADgJx7eV7BYCXyqtd7hyZ1orb8DHgMylFKxntxXoAqY+XTrDlt/gO1DNswb+9RaH1JK/RuwRSm1ECjUWl/zxr4DiVJqBBALjAU8fpeC1vqYUmowtp6bjO02QikVB/QBHgTu9cY+tdbHlVLLsY29Pw2c1FpXe2PfgSBgxnSVUhewjePN0lrneXG/nYB9wPeAZ7TWu7y170ChlPoGCANSPH0EIppHKfU/QBdsw3GePgJx3q8B+LBu37/RWud6a9/+LiCGF+rGcXsCdwCDvLz7O4He2A5lx3l5336v7kupD7YvRG/XjWiEUuoOoB/QCe/XTQ9sRz+DgAle3rdfC5ThhVBs1wD+Qmtd6M0da63/Ryn1AyATaP7MIMEvBDgO/FJr7bZZZwLlzirw67urQoHPsB2BHPHmjrXW55RS/bGN81/x5r79XcAML4i2RSkVMFeC1T1fTPm6HCIwBMTwghBCBIsmDy8E0uGes8YO/QIppqYcwgZKPH58OO4xwVQ3gRIL+Gdba/LwQiAd7jlr7NAvkGJqyiFsoMTTmliys7MZN24cW7ZsoW/fvkRHR2MwGCgoKODuu+/mRz/6ETt37rzl0ey1tbW0b9++3n2dOHGC3bt3M2rUKH7yk59QUVHBK6+8wh133MGyZcuYNm0aSUlJzJgxw+3x+JtgigX8c+hHhhdEQJk5cyZPP/00jz76KGB7OuuRI0dYuHAhZ8+eZeDAgYSF3Zgyo7i4mDVr1pCRkQHgeErs2rVrHevk5eVx/fp1x0Tfp0+f5uGHHyYkJISysjLCw8MdT6EVorU8nnTz8/Ndfi8rK+PIkcZPpN78ALwvv/ySJUuWkJ2d7bFyNlUwxROIsVRVVREWFsaVK007IT5//nx69epFWlpag+tcunSJtLQ0/vznPwMwbNgwjh07xunTpwkJCXE8aaG62nvX9wdi3TQm2OJpDY9cMpaVlYXVaqW4uJhu3brRoUMH9u3bR3V1NbNnz+bs2bMMHz6c4uJicnNt10zHxsYydepUwPX580lJSezevZtFixY5eiveFkzxBHosWVlZbNiwgZUrVxITY7s7e+jQoSxbtoy77777lvVzcnI4deoUmZmZjkfR3Gzq1Km88sorxMbGkpuby7Rp0wBISEigpqaG5cuXU1paSseOHT0eWyDXTbDH4y4e6emaTCbmzJlDu3Y3Nj9p0iTCw8M9sTuPC6Z4Aj2WZ555hk6dOrFo0SL69u1LYWEh48eP5/nnnycpKYlTp05x5513urxn4MCBjfZ0x44dy29/+1tSUlJITk6mffv2PPPMM6SmphIeHs7ChQu98kEP9Lq5WbDF4y4e6en26NGD9evXU1tb61jm/Ie3i4mJqffDoLXtAXjz5s0jNzeXxMREli5dSu/evT1R3NsKpniCKZbx48ffctgaGRnJwIEDG33fqlWrKCsrY968eY4E8Oabb3Lu3DkWLFjQ4M+eFkx1A8EXj7t45OqFEydOkJ+fz4ABA5gyZUprytdq7rh6wR/icddZ5WCI5ebD1ri4OJfD1sOHD5OcnNzgYevKlStJTk7m8OHDJCUlcebMGc6cOcPx48d55JFH6v25saQrdVO/QInH2zzS0x0yZAhDhgzxxKZ9IpjiCYZYTCYTL774IosW3Xgc16RJk9i3b1+LtnfgwAEuX77MoUOHiI6OrvdnbwiGunEWbPG4i88uGTMaW/Ykl6NHjzJnzhy+++47MjIymDx5MlevXnVz6VqmpTE9++yzjh6Zv2hJLGazmbVr1/L88897oEQ3NPewNS0tzdHLhRuHrffffz+5ubnMmDGDtLQ07rvvvgZ/9ifB1M6gZfFcunSJFStWMH/+fA+UyLPc0tPNysri2rVrJCcnk5OTg8ViISIiguLiYkwmE127diUxMZFt27YxatQoevXqBcDx48fJy8ujS5cuREVFUV5ezvTp0wkPD6egoICCggIAxowZQ1xcHFarlcLCQvr370+nTp1IS0vj6tWrfP/733dHGD6JCeDJJ5/k8OHDbo/B27EYDAYGDRrEsWNum/emXvHx8eTn5zN69GiXw1b73zM2NrbR9zsPFSQnJ9e7vKGf3S2Y2pk344mMjOS5557j5ZcD78HQbunp9unTh6tXr2I2m1FKUVRUBEBKSgo9e/Zk8eLFFBYWEh0dzaxZsxwVv3fvXmJiYrBYLPTr14/KykrHBer1OX78OCUlJezfv59Lly5x7ty5237A/D0mb/BmLBMmTCA+Ph6r1eqxeIYMGcL8+fN9fr7AHYKpnYF349mzZw8jRozwdEhu55aebmVlJRaLhXPnzhEaGorFYrFtPCSE0NBQ+2A2JpOJVatWMWzYME6ePMmECRPYtWsXgwYNory8nJCQEEwmE5GRkcTHxxMfH++ynxEjRjBixAiMRiORkZGsXbu2wVszAyUmgLfeeosvvviChx9+mE6dOgVsLCUlJWzevJnz58+TkpLi9jhaw2g0NrvHajabycrK4sKFCyxbtswj5QqmdubNeEwmEytWrGDKlCk89NBDKOVX58oa5dW5F1rS8FvL03MveCsmb9wTHyixtOQQtrCwkIkTJzb7kPyDDz5g+/btbNq0yWPxNEWg1E1T+VM83ubVE2neTrjeEEwxBUoswTZc0hSBUjdNFWzxNIfbkm5Lz6impaVRWlp6y33WdlVVVTzwwAMAbN26lV/96lfs2bPHZR3n9xqNRredLPBUTA0t3759Oy+99JJj3+4+6eHteHbu3Mlzzz1HSUmJW+NpySEs2BLohQsX6Nevn8shLNhOztmvdLD3cktKSnjttdc4evQoISGefciKp+rGuU0589RnBrzfzjIyMkhNTeXbb7/1yOfG3ZrdkoxGI2lpaWzYsIHu3btz4MABx3iX/ZDBaDTSu3dvioqKGDRoEP/0T/9EVVUVv//97wHo3r07M2fOBGyX9URHR99yn7Xdm2++ycSJEwHbDFMlJSWMHTvWpUzO77V/YPw5poaWP/bYY44G25I4/C2euLg4du3aRfv27VsVz83sM4yBbX4EZ/YeVGpqKkajkXnz5gG263jBNk+DnX1ZQ3r27MkLL7zgljLbebtunNuUs9Z+ZnwRS0PL09LS2LlzJ+Xl5W5tZ57S7J5uVFQUOTk5jB07lqqqKgwGA2fOnHFZp7a2loKCAqKioqisbP5jxeyHcmazma+++ooDBw44LkOqra0lNDTUrYd73oypqctbw1/iueuuu0hLS+Obb75p9vbdwR8PYf2lbtzBX2I5f/48JSUlDBgwoNnb94VmJ93JkyezadMmBg8eTGlpKVprx7hY9+7dHdPgjRw5koqKCvr37w9A586dHYdv9m82Z84XrGdmZgJgMBhIT08nISGBoUOHcvToUUdPxb7Oze9tCW/G1Njy3bt3s3//fk6fPt2iOPwtnvT0dLKysoiOdv/E/Z46hHU+VHXmrqEfb9eNc5ty52fGF7E0tHz27NmALfkGBK11k162Vd0vMzNTX7x40WXZpUuXbvu+htbJzs7WX3/9teP3unL7bUzuiEMHWDzNiSU9PV1brVa9du1avX37dp2amqqvXr2q09PTdXp6umOdnTt36uXLl+t33nlHa611ZWWlXr16tV69erXesmWLoxz29xiNRl1UVKRzc3NvKeuOHTv0qVOnblluf+9HH32kP/30U8fytlo37uarz423Xz5/BHtqauotyyIiIm77vobW+cUvftHaIrVac2Ly5zjsfBmP8yHsJ5980ugh7D333NPiQ9jQ0FDgxqHqz3/+c5fl/iqY2lowxdKYJg8vGAwGk1KKQHsZDAZTMMTUWByBFk9TYrHz9iGs86GqO4d+gqluAiWW5rY1b2nyzRFCeJPy0MMP165dS3Jysss48+XLl+vtOTW0fPPmzSQkJDgSvFL+dwG+8F+SdIVf8lTS9QRJuqI5fD6mK0R96g5ho3xdjqbwx0NY4b+kpysCllLKABwE/k1r3fDkCM3f7lPAPwMJWmvf3v8rgo4kXRGwlFKrgL5AsjvHIpRS7YD3gAKt9W/ctV0hQJKuCFBKqQeA3wP3aq3Lbrd+C7Z/J3AMeERrfcDd2xdtl88e1yNESymlIoBs4BeeSLgAWuuLwGzgdaVUZ0/sQ7RN0tMVAUUppYA/Av+ttX7GC/v7d6CT1vrWi32FaAHp6YqAoZQKA1KwjePeOl+hZ8wH7lNK/XPd/oVoFenpioCglAoHPgMMwD9qrb/w4r6HAe/X/dpXa13trX2L4CM9XREofgxEAVbgH7y876FALdAdCIz5A4XfkqQrAsWPgQrgF0COl/f9e2wn1aqAwV7etwgyMrwghBBeJD1dIYTwIpl7QTRbx44dS81ms9/Pi2AwGEzV1dWNPrYimGIRgUGGF0SzBcoMYE2Z/SuYYhGBQYYXhBDCiyTpCo/Lz893+b2srIwjR440+p6bHxz55ZdfsmTJErKzsz1WzqYKtniEd8mYrvCIrKwsrFYrxcXFdOvWjQ4dOrBv3z6qq6uZPXs2Z8+eZfjw4RQXF5ObmwtAbGwsU6dOBWyP03niiSf4+OOPSUpKYvfu3SxatIiMjAyJRwQ06ekKjzCZTMyZM4d27W40sUmTJhEeHu7DUrVcsMUjfEd6usIjevTowfr166mtrXUsc05YdjExMaSlpd2y3P7gyHnz5pGbm0tiYiJLly6ld+/enix2g4ItHuE7cvWCaLamnPE/ceIE+fn5DBgwgClTpnipZK7cefWCr+ORqxeChyRd0WzBdJlVMMUiAoOM6QqfMhqNzX7PpUuXWLFiBfPnz/dAiVquJbEAPPvss46TbyL4yZiucJusrCyuXbtGcnIyOTk5WCwWIiIiKC4uxmQy0bVrVxITE9m2bRujRo2iV69eABw/fpy8vDy6dOlCVFQU5eXlTJ8+nfDwcAoKCigoKABgzJgxxMXFERkZyXPPPcfLL78c8LEAPPnkkxw+fNhjsQj/Ij1d4TZ9+vTh6tWrmM1mlFIUFRUBkJKSQs+ePVm8eDGFhYVER0cza9YsR6LZu3cvMTExWCwW+vXrR2VlJdevX290X3v27GHEiBFBEYtoW6SnK9ymsrISi8XCuXPnCA0NxWKxABASEkJoaKh9XBKTycSqVasYNmwYJ0+eZMKECezatYtBgwZRXl5OSEgIJpOJyMhI4uPjiY+Pd9mPyWRixYoVTJkyhYceegjbE3wCMxaAt956iy+++IKHH36YTp06uT0W4V/kRJpottaefDIajSxYsMCNJaqfN06k+VMsIjBI0hXNFkxn/IMpFhEYZExXCCG8SJKucKuWXjaVlpZGaWnpLRPD2GVkZJCamsq3337rstx5faPR6ParADwVT0PLt2/fzksvveTYt1zVEHwk6YoWMRqN1NTUsG7dOnbs2MHcuXP529/+5vg/+785OTmsWLGCvLw8AKqqqsjIyCAjI4OtW7c6thcTE0N0dLTLxDDO0tLSGDNmDOXl5S7Lnde3X4IVCPE0tPyxxx6ja9euAK2KR/gvSbqiRaKiosjJyWHs2LFUVVVhMBg4c+aMyzq1tbUUFBQQFRVFZWVls/dhtVodP58/f56SkhIGDBjgstxdvB1PU5aL4CRJV7TI5MmT2bRpE4MHD6a0tBStteN61O7du5OVlUVlZSUjR46koqKC/v37A9C5c2fS0tJIS0tj5syZt2zXPjHM/fffT2ZmpmP57NmzAVvydV7uvH4gxdPQ8t27d7N//35Onz7dqniEH9Nay0tezXrZmo17ZWZm6osXL7osu3TpUr3rNrQ8Oztbf/31147f68rp9Vi0dn88TYlFXoHxkkvGRLMF08McgykWERgk6QohhBfJmK4QQniRJF0hhPAiSbpCCOFFknSFEMKLJOkKIYQXSdIVQggvkqQrhBBeJElXCCG8SJKuEEJ4kSRdIYTwIkm6QgjhRZJ0hRDCiyTpCiGEF/1/5p94PeJNzzoAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from sklearn.datasets import load_iris\n", "from sklearn import tree\n", @@ -996,9 +953,7 @@ { "cell_type": "markdown", "id": "fa90608a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Printing out as text\n", "\n", @@ -1008,13 +963,25 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "f068897d", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "|--- petal width (cm) <= 0.80\n", + "| |--- class: 0\n", + "|--- petal width (cm) > 0.80\n", + "| |--- petal width (cm) <= 1.75\n", + "| | |--- class: 1\n", + "| |--- petal width (cm) > 1.75\n", + "| | |--- class: 2\n", + "\n" + ] + } + ], "source": [ "from sklearn.datasets import load_iris\n", "from sklearn.tree import DecisionTreeClassifier\n", @@ -1029,9 +996,7 @@ { "cell_type": "markdown", "id": "9bc4d551", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Algorithms for Setting up Decision Trees\n", "\n", @@ -1049,9 +1014,7 @@ { "cell_type": "markdown", "id": "7d6044cb", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## The CART algorithm for Classification\n", "\n", @@ -1066,9 +1029,7 @@ { "cell_type": "markdown", "id": "cbd5b927", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "C(k,t_k) = \\frac{m_{\\mathrm{left}}}{m}G_{\\mathrm{left}}+ \\frac{m_{\\mathrm{right}}}{m}G_{\\mathrm{right}},\n", @@ -1078,9 +1039,7 @@ { "cell_type": "markdown", "id": "c7fb3bc7", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where $G_{\\mathrm{left/right}}$ measures the impurity of the left/right subset and $m_{\\mathrm{left/right}}$\n", " is the number of instances in the left/right subset\n", @@ -1095,9 +1054,7 @@ { "cell_type": "markdown", "id": "a21c1456", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## The CART algorithm for Regression\n", "\n", @@ -1108,9 +1065,7 @@ { "cell_type": "markdown", "id": "f1e7036a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "C(k,t_k) = \\frac{m_{\\mathrm{left}}}{m}\\mathrm{MSE}_{\\mathrm{left}}+ \\frac{m_{\\mathrm{right}}}{m}\\mathrm{MSE}_{\\mathrm{right}}.\n", @@ -1120,9 +1075,7 @@ { "cell_type": "markdown", "id": "5b6d39e7", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Here the MSE for a specific node is defined as" ] @@ -1130,9 +1083,7 @@ { "cell_type": "markdown", "id": "ebe4bf16", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\mathrm{MSE}_{\\mathrm{node}}=\\frac{1}{m_\\mathrm{node}}\\sum_{i\\in \\mathrm{node}}(\\overline{y}_{\\mathrm{node}}-y_i)^2,\n", @@ -1142,9 +1093,7 @@ { "cell_type": "markdown", "id": "565c4e66", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "with" ] @@ -1152,9 +1101,7 @@ { "cell_type": "markdown", "id": "9247bcd6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\overline{y}_{\\mathrm{node}}=\\frac{1}{m_\\mathrm{node}}\\sum_{i\\in \\mathrm{node}}y_i,\n", @@ -1164,9 +1111,7 @@ { "cell_type": "markdown", "id": "7dd29ac2", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "the mean value of all observations in a specific node.\n", "\n", @@ -1177,9 +1122,7 @@ { "cell_type": "markdown", "id": "48fe2503", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Computing the Gini index\n", "\n", @@ -1221,22 +1164,29 @@ { "cell_type": "markdown", "id": "ae3d09bc", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Simple Python Code to read in Data and perform Classification" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "id": "1c14742e", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'pydot'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0msklearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcompose\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mColumnTransformer\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mIPython\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdisplay\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mImage\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 11\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mpydot\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mgraph_from_dot_data\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 12\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'pydot'" + ] + } + ], "source": [ "# Common imports\n", "import numpy as np\n", @@ -1310,9 +1260,7 @@ { "cell_type": "markdown", "id": "f68b19c5", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Computing the Gini Factor\n", "\n", @@ -1326,13 +1274,74 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "id": "38fb3318", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "X1 < 0.000 Gini=0.408\n", + "X1 < 0.000 Gini=0.408\n", + "X1 < 1.000 Gini=0.394\n", + "X1 < 2.000 Gini=0.394\n", + "X1 < 2.000 Gini=0.394\n", + "X1 < 2.000 Gini=0.394\n", + "X1 < 1.000 Gini=0.394\n", + "X1 < 0.000 Gini=0.408\n", + "X1 < 0.000 Gini=0.408\n", + "X1 < 2.000 Gini=0.394\n", + "X1 < 0.000 Gini=0.408\n", + "X1 < 1.000 Gini=0.394\n", + "X1 < 1.000 Gini=0.394\n", + "X1 < 2.000 Gini=0.394\n", + "X2 < 0.000 Gini=0.408\n", + "X2 < 0.000 Gini=0.408\n", + "X2 < 0.000 Gini=0.408\n", + "X2 < 1.000 Gini=0.407\n", + "X2 < 2.000 Gini=0.407\n", + "X2 < 2.000 Gini=0.407\n", + "X2 < 2.000 Gini=0.407\n", + "X2 < 1.000 Gini=0.407\n", + "X2 < 2.000 Gini=0.407\n", + "X2 < 1.000 Gini=0.407\n", + "X2 < 1.000 Gini=0.407\n", + "X2 < 1.000 Gini=0.407\n", + "X2 < 0.000 Gini=0.408\n", + "X2 < 1.000 Gini=0.407\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 0.000 Gini=0.408\n", + "X3 < 1.000 Gini=0.367\n", + "X3 < 0.000 Gini=0.408\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 1.000 Gini=0.405\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 1.000 Gini=0.405\n", + "X4 < 1.000 Gini=0.405\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 1.000 Gini=0.405\n", + "X4 < 1.000 Gini=0.405\n", + "X4 < 0.000 Gini=0.408\n", + "X4 < 1.000 Gini=0.405\n", + "Split: [X3 < 1.000]\n" + ] + } + ], "source": [ "# Split a dataset based on an attribute and an attribute value\n", "def test_split(index, value, dataset):\n", @@ -1399,9 +1408,7 @@ { "cell_type": "markdown", "id": "8e2e38be", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Entropy and the ID3 algorithm\n", "\n", @@ -1438,9 +1445,7 @@ { "cell_type": "markdown", "id": "f4316cf5", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Cancer Data again now with Decision Trees and other Methods" ] @@ -1449,11 +1454,37 @@ "cell_type": "code", "execution_count": 8, "id": "64a04a67", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(426, 30)\n", + "(143, 30)\n", + "Test set accuracy with Logistic Regression: 0.94\n", + "Test set accuracy with SVM: 0.63\n", + "Test set accuracy with Decision Trees: 0.89\n", + "Test set accuracy Logistic Regression with scaled data: 0.96\n", + "Test set accuracy SVM with scaled data: 0.96\n", + "Test set accuracy with Decision Trees and scaled data: 0.92\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/mhjensen/Software/anaconda3/lib/python3.8/site-packages/sklearn/linear_model/_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):\n", + "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n", + "\n", + "Increase the number of iterations (max_iter) or scale the data as shown in:\n", + " https://scikit-learn.org/stable/modules/preprocessing.html\n", + "Please also refer to the documentation for alternative solver options:\n", + " https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n", + " n_iter_i = _check_optimize_result(\n" + ] + } + ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -1501,9 +1532,7 @@ { "cell_type": "markdown", "id": "e8bf2b9c", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Another example, the moons again" ] @@ -1512,11 +1541,21 @@ "cell_type": "code", "execution_count": 9, "id": "e52d3d63", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from __future__ import division, print_function, unicode_literals\n", "\n", @@ -1587,9 +1626,7 @@ { "cell_type": "markdown", "id": "909c35c6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Playing around with regions" ] @@ -1598,11 +1635,21 @@ "cell_type": "code", "execution_count": 10, "id": "3a5b5fca", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "np.random.seed(6)\n", "Xs = np.random.rand(100, 2) - 0.5\n", @@ -1629,9 +1676,7 @@ { "cell_type": "markdown", "id": "607883cb", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Regression trees" ] @@ -1640,10 +1685,7 @@ "cell_type": "code", "execution_count": 11, "id": "a917a8a7", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "# Quadratic training set + noise\n", @@ -1658,11 +1700,19 @@ "cell_type": "code", "execution_count": 12, "id": "a2329a82", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DecisionTreeRegressor(max_depth=2, random_state=42)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", "\n", @@ -1673,9 +1723,7 @@ { "cell_type": "markdown", "id": "9920ac6a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Final regressor code" ] @@ -1684,11 +1732,21 @@ "cell_type": "code", "execution_count": 13, "id": "3b569d53", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", "\n", @@ -1734,11 +1792,21 @@ "cell_type": "code", "execution_count": 14, "id": "67740201", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqwAAAEiCAYAAAA8kIAFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAACBdElEQVR4nO2deZgcVfW/39vLLJnsk4QEQggJIRAIRAlLs4TBCIjiz8iIfllEEZ0AiixKEAFBUAMBNIqIGdkREDXgQkTQkElYmn0bFgMkBMhKMpnsMz0z3ff3x63qru6u7ume6Znezvs8/XR31a2qW72c+tS5556jtNYIgiAIgiAIQqHiyXcHBEEQBEEQBCEdIlgFQRAEQRCEgkYEqyAIgiAIglDQiGAVBEEQBEEQChoRrIIgCIIgCEJBI4JVEARBEARBKGhEsApCCpRS31RK7ejlPuqUUlopNSJX/RIEoXCw/t9fyXc/+hql1N1KqUeL+VhKqQal1EdKqYhS6ppc71/oW0SwCj3GMipaKXVlwvKCFWlKqSal1G8zbP4QMCGLfa9SSv0wYfGzwBigJdP9CIJQVIwB/pnvTgjpUUoNA24FbgT2AG7qwT5mKKX+oZRaY13jvunSRimlrlFKrVVKtVnXnAN6fQKCCFah17QDc5RSI/v6QEopf18fw3ksrXWb1vqT3uxHa92htV6vpUKHIJQk1v87lO9+CN2yF+ADHtVar9Na92T0bCDwJnAh0JaizRzgB8AFwKHAJ8B/lFKDenA8wYEIVqG3LAFWAVela2TdmT6vlGpXSm1QSv1KKVWRpr3tpf28UuoFpVQHcKJ19zpHKbXCunttVkqdmbDtT5RSHyqlQkqp9Uqpe63ldwPHAt+19q2VUuPTHCspJEAp9QXrPNqUUi1KqX8qpaqUUk0Yg3ijve+E8xjh2McpVr9DSqmPlVJXKKWUY/0qpdSVSqkFSqltSqnVSqlLE/oxWyn1rvV5blRKPa6U8qX7DgRBSI/lDbtNKXWzUmqz9d+6UClVqZS6VSm1xRpS/rpjm2hIgGVPtFKqXin1H6XULqXU20qp4zM8vl8p9RvLO2fbh+sd689USr2olNqulPpEKfUXpdQejvW2vTlJKfWyZaeeUkqNVUodq5R6XSm1Qyn1qFKq1rHd3dayKy37vEMpdZdSqjpNX3tsi7Mlw2Ndr5Rabq1fpZSap5SqstZ9E3jVarrStv3Z9kNr/S+t9Y+11n8FIm79BC4CrtdaL9Ravwl8AxgEnJ7t8YQEtNbykEePHsDdwKPA54EOYKK1vA7QwAjr/R7ATuD3wP7AycB64OY0+7b30QycgBmaHwn8HFgOfA7YG2MEdgJfsLarB7YBXwDGAdOB71nrhmCG6O8ERlsPb5pjfRPY4ejT54Au4GfAFOAg4IfAAGA48DHwU3vfKT6LQ4Cw1W5f4AxgB3CB4zirMCEE3wP2wdypayBgrZ9u9eMMjEg+GLgY8OX7NyEPeRTzA2iy7Mc1wCSMp0wDj2G8avsA1wEhYHdrGw18xXo93nr/P+CL1j7usf7PAzM4/g8sOzLDsl9HAmc71n8LY28nAIdhHAbLHOtte/MCcIxlo94EngEWA4db9uMD4BbHdncD24G/AAcCJwJrgN8ktHnU8b7HtjiDzyGrY1ltrgKOsr6DzwMfAddZ66qtc9IYr6dt+4/B2N90jx+n6OMO4JsJyybYx0hYvgi4J9+/72J/5L0D8ijeh9OoWIbzT9Zr22jaIu3nwPuAx7HtNzFGf0CKfdv7qHcsq8EMwxyT0HY+8C/r9SWWYfOn2G8T8NvujuXoo1OwPmOfY4p9rwJ+mGLf9mdxP/BkQptrgNUJ+3kwoc17wJXW61OArcCgfP8G5CGPUnpY9iHoeK+AjcA/HMv8mBt0W6S6CdbZjvZ7WMuOzuD4v8EIS5Vhf/ez9j3Wem/bmxMdbb5nLfu0Y9k1wJuO93cDW3CIauBMy0bXONrY9r7Xtrib88rqWCn2cS7wvuP9dOtzGO9YVo25CUn3GJ5i/26C9UjrGOMSlt8JPJ7v33exP2QIUcgVc4DnlFJugez7Yy4CziGUp4EKjEF4I81+X3K8ngJUAf+2h9wt/BiRB8ZDcCHwgVLqceDfmItNJjFmL3Wz/lMYQ9ob9sfcbTt5GrhaKTVYa73NWpb4mawFRlmv/wN8SOwcnwAe1lpv72XfBEFw/Pe01lop9Qlm9MVe1qmUaiX2f0y7D8x/l27a29yN+X+/q5R6AvgX8JhtO5VSnwauBqZhRnXsUKJxwOoUx99gPTcnLEvszxs6Pq4ziLHRE0m2R31ti7M9FlZYxkWYa8pAjAfVm27HWus2jDMl1yTOWVAuy4QskRhWISdorV8EFgI3uKxO92ft7k+80/Ha/r1+EWOw7ccBmKF8tNYfA5OB2ZjhqJuBl5VSNd0cJ/FYfUWmn0WnyzoPgCVMPw18FTPsdTnwP6XU7rntqiCUJW7/vZT/x+72oS0XWzft7bavYLy0P7ba34OZsOOxbNjjwC7g65ih7c9ZmybOB3D2V1v7TlzWm+t/X9virI6llDoC+BPm8/kixrlwJUbUpkQpdYwVr5vu8eMs+rreeh6dsHwUsRsHoYeIh1XIJT8G3iZmRG3eBr6qlPI4vKxHY4bVVmSx/7cxQ1R7aa2fTNVIa92O8WIusiYsrMfENj1hHTPtXXcaXgVmAn9IsT6Tfb+NOXcnR2NCAjL2kGqtu4AngSeVUldjZqKeDDRmug9BEAoPyw78BfiLMhNFn8N4DQcBIzAxlR+AmcCZw0NPVUrVaK3tG/cjSG2jc2GLMyWTYx0FrNFaX2cvUErtlcG+X8KI33RszqSTFh9gzvF44EWrH1WYWNlL02wnZIAIViFnaK3fV0o1YoaBnPwOM1TzO6XUrzGB6ddjYkl3ZbH/7VbIwU3WbMxlmKGfI4CI1rrRmg3qA57HxBh9DeNteM/azSrgMGuG6A6yM0Y/B/6plHofeADjLT0BWGCdxyrgGKXUH4GQ1nqTyz5uBl5UJmn1AxgvyQ8wYj8jlFInY4bplln9Pw5zMXsni3MRBKHAUEpdAqwDXsPYrdMx3snVmFjOEPA9pdStmPCi69z31CN8wJ1KqWuB3TE2+g8OARslR7Y4IzI5FvAusIdS6gxMKMOJwGkZ7DurkACl1EDMzQMYz+84pdQ0YLPW+iMrhGQ+cIVS6n9Wv67EnP8DmR5HcEdCAoRccy1mBnsUrfUa4CTMMM1rmAD0B8lCpDm4CjNh4IfAW5h4r3rMnS2YiQPnAE9hZsfWA6fYHglMsugOzF37RkzsV0Zorf8FfNk6l1eBpRixaHuNfwLsifFIbEyxj1eAU61+vYm5KFwPZFrMAMw5zgL+i5mN/EPg21rrp7LYhyAIhcd2jCfuBeAVjPfvJK31Lq31RkyKpFkY+3U1ZmJTrliKsalLgEcwIzhz0rTvrS3OhrTH0lr/E1MQYD4m3vZ4jD3ONdMxtv9VzIStn1qvr3W0mQf8ElOk4CVMYYkTZI5B71Gx8BpBEARBEMoNK/RghNb65Hz3RRBSIR5WQRAEQRAEoaARwSoIgiAI/YBS6vdpZqP/Pt/96w+UUuO6mZWfcZiWUF5ISIAgCIIg9ANKqVHA4BSrt2mtP+nP/uQDZUpIj0/TZJWVBUUQ4hDBKgiCIAiCIBQ0JZvWasSIEXr8+PHw6qsQiYDHY56nToXOTjrXbaKzU6FG1FI9Mts8xoIglCsvv/zyJq31yHz3o6+I2k4Xdu6E7dth0CCoEbMpCEIW9NZ2lqxgHT9+PC+99BJUVUEoBGPGwJo1cMUVRE4/A08kjAZCH23jvSuWMLUhkO8uC4JQBCilPsx3H/qSqO1MIBiEmTOhowM2b4bFiyEgZlMQhAzpre0s/UlXnVY1usFW2NCzz6IiYcBkfffTQcvCprx0TRAEoVhoajJiNRw2z01N+e6RIAjlRGkL1nDYhAEoFRu/OuiguCadVFBbX9f/fRMEoXAJBuHLX2bn3lNYfsCXaW4M5rtHeaeuDioqwOs1z3V1+e6RIAiFSjAIc+ea51xRsiEBQMy76veb0ACASZNQ1dXQ1gbAewskHEAQBAfBIBxzDDocZgCwL+/QOXsRzSwta1sRCJgwgKYmI1YlHEAQBDec4UMVFbkLHyptD6stWCsqYoI1FDIC1qKcL0CCILjQ1AThMAqiDx+dEjqEuehcfrmIVUEQUtNX4UOlLVg7Osyz08Pa3m4yBgiCILiRMNatgS78EjokCIKQAX0VPlR+IQHt7SamVRAEwY1AwKS/a24GIKI8LP99eYcDCIIgZEpfhQ+Vh2B1hgSIYBUEoTuqq6MvvT6viFVBEIQsCARyHzpU2oLVGRKwdSsAH/7kdvboCJf4iRcmoVCIzZs3s337dsLhcL67U9BUVFQwYsQIhgwZku+ulCddjsqQZf5bDQZlopUgCPmntHWb7WHt6iKy6F94gHGrluW1S+VKKBTio48+YtiwYYwfPx6/348ST7crWmva2tpYvXo1lZWVVNmjA0L/4RSskQhoXZYjM30121cQBCFbSnv2kS1YOzrAUSxA6H82b97MsGHDGDFiBBUVFSJW06CUYsCAAYwYMYKNGzfmuzvlSaJXVev89CPPSLEAQRAKhdIWrHZIwJAhaH9FfvtS5mzfvp3BdrUxISMGDRpEe3t7vrtRnjg9rFC2YQFSLEAQhEKhtAWr7WEdOhTv0iYiHi8A4QGD8tip8iQcDuN35L8Vusfn89GVKJyE/kEEKxCb7XvddRIOIAhCfsmLYFVKfU8p9ZJSKqSUurubthcrpdYrpbYqpe5USlVmfCDbw1pRAYEAnmoTC+jzOtpEItl2X+ghEgaQHfJ55ZFEgVoggrXfbKcDKRYgCEIhkC8P61rgZ8Cd6RoppU4EfgTMBMYDE4CfZnwUZx5WMONazuVQMBciQRAKiML1sPaP7RQEQSgw8iJYtdYPa63/BrR00/QbwB1a67e01q3AdcA3Mz5QomD1WUkRbM8rJF+YBEEQEu1CgYzE9JvtFARBKDAKPYb1AOB1x/vXgd2UUrVujZVSDdZw2UsbN26MDwmAmIfVefERwSoIArD853/hmeOuoLkxWMge1kzpne0UBEHIkGAQ5s41z31JoedhHQhsdby3Xw/CxcOgtW4EGgGmT5+uP/77K+wJtL/8JlXBYEywOhHBKvQDy5cv58EHH+S0005j8uTJ+e6OkMDbv3qcKVd+lcnArqZf0TXAZ4yjx2NucItPsPbKdkqxAEEQMqE/czUXumDdAThzIdmvt3e3YdvGnYy904RsVa5bReTY4/AMcckOIIJV6GO01pxzzjm88cYbLF68mGXLlsmEqgKj7aF/RF/76YCQJVArK6GtrRgFa49t586dUixAEITMcMvV3Ff2otBDAt4CDna8PxjYoLXuLn6Lri0xu6wAOjvcxalzApYg9AF33HEHq1at4rXXXuODDz7gnnvuyXeXhASGzpgafd1JBcq2jHY4UYHEsGZBj23n9u1SLEAQhMzoz1zN+Upr5VNKVQFewKuUqlJKuXl77wXOUUpNUUoNA64E7s7kGL6hA1GAth74K2DAgOSG4mEV+pBNmzZx+eWXc9dddzFhwgTuvPNO5syZw+bNm/PdNcHBxBMnRV+vWLAYL1ZlK1uwFoiHtT9s56BBUixAEITM6M9czfnysF4JtGHSrpxpvb5SKTVOKbVDKTUOQGv9b2AesAT40HpcnckBqoeZnKtd3ko2zDoXz9IlUFOT3FAEq9CH2OVVjz/+eABOOOEEPvnkE4YPH57nnglxODKHTG0IxARqpZW6tEAEK/1gO2tqpFiAIAiZ01+5mvMSw6q1vga4JsXqgQltfwn8MuuDWBcY//ixjH7kNrPM53K6GQpWmYQgCCVMKBR7HYnEQgAKzMPaL7YTY+NyYefEbgqCkCsKfdJVz7GF6NChsWU9zBLQn7PgBEHIA7t2xV7b3lavN2YzCkSw9gtvvgljxhjv8uDBsHVr7DNJXFZZCZ/6FMyZk2QUxW4KgpBLCn3SVc+xLzA5EKxus+AEIR3nnnsuSinWrl2btG758uVUVFRw4YUX5qFngis7d8Zet7ebZ5/PpLWCYpx01XNCIVi/Hj78EJqb4aOPzHu3ZR9+CH/7Gxx7bFISRrGbgiDkktIXrMOGxZa5CdYMsgT05yw4oTQIWK6kF154IWndxRdfzODBg7nmmmv6uVdCSlIJ1nL0sPaEzs4kRSp2UxCEXFKyglV/+BEAu158M3bn38MY1v6cBSf0kP4qtZEhRxxxBJAsWBctWsRjjz3GtddeyzDnzZSQX3bsiL1uazPP5RoSgCO7Sqb4/UmKVOymIAi5pGRjWFXYCNHqD/9nigYsXdKrSle5moQgJFCoCfR1VpfrJCZPnszw4cPjBGtnZyeXXHIJBx54ILNnz+5tD4VcIh7WKO1UsZahdFDFyElDGdjRGpuUVlVlwqxaW2OhA5AyW7jYTUEQckXJClYbBehOK4BKSrMK/cgRRxzBM888g9YapRS//vWveffdd/nvf/+L1+23KOSNTc+/zwj7TZnHsL7FAYzlJbxeuO5sk64mJX6/saGHHtpv/RMEoXDoz0wgJRsSAAlFA+rqRLAWIlr3/vHss1Bdbb7f6mrzvrf7zAFHHHEEW7duZfny5XzyySdcd911zJo1i5kzZ+Zk/0JuaG4MMnTJI9H3K/70onlRpiEBSmURd2qHWUnFQEEoO+xMIFddZZ77OiKvZD2s4aoBfDR6OpXTpjB6zllG+vciD6tQwNjBcgWW8NE58WrZsmWEQiFuvvnmPPdKSKRlYRMeYoJ0+5NWGEeZhgRMngxnnZXhX8nvNx5psaOCUHa4ZQLpy8tvyQpW7wH7s9dLSxMWioe1ZCnAYLnDDz8cj8fDHXfcwdNPP82ll17KhAkT8t0tIYHa+jr0Ex7ADPsPPWJ/eImyFaw1Nd2EATjx+82zeFgFoeywM4HYuZb7OhNISYcEJNHDtFaC0BMGDRrElClTWLZsGaNGjeKKK67Id5cEF6Y2BNh5QCwGc/xxe5sXzhjWMhKsWSEhAYJQtvR3JpCS9bC64hISsPW0c1l5zLNsVcOora8zdcQFIUccdthhvPnmm8ydO5dBgwbluztCCgaPGgBvWW/sSVfOGNYymnTVHcEg3HuveX1jh5+BwMvPd3HIl/LaLUEQ8kB/Dm6Wl2B18bAOad/AtP/ciAban6immcUiWoWc0NnZSVNTE9OnT+cb3/hGvrsjpMNO2wSxPKxlGhKQjmDQDPvZlVovw8dA4MyvdXLnkoKLyhEEoYSQkABM6isPUEEHLQub+rNHQglz00038cEHH3DLLbegCjXfbDnyr3/xyee/wb3nPhub1eoUrGWehzUdTU3xo/+dmBhW3dklpVcFocTJd32esvWw2omLnDKiCx+19XX92SOhxNi8eTOPP/44b7zxBjfeeCOXXHJJtOqVUAAEg+iTT2aU1nyNBznxrqXMbQoQcBOsXq/EsCZQV2fmWdke1i7rEjLA3ymlVwWhhLFTWNkTrPJRva68BKsjhrVj5B587B3PPuufiS5bffnvJBxA6BWPP/44p59+OqNGjeLiiy/m+uuvz3eXBCdNTSgrz66fTo7qbKKpKUDAFqng7mGVGFbAXKCammIxrKP+6Yc1cFdjJweL6RSEkqW/U1i5UV6C1eFhrRw+kH0WLoADD4wu2+fk/fLRK6GEOO200zjttNPy3Q0hFQ43oMbDM/465tYBt0lIQKbETbJ4wQjWgw+Q9ICCUMr0dworN8o3htXrhdGj49e/9lq/dkcQhH7G4RLYPHKyCQcIIDGsPSAYhLWfSForQSgH+juFlRvlJVidaa08HpoXLo9bHbnwovxFEwuC0K+MHOEwum5ZAiSGNSV2PNsHq82kqzdfFcEqCKVOIGCKiuQrG0h5CdYED2vLwqVEHNOuVFcXMtVVEMqEHTtirx0xrKE/3GNeNDdDa6t5LTGscdjxbJ1WVNnrL0tIgCCUM/2RQaBsY1jxeqmtr6PjCT+VdKAA7fWhZKqrIJQHH3/MrrH7MOD4Y+I8rJUdRsjqjRtRS5aYheJhjcOOZ+tqMx7WTx0oHlZBKAeCQXPDWlcX87T2VwaB8vWwejxMbQjw3oImWoeZ+u6eq6+K+wbWffk8Xjn8PJobJUxAEEqRAWtWoO++23WdArAyCohgjceOZ9t7XyNYp+wb87DmO1ejIAh9gy1Mr7rKPNv/cbcMAn1BeXlYnTGslnid2hCAZQG4fyXsbdUQDwaJHDOD0eEuRgOhF+6imSWS8qqXaK0lgX4WaFssCT1ixWWNqIcXok+pZ+INDdHlYY8PbyQmsNx+kdE8zR6PCQcQwZpEIABM9sG7RCddFUKuRkEQeoebFxVSp7bqrwwC5SVYE7ME2FRUmGc7G3ZTEyrcFb2Q+e0KWCJYe4zX66Wzs5MK+7MWuqWrqwufr7z+ornig4vmM+HXF5s3855gBcREq0dBxIhSRezZya7x+1MzbbIRYosWiWBNhd94WG3BWgi5GgVB6DnpbjpTCVN7xMVN5OaSvF0NlVLDgTuAE4BNwOVa6wdc2ingOuBsYCDwKvBdrfVbWR80ISQgSqJgrauLXsA00EmFVMDqJYMGDWLbtm2MGDEi310pGrZv305VVVW+u1GU1Dx4e9x/WD28EG5oAK3xRoz43DRyCiM3vo2qrIzPEgDUfPC2efGd75jnApl0lRe7mQ77hqrLeKwLIVejIAgZ8vTTcMUV8OGH5r+8cycHbe3g/bYKtlPDoLadDJnZAdVARQWBmhpaq3fSRQd+H1ScUgE1NbBzJ4GODgIVFXCHeR/VUxVWm64uJsHE3nQ3n+6bW4EOYDdgGrBIKfW6i0E9FfgWcDTwIfAz4D7g01kf0SUkAIh5CewP2HF7EFEe3vu9hAP0luHDh/PRRx8BMHjwYPx+v4QHpEBrTVtbG5s2bWLcuHH57k5R4tl/MnwSMyX6lHrzoqvLiE+fj5EvPQZ77ZUkVuMovDys/W8305HgYe0vT4sgCL0kGIRjj026Ga+xHlHarIdFpfUAYHt2hxwMQ7PsZRx5EaxKqRqgHjhQa70DeFop9Q/g68CPEprvDTyttV5pbftH4OIeHTjTkADnJh4lYjUHVFZWMm7cODZv3syqVasIF44AKEgqKyvZbbfdxMPaQ0YcORmWmtdrTr80Fg5gp6+qqoKRI1Nu39wYNP/7AsrDmje7mY4EDyskVMISBKEwaWoqmJGjTMmXh3VfIKy1ftex7HXgWJe2fwK+ppTaF/gA+Abw7x4dtTvB6latJRyG445jx9ptvD9oGt6Gb2ckYJsbg7QsXEJt/XEieC0qKysZM2YMY8aMyXdXhBIjaYLV1q3RdWPPPiHW0ClYX3vNNX41gorFrBeWhzU/djMdCR7WRFJN3khHT7YRBCFL6upAKdA6Nsk0i83TTQnuq7HTfAnWgcDWhGVbgUEubdcBTwHLgTDwMfAZt50qpRqABsB9KDXTGFa7rX2RampiIHAwrxCafX+3GQOaG4PsO7uOCjoIPVEpGQYEoQ9Z/c0rmXDPz80be4KVQ7A6iwLECVaX3CsaCOONxazbNqMwPBF9YjchA9uZijSCtScZAyTLgCD0E4EAWz59HENffpLV7MEmRrLf6FaqCRn7OHSoKZxih0wlLNu+EzZtr2ILQxlCK5WE6KSKkZOGMrDDZbtQiG3vvLOlN13Ol2DdAQxOWDYY94iIq4FDgT2B9cCZwJNKqQO01rucDbXWjUAjwPTp05NvAFLFsLoJVp8vyauiyCxjQMvCJiox+6okJBkGBKEPqVr01+QJVpP9sQapBGtdHRGvD084NpwdUR4+uvTW2A1mYXlY+8RuQga2MxUuIQE2PckYIFkGBKH/2NA2hKHARfyav3vrue77pvRqJrzluLn0+eDss+Gss2DvNP/X95Ra0Zv+5qtwwLuATyk1ybHsYMBtBuvBwENa69Va6y6t9d3AMGBK1kd1iNSO516OZb1NnHQFxlWeQKYZA5zrNUoyDAhCX3LggXFv9Sn1cSEBKQVrIID3qWW0zJjFppH7s3nGLLzPPB2Xs7XABGt+7KaFa0GANB5WO2OA15t5xoCebCMIQs8YOdzYtYjHl/X/zZ5ged11sGQJ3HZb399c5sXDqrXeqZR6GLhWKfVtzGzXLwFHujR/EThVKfUnYCNwBuAH3s/2uBsfexF7moV/8wYiM47Fs2ypu4fVxQC3DpvAmuv/2O3w/tSGAMw2r9v3mizhAILQh4w4cTo0LQRgzek/NIJz6i2xBm3WFNdIhJbzr6QW6Fy1Gn8wCIEAI5Y+knrnBTTpKl92E9IM1afxsPYkY4BkGRCE/mP4YPO/Pe1MH3POTf9/c4st7+8JlvlMa3U+cCfwCdACnKe1fkspNQ54G5iitf4IuAEYBbyGybbwPlCvtd6S7QF3rVwfnWShALo6zTcwZIhpYItUrV0vUMOPmsLwLMXngFFu4WWCIPQGM6mxidr6OqY6xNLYqbUQCBB5+53Y8NE777Dhi9/G07SYkTtWAeDbsSV2w5rG4q5e52Us0DHvV1TccgtUVvY6l2Av6Xe7CWmG6m0P6803w69/bV47Yt0CoRABgEZH/JtSMG0azJnj+tlLlgFB6DvihKdlO796ug8CLusD5v2998Kdd5r/fzbx6Lm+8cybYNVabwZmuSz/CDO5wH7fDnzXevSKrq+eAfOWRWe3aZ8fVVcHb1kjaraHNcWMV3YlhX51Ty5zjTY2sm3+HaxTu9Nx4Rzx3AplyTs3PcqUS78EQOiJSjacfBq72SutACxnrJP+1a8YRfzM1bgb1hTWNBiE1j++zligYuum6HSn3uYS7A35sJuQpiDA66+b502bstvhqlWmgtjS9DcMuUIyDwhC8kjJ2gPCxphZoU+J6+fPh4suMpFUdqXwTGLL+2ryZFnVfZx4QwMrgKr776Bq4u7UXm/d4b/3nmlgC1aXfKxAfgXrj3+MnjuXQZgpwZ2zF9HMUhGtQtkx9FdX48XM2vfTQdtbK9O2T/wHJt2wpqCpCT4b2eCa+qrcSDlUv2ZNz3famf6GIVdI5gFBMCSOlGxt6TKC1QrtSVy/cKF5tsWqUpnFlvfV5Ml8TbrKGxNvaGCP1c9Tu/SR2CeYOOmqED2sf/lLNJRBAT46TfYBQSgzBuwWC7PppIKaSXsktdGkzhOogW0Hz+g2HKCuDu7yfafb/ZULgYBxYMd9ZOee2/Md+v39MqvK7eIpCOVI4qTGYYNMSMB9D/oIBpPX19fH3ldWwuzZmd3w9dXkybLysKbEmnS149ElbLiskYk/mOXeziFYl//8L2z593MM+PpX0ns5cyVYp0yB9818CQ104ZfsA0JZMmTvWnjVvF6xYDG1S/6a1KZ9zN5sCw9gt0+SJ9B7Tj+dIfff3+1xAgFgWQOPzYNjX51PTagVqqrYtmrVll6eQunQ0MCKFTD4zvkMjrRSWUH6HI4bN8KaNXT4q1n+28VM7QdXZ8pwBkEoMxJHStR3jGBdcLuXV+4z6xJHUqZOzT6cps8mT2qtS/JxyCGH6ExZW/9drY3XW0dAf3D+DdH3cY8xY7R+9lm9depR0WU7qdZvLHg2eaf2NkcemXE/0nLNNdF9bh20u/sxBaEcOOWU2P9La/1i4ILk/+p772l9yy3u/+Mf/7hXhwde0gVg4/rqkY3tfPZZraurtfZ6zfOzz8aW/+IXsfc2f7z+Y61Bf8wece37mlT9EYRyZu0e07UGPZ0XtNdr/iN9SW9tp3hYgY6Xm+Pee/71aNz7aAxbayvMmMEgx6zkStpZcUdTai9rrjysjko7g088UmJXBcFi7OjklEoMHQrV1e4b2GnshF6TarjdLWY0GIRLr6jgDDBVAEP9VxhAMg8IQjKDBxjbqXuQhzUflF0MqxtdXz0jLj5tyPbVAMn1dUMh6OpKmICheHf3uj7uIfFptgqjTKQgFASjR7gI1iFDzDC0G5WVfduhMsIebvd4zL15bW1qEdvUBO0Rc7NQQQdeb+FfIAWhlKmpNLbz3O96i2IyoghWzESsj6Z8DjDidEjLB0BsokV0woVOnnbxR3Umx8xJ8y17cvQRO0WqSz8EoWxIHLVInCQ5YICZ0JNKsIqHNWcEAib1jddrTNRFFxnR6jbhoq4OVGVMsP72t4V/gRSEksZyhH37XF/Sf9G1sl2eEcFqEe6IJM0CDg8azquHncuGWecS9sd7ZcKVZrhx+q/PMl90YyPbphzO8gO+THOj4xvOVUiAeFgFwZ2EKkvhzjAEg6x7cIl7exGsOaWlxZikSMR4VFtaYiUbFy82bebONc+LnjAZWaq9HTQ4KuAW4sVREEoey3YuuMMX99+zU8FddZV5LpT/pcSwWuhT6mHeE3E5F/17jOLTz99Gc2OQUX/7fawt4O0wNckP2H0LNDaiZ8+Oy5Gac8TDKgjuJAhWT2eIyIxjUSMPcM+hKiEBOcVtFr4dM5qUA/W/5pKjwmFj0zweyZMqCHmifWcXVcDN872svi323+urPKq9RTysFhNvaGDlnAWEPf7YwmHDAJLynSqIicYtW+DBB5NypEbpi5AA8bAKQoyEkAAFqK5OfJPGAy45VMXDmlPsFDa2R9V5YUu68C1Vsc/f+t4kT6og5IfQTnOzH4r44v57fZVHtbeIYHUw8YYGfJP3iS2wCgrU1tfRiS8+ntUSoi0/mscmauP2E8YhevsiJEA8rIIQw/KwxsWc+/yMuH4OK+csYO0eh7Ft2rGx9iJYc45rUQFSXPisz//muR2uycoL5eIoCKVOtd/oisQsAeluQvOJhAQkMnhw7LUlWKc2BGhmGRXz5zG2bTk10yazdeVGhrzxDMM3vQtN78bt4sMfL2CfX3wrt/0SD6sguGMJ1vX13yXy3ItxZZcnBgJwQwM0N8NBB5n2EhLQb7glEO/0VOAHbriugx3z3JOVC4LQ91R4jO384WVeDv1i/H+vEFPBiWBNZMiQ2Gt/zFM6tSEADY9E34d2OxAww4+J/s59jtsTfmG9EQ+rIPQt1tDymG+fDH/9rXsbp0gVD2u/knjhC0X8+AFvpCM6DOnmnRUEoY+xbva/f4kPRuS5LxkgIQGJOD2saS5sO848L/U+tmyJve6DwgHiYRXKmsT/lD3pypfm/tv5XxYPa17x15jvosrTKSEAgpBPbEdYOttZQIhgTcQlJMCNCTd/l1DtaADWf2l2/MrW1tz3SzysguCOLVjT/F/Fw1o4VA40n/9lF3cUVHycIJQdtu30evPbjwwRwZqIIyQgtOy5tAnIKsfuBsCYU4+JX7FxY+y1U2i60NwY5JVDZ7P+y+emT3YmHlZBcMfOEpDOSyCCtV/IKJ+q9fmf+62OXolVyd0qCL0kk9GpAqI4etmPtLy0Mjrnv2LjGiIzjsWzbKm7G8D+ktva4havXrCIsfabxCo8Dpobg0yePQM/XfASRBbdjWfpEvdjSeEAQXAnWw+rhAT0CRnnU7VvGDo64rbNZtKV5G4VhBxQZIJVPKwJ7Fi9JTqJys7nmDIxoH2BTBCsu3/0bOxNl0udc4uWhU346Irmb6UzTRJCKRwgCO5kG8MqHtY+IeN8qrbdtARrT6rqSO5WQeglWsccYRISUJx0nXo6EJ/PMeWsgBQe1rgPNY1gra2vI4Ljh+JPMwNBQgIEwZ1MQgKc64rEOBcbGedTzUHhAMndKgi9xNYRSuWuwFEfUxy97Efsildr9ziMzTNmpQ4HgJinoL09bnGcnEwjWKc2BNg64+Toe8+/Hk19LJl0JQjuZBIS4Mgs8O6fX+vb/pQpGScbTwgJ6In4LNTE5oJQNGQRDlAo8eLFEbjQz0y8ocEkG++OFB7WHYN3Z/C2tQC0f7KVqjS7qJ04HJZZbw45JHVD8bAK5U4wyCc/a8QffJlh1qKmE+cSaNlOJaQ1vM2NQaZar8dd8y2ax4w3uZWFnJJRsvEEwZpYXADMxbG7eNZCTGwuCIWKM04c4OknwlwK3QrWQooXF8HaG1J4WCurvbDNvK5Y96G5WKa6OIZCsdfpMgqIh1UoZ4JBIsccw6iE/8gxT1yJsqPO0xjeloVNaEysuJdOWhY2gQjW/OAy6coWn4V0cRSEUsH5v/L5jIQY0NXFpUBYeUkXJOUWspOv/6SEBPSGRA+rFQfi/2RNtIlCm4tjKhxGO61gFQ+rUM40NaFc/h9eIjHBmiYkoLa+jjaq6cRLJxXU1tf1UUeFbrG/J5cMKjKZShByT+L/qrMTVMSEBHRE0vstCyleXDysvSHRw1pTA9u349ExQalR6S+OTsGaToiKh1UoZ+rqQHlAp/mPpPGwTm0I0MxiWhY2UVtfJ+EA+WSbNfzU0ACXXgo7d0ZdqueFa/hmeCd+OiAMg26sgNtrTJuBA2HOHLOdIAgZY4tO28MaDoPfimH1VaWXgYkhO/kc8cibYFVKDQfuAE4ANgGXa60fSNF2AvAb4FggBNyptZ7TX31NSaKH1RKsTjqrBqW/OIqHVRC6JxBAHXUkPP100qptDGII27uNxZraECj6MICit5vBIDz5pHnd0mIeDoZajyit1gNgwwaYbVUVFNEqCBnjFJ21tfD974O3y+gN7ek+a0qhxIvnMyTgVqAD2A04A7hNKXVAYiOlVAXwH+BJYDQwFvhjP/YzNW4e1gTchjHjyFSwiodVKCeWLKH1iBN5c9oZNDdaU1NTJPz3k0GWgNKhuO1mU1Pv7dfChTnpiiCUIqlm9AcCcPnl5h6xqwu8lt1s7yqegfa89FQpVQPUAwdqrXcATyul/gF8HfhRQvNvAmu11r90LHujXzraHW4e1gQ8ne3s3HsKNdMmm+GsxNsU8bAKQjzBIJHPHs+wSJihQGj2QppZwtQdO1ybD8D6/738MnzmM/3Wzf6mJOxmXZ2xmy7p/lLJWJW4oL4+x50ShNIgk0mLdnhARXsXaFD+4hGs+fKw7guEtdbvOpa9DiR5CoAjgFVKqceUUpuUUk1Kqaku7VBKNSilXlJKvbRx48Y+6HYCtmBN42H1EmbAqnfQf/sbHHts8m1PN4LVvlva0iKlWYUyoakJFTG/dwX46TATF3fuTLtZ5MTP5T9RYN/SJ3YT+tF2BgKwbBnMmgX77w/TpsFee8Ho0ajx49k5aRqbBu3FWkazltGsYjw7Jk2D6mqz/bnnZhwOUCi5IwWhv8hk0mIgAPPng99jbOzGzd6i+Y/kS1oPBLYmLNsKDHJpOxY4Dvh/wGLgQuDvSqn9tNYdzoZa60agEWD69Ol9P26eWJrVLSTA+aazMzknhDOtVYIQdd4tHa4jRH1HEhIglDJ1dSbRv/U7j87qv/4PaTeLllEuhGCrvqFP7Cb0s+0MBOCRR1xXDQRumWvKtIbDZmbydWfD5c2nw4MPwjHHZHQISY8llCN1ddCgGjmf+QwPtzLsN1Xw56HQ2hrTGlVVnLhtKCeFPwFghN7A0/cGCRTBHyRfHtYdwOCEZYOB7S5t24CntdaPWYb2JqAW2L9vu5gB3XhYO/BFh7k0GIGbmBMijYfVebekJCRAKBcCAdTBB0ffvrfgSTNhKkVIQEZllEuD0rCb3eCaRqfKKr+SUKQlFZIeSyhHAq/cyq1dszmAdxjDeqrXr4LXXoMPP4T162H9evSqVYzb/BpjMcWNBrGTM293Gf0tQPIlWN8FfEqpSY5lBwNvubR9g9ThTfkl0cM6YEDc6vd/tYg1exwGgBo9Gpa6lHlNI1idhtvnkUlXQhnhmPE/9exDzYsUIQEaWDd0SvoyyqVBadjNbnAtu2oL1oQiLakopNyRgtBv/OEPKIg+3EhcrwCPPTpV4ORFsGqtdwIPA9cqpWqUUkcBXwLuc2n+R+AIpdRnlVJe4CJMOpd3+qu/KenGwzrlu8cxdsFPzJtPfcr9YppGsDoN98FTxcMqlBFOb2pXl/nN79qV1CwCtFNNyw23l7pYLR27mQH2jOboV2rHsGYoWF1FryCUOgcd1G0T7fJwHf0tQPI5Pex84E7gE6AFOE9r/ZZSahzwNjBFa/2R1nq5UupM4PfAKOAV4P+5xWH1O+k8rF6vWZ+mqgvQ7aSraP6zf4qHVSgjnPmMOztTZtBYO+5IWq+4qZwKARS/3ewJWXpYoXByRwpCvxEIwH33wdCh5j9TVWVeO2JYVVUVO/xD6dzYSlWVovqIae4ZjAqQvAlWrfVmYJbL8o8wsffOZQ9jPAuFRaKH1a6RDTGhmlA3OxhMqBghaa0EIRmnh/Whh9j581+SPKURxn71SMaWj1gtDbvZEyzB+szidjyfKYprqyD0P7Zj7Mwz4ZZbkvWGxUC3bYuA4knAVYgkelidlXa83vg2nZ3uM1elNKsgxKN1nGDVDQ2uYhXotrqVUBp8uKGKvYDnmtq5aqYM8wuCK7aeqKgoyUwZ+ax0VfzYF0tbQDovnvZrh4fVdeaqM62VeFiFMmDFZY2snHQiKy5rdG8QCqX/LzhxjmoIJcvyD42HtUK3y6x/oWzpNrew7WH1+0syU4a4J3pDYinIbjys9sxV+46nbkYkvuKLlGYVSpwVlzUyYZ5VD37eE6wAJt6QkAg+TfoqSJj9Wh7lWMueiQdWw6MwQLXJrH+hLMnEY/rxig72BFZv8FP3pQS9UZePXueWjDysSqnfK6W0Ump3l3WTlVIdSqlf5757BU7icKTjfee2XaYGusPDmjRzdXrCRCzxsAolju8vD8SnVHk4uS788salce/ttpuH70P7HvvErXv50TXFkD5QyIB03qOJBxgP6+EHt5fE0KYgZEt3HtNgEB64x2iKO/9odIdbpoxirgCXaUiAfWqHuaz7FbANuCYXHSoqEr07a9dGvUC+rnYmzT6O5Q+/aRZYrvq4dC1PPRW/vQhWodQ5/vi4t/qU5Lrw2x5d5rpp7ZvLaDn+/+KWHfj8HVxeFyxK4yvEsL1HV11lnpO+T2vS1YET20viwisI2dJdbuGmJvCEjc5oD/ujRf9svREMwnnnme1S/s8KnEwF63PWc5xgVUp9ATgJ+InWujWXHSsKEj2sq1ahLX+QXQN98xMvmXUdCdlkgkEinzspbtEHj76Z+lgSEiCUAHtd+OXo69bA55PDAYDaIye7bvvi6xW8cm9z3DIfYY7qbCqJ+Kxyptt4u4S0Vt0KXEEoMbrLLVxXB1UeozPC3oo4QWv/XxYsKO641oxiWK2cfptxCFallB/4JfAmsKBvulfgJHpY990X/Z//ojvNj6aTCoaefDQ8dWNyHtamJlS4K27R9qdeS30s8bAKpYBjkuHwow9wbTLh6N3h5uTly4J+jo+sjL63b9ue8dcxty6HfRT6naT4/rqEBrZgXbIE9t6b8e1DebOtlQpCdLRVUX3KUKiMr5eemH+S4cPhwguhIfkmSRCKgXS5hQMB2HtWJyyEcy/ws7ejnX1DaPu6lCrOuNZsJl09BxyllFJaaw1cCOwLfFZrneGU3hIj0cM6aRLepU2sm3cv69aC/5yzmPrlfeAy4jyszY1BBi/4N+Os9xrjkR0cONAsCAbj99EQEA+rUJSsO/X7eJc9yfYzz2Pizd+NH2lwZshw0uo+WHPUcRUs+MV3+W3XudFlz8/4IXOvD0hMY5Fje4/cckYC8J//AKB37YJVqxiduIP15slpGZNKU65fD7OtCX8iWoUCJ1UO1XSMrjWOsb33jXemOW8IfT44+2w466ziiwXPVrB+HphseVuvAv6mtV7cJz0rBhI9rM8+C+efz5hHAoyxl23dap4tD2tzY5D9Zh+DjzCKeAM7/vhJJlRgxrGM7upkNBB64S6aWcJU8bAKRcaq793E+L/eAsDIX36PFT4/E0/eP9YglWDdvNl18RHH+NHLZvPYPEVg7UKGnVPPkSI8ipbEC3LaylTPPRe9sU9Hd+sBWLhQBKtQ0PQ4h6ojD6uTbm8Ii4RsBKtz4tUMoBL4Qc57VESse3BJTJgC+v77UTNmxBvDhNKsLQubomIVEgxsOGxCBbo6o8sr6KBlYZN4WIXiIRJh7WmXMOqvt8ctVg8vhBPmxBZk42H1esHrNYb2kQZABEcxk/UF+YwzYNkyEi2f0366WUVXAVufPNFPEAqFYBCuucaYx0gkFmuakch05GFNpBRKFWcjWJ8HIsA5wNHAjVrrlek3KW30S68kL0y8e08ozVo762h4ImHoSikjQsNhK6jE6XvV7P7Gv+kItRG9ZxIPq1DArPvq99l94a1Jy/Up9fEiNVVdeDfBKgUCSgq3SVZpL6YNDaxcAaF586mija0MZb/RrVQTisartq9vpXV9CA10UIVn+FBGVVhttm2DXbvgS18S76pQsNg3crZY9XiyjDVN4WEtFTKudKW13g68jfGufgL8vK86VSy0nfFtNEQfQPLdu11AIBKBcJipX5qIAsKeCnaN3x81axYcd5xp88ILbPvW94k4/AIeYNL6ZfhbN8b2KR5WoYDxPbUkaVnrEZ8zGQFSxbBefz3stx9MnEjXH+5I3mmJGuBypbsUPW5MvKGBrc++zUO/+ID2Z1+let0qWLcOPvgAXn2V1x5exXXnruN7s9axX8UHTNz6KrVbVxF8eB1cfLHZySGH9OFZCULvsG/kbLH62c9mV1J18wbjYV2+sjQLqmRb6eoF4EDgckvAljUTb2hgBTD4zvkMGKioudxlBqo9Ha+jw7jr15vZAb4D98P3+uumzWmnmeebbmKwy3ESY13FwyoUNAcfBP95O27R8CP2My/cBOutt5pkgRa2UYqLWZSKViVFT2PqUg1rOkMMPB7juY0bTrUdB5mW/BWEPJCYLeOaazL/bwSDsOXpTk4CrrjGzw/qij8EIJGMPaxWGqs64CXgnr7qULEx8YYGRm58m5oP3ko91OSIY11155MAhNZvjiUPtI1pAjrhObZCPKxCAbBkCa2HfpZNIybTMXQE7LUXNDYy8vOHJ7dtazPPboL1oYe6P5Z4WEuOuCIqGZCuUIAzxCAcNqI1znsrglUoMNx+z93lWk1HUxP4Isa+7uqqKLocq5mQjYf1h8DewBlWWishUyoqYOdO3r79Gfa79VKz6JPVRI49Ds/SJUmCNSpUPR6IRNBApLoGX9tOs0I8rEKeWX3mZexx/zyGORdubTFpg9wmtaQTrMcdF636ltKwiGAta7qbpJXomZo/H1paHN7bJ0WwCoVBMAj33gt33ml+jom/555Ojqqrgw5PJ0RA+/xFl2M1E9IKVqXUcOBE4CDgUuCXWuvn0m0juGB5WLc//N+oS1uBKTDQ1JQkWFuHTUBPPYja6+fAl76E2rgRjy1WQQSrkFdWXHobE+6flzqFkB3q4sQWrM64Vfv1CSfAtddCTQ1q0iTa1reyI1JD1fABDPqfVSlOBGtZ090krW5DDOyc2V1dCEK+sG+82ttjA6VZZQFIQyAA2w7ogGa48dcVHFhi4QDQvYf1ROABzCSrXwE/6vMelSLWxXbUIXvC02aRBvBb41Ur45MtDH/mUdjf5KtsqxxCNRvj1ktIgJBPqv50t2s6oeiy/faD99+P38jOCODmYd1uhcMfdRQ8/jjVQDWYzNYiWAUyqIRFsmcqLs+rhAQIBUBfV5waXGUmXR34qdKM+U8bw6q1flBrrbTWu2mtLy3bila9xfKw7j2lGoDtA0ezYda5JhwgEDABV06si3NzY5CK1S6Zw8TDKuQRz+GmQrOdHSMChCsqzcqzz4aDDkra5oN32kysllOw2iJ22zbzPGhQ/EbOSnIiWMuabGP7bE/WVVeZ51Ufi2AV8o8zO0ZlpYmgSvd7The37UqaPKylQMaTroReYA1DdV5i4lfZc09GP3Jb7FeaOOmq0lz8WxY2oXARp+JhFfLImFPM73ZX9XA2z5iF99ln8Z31dbPyiCNiRtPB2vfbmDkTPno/jYd1cEKODBGsgkW2ZSoTQwjeWymCVcg/zhuvJUvgttvSi1XnTVdGolXysAq9IhiEjz8GwLfTeJIGvvMiKy5rjLVJIVhr6+uI4JJBQDysQj7ZsgWAmm98ldqljxiLW21GD2hrcxWsVbTR0ZFCsKbysDq9BCXqMRC6pycX7sQ8rxMni2AVCoNMs2O4xW13i3hYhV7h+JU54/7Uwwtjb1II1qkNAbYcNyt5n+JhFfKJJVgZOjS2rBvBWk0bFRWw9+4uk67EwyqkoScX7sQQggn7iGAVioueFNcodQ9rtoUDhGypqwOfD50wO1Wf4kj9k0KwAow4fBIkFg4SD6uQT+zSqVkI1t2HtbF4Eezxl5iHtat1K51jxlO9zZpU+HZ8sYE4L0GJGmChezKZcOVG3CSsN0WwCnnGzmf19tvw4Yfmht0qK0xra+wG3loWaG2ltTpEyAf+miqqzzftQttDhDqtZaMd21ZVwerVZh9//jNcdlmeTrTvEMHa1wQCsGwZat482p57lR2RGrZ980JTptImcdKV80I9cGDyPsXDKuSTHnhYh1a0GfFwf0yweongXf9hrKLVww9DY2OsAId4WAV6XhUrDklrJeSTYBCOPdbVNqaj0nqwHVhvJrlWWA+2g16Pe3rBH/0Ihg1LXcyoSMlbSIBSarhS6hGl1E6l1IdKqdMz2OZJpZRWShWX0A4E4JFHqF63ipEb3ooXqxDvYfX74wVsTU3y/sTDKuSRra+sAOCjlx3p1roRrGzYQNue+8blaFWOR5SFjlAZx41b6JkXs5gqW7qUld10kG1VLBt7lvV7H4iHVcgjTU1Zi1U3lMsjFa13LMwuw0ARkE8DdivQAewGTAMWKaVe11q/5dZYKXUGpeoRdgpWRzgAwOpXNjDWeh31RIlgFfJEc2OQKa8sBWC3P/yM5ukzmdoQMMNRYFJVpTDMVavfQ69+DwWEib9bjhpeR5WszUteY7j1umLTWiIzjsWzbGnpFcjODrGbGeKsjvWux8tdIIJVyA91dUQ8XjyRcFw1v3SCM9NxVLd9aOCKV+ppfNm9MlyxkhdDppSqAeqBA7XWO4CnlVL/AL6OS3ECpdQQ4GrgLKCE7hcs0gjWra99EBWscT9MrU3WYUHoR1oWNuGxUq156aJlYRM0pM8SEMGIU+ev1QN8NHwaoypaqSYEw4fDhRfGDWG1ffhJ9CZNAXR15qYkTJEidjM7nJO1QhHxsAp5JBBg+ZQvs/+bf+V9JuAlzIhBIQbXpo5h3bKqlV1bQmggRBXbGMoQWqkkxIBqqBriEsM6dChUVPDY7ufQ+M+GlJXhipV83XnvC4S11u86lr0OHJui/S+A24D16XaqlGoAGgDGjRuXg272E2kEa82MQ6D5IcDhYQURrEJeqK2vQz+hUGg68VNbX2dWpBWsHhSRJE9AePgoqt97NeWx2k8/B+a9EPU0aJ8fVYoFsjOnT+wmFLHtTINzspbyeo1fWgSrkCeGTRoJb8Jv1CXcUfVdFj+eXkT+zzFC4PGYn24kYuTCdVeZEJmUxwpCxePZT1QsdPIVwzoQ2JqwbCswKLGhUmo6cBRwS3c71Vo3aq2na62njxw5Micd7RfSCNbx9dOjrzfN/FpMpMrEKyEPTG0IoK0JUCt//U8TDgBpBev6sy5j/eiDo5WxogLUmSnDhYk3NLByzgLW7nEYm2fMknCAPrKbUMS2Mw3O1FY/uUY8rEJ+GT3CTPj7/P/zZTRE7/z9/va3RhpkmuIq28pwxUK+PKw7gISkiwzGzIWLopTyAL8DLtRad6lS9Sg6J1klzoa2hQCw4cvnMrLpr/G3WoLQn+zahbcjBBUVHHDBzNhyp2BN+F2OPX4K3PMLaGxk5y/ms6tNJWfKSMHEGxogg3ZlgtjNHqI9IliFPGPdyJ/0//yQoYB0pmabOjW7TBlxad1KhHwJ1ncBn1Jqktb6PWvZwUDixIHBwHTgIcvo2lfC1UqpU7XWT/VLb/uaNB7WFX9rZqL1esL3Pk/Ea7nFg0F48EG2Pvc2kVUfUjG0hprLLyy5NBZCgdHSYp5HjIgPSbEF6wsv0BXW8YblqafgzDOhoYGahgZqgNLw4fU7YjezwDnp6kWvj4chLq1VtuVeBaFX2L89n7vssn+PtbXGzCb+LktRgGZLXgSr1nqnUuph4Fql1Lcxs12/BByZ0HQrsLvj/Z7AC8AhwEZKhTSC9eNXNrI3Cg8aPx1oO0HAzJnorq6Yu2UL6NmzTZygiFahj3h98SYOBjraI1QEgzEL+q9/meddu5KMim5sRB1yiPwue4nYzeyIm3Sl4z2sTjFbSrOohcJl0/ouRgDvfeBjUsI6+/cYCpnBU4/HSAH5XcaTz9Ks5wPVwCfAg8B5Wuu3lFLjlFI7lFLjtGG9/SBmbDdorTtS7bjoSCNYa79yHO1U0YmXTirM5AGAri73fGzOPJaCkEOCQbjvO8sA8G1eT/g4R2H3555Lv7H8LnOF2M0McZa2VL54wdqjOu2C0EOCQXjqSRMScM0v/Em5Ue3fo52xMhKR36UbeROsWuvNWutZWusarfU4rfUD1vKPtNYDtdYfuWyzSmuttNalVa7EIVg73lwel+l3akOAFQsW88wJ17FiwWI8fqutNRzrnMQCxOWxFIRc0tQEh4SfByzD4bSop54KxP8W436b8rvMCWI3k7GLAySKAOfEkxtuihesParTLgg9pKkJPBHz92vv8iUJUfv3aE9n8Xjkd+lGWSaULjQ+WfQCo6zX/i0bkxKkT20ImFyXAJdYv+i994aVK9m5z8FUfPA/KsIh1AUXyLCr0GfU1cFiz74QxiSpclpU63enbrwR3n8fgGcmn80BQ9Yw7Jx6+V0KfUJ3Q/vRuL+l8YI1J+VeBSFD6upgi6cLIqB8viQh6vw9pophFUSwFgS73luTeYJ0e6LLtm0ADPzXX+Dii2HRIjj++P7psFCWBAIw8rK94Bewa99PMfDu38b/RhsaYN994bjjADj675fB5Ml56q1QDrgN7bte5L3xghVkEovQfwQCsGV6J7wA113vZ3+X3538HrsnnzGsgkX41NOA2BCq9vlTjwXYYwabNpnnVatiNddzUKtYEPjpT43wnDCBjuGj2Dx8IisuawRgn3EmBHJg3XR36zpsWOy1/bsUhD4i46F9S7Cu+ThcUrXVhcLELUxl6EATErD/VPET9hT55AqAiTc0sAKouv8OqibuTu31c1LeanW1d0S/NA3oz38BzzFHmwUugvXtmxbR8q/nGfp/JwEQWfAHdhtXweg538jZ7dyKyxoz6rtQBNx8M1xzTfRtBTCMjQybN5sVwMSx1pydxHzBNsOHx16LYBX6mEyH9pvf9jIVWPdxFzNndj/7OjHlVV+lwJLUWqVHyjCVbtJaCd0jn1yBkGmCdF9He/R1NHzAzo3ZFT+n4s1bmzjw0pMBaF9yAz668BFBvwKRRXfjWbqk11Zy1fduYsKtl5o3ayAyY5FUJCpm/vrXpEUKqyzwwwvh3BPMwlSC1eFhfeeh19n/h3vmvo+C4CCTodQXX/UxFfAS7ra2eqLgmD8fLroo9ymwJLVWaZIyTMV2KKW5kZcbmPRISEAREw0f2GMPs6CzM24oYvufH4u29dOJF5MzQwF05iZnxqCHbo9Pr2XH3wpFQXNjkKYT59LcaI1dzZgRXZeYgUKfUm8sMKQUrM0PvBF9Pf7SU2P7FYQ8cshhJiTASzhl6IBtO++9N15wLFzYNymwJLVWcZMqO0XKMJUMCgfMnAlXXWWeJXQlGfGwFikh3wB2HHmCGYK//XYAVizvYub5sTv2v339UDBpM+nETwUdsXyt/tzkzFCTJ8Gm5UBMQCvJxVEUvPm7ZUz57nGAJvREFc0sZuqJJ8K8eTBoEGriRLreegdfZ4i1/3eJGQX46U/NxikEa8vCpUQwd8I+OmlZ2BTLcCEIeeLgTxvBOmZUmMV/S/ZeOb2dXm9MU1RUmIxsTz0Vs6u5Mm+2sMn1foW+J513PGWYSjeCNeMJhGWMeFiLlMpDplK79BHzi7aGGN57uzPuB/9h9f7R9u/f+h86d4sNz+YiHABg+NEHRF931o6RcIAiQv3+d3iJ4LWqqLUsbIK2NrPyqKPg1VfxzTDx0Xt863NmeTce1tr6Otqpjha6qK2v69uTEIRMsCZdjRwWdjVPTrEQDsPZZ5v8rYsXm+QXdj7XXA7bO/PESjhAcdGddzwQgMsvT/hOuwkJkNzA3SMe1mLF+aO37tgmT+yKu2M/YurOaJMDv/4pmF8FG6wFubKOtsABKo46VKxuETHkkEnQbF5HxWXbGrNgwADznJiBohvBOrUhQDOLaVnYRG19nckhLAj5xiWtlZNEb+dZZ/VPHXdJZVSc9Mg73o2HVXIDd48I1mLFKVit13uP7Yz7wU9tjwnWqNDINQ7BGq0rJxQFY4+bBHeb1ysWLDbi8r77zILqavNsG1fb2HYjWCGh0IUgFALdCFYRC0I29Oj3kkGWALmBSY8I1mLFRbDS2Rn/g380JlhfeibEdB1XxDU3iGAtCaKeUPv7tAVrlh5WQShIbMHalbo6baJYkBnbQjqyFpcZZAkQ0iOCtVhxCQlINMbvvrqTfa3XX/9qiFdrI1Tluh8iWEuLRMFq/7ZEsArFjP07TuFhTURSTgk5R/Kw9hqZdFWspPCwOnnvtZiH1dMZoq3N4WHV2ljlL3+ZtjHj2bjbAay4rJHmxiCvHH4e6798XmZ5NUSwlhapPKxZhAQIQsHRTUhAIpmknEpMa5QqzZEgACJYc4B8csVKBh7WKXvFBOtAf4gBfoegfeop+Mxn0OEwVUAVMGLebMJ48WKMemTRXd1nEygxwRp8JsKm+X/koOEfs9c3P1NabpVgkE0/mod+ZzkVe4xkyDBvchsJCRBKkSwFa3eTavqruEAxUeohFL0+PwkJ6DUiWIuVDDyse4+KCdbbbw1R+WPHxKslSyAcjuVlxeRR9RJbpjszSAZXQoI1GIQ3j/0u3wn/ngiK8D0/x7ukRK48wSCRY2ZQG7Zuaja+Y6pXJbZLFRIgHlahmMlSsHY3qSbRA+tWXKAUzEamlHoIRU7OTzysvUZCAoqVDDys7IwJ1qmTO+IzBRx5ZPRlyqlYmRQX2LUr9rrIBWtTE3wtfD8AHnRplZ9pakKFu+Krkrm1Ew+rUIpkKVghRS5Ni8ScmfX15Z1Ds9SrduXk/Ozrs3hYe4xI/WKlOw9rMEjb7fdRbb8PheLXf+pTsNde8OGHhCsH4AvtovXILzD0+X+jLKOeUXGBEvKw1tVBiEpgu1lQQlee5to6DrRe257VOA+r1qBUSg/rxqt/S9UtdzGIHWZ5N4K11IcHhSIjS8Ha3e/XzQM7dWr5/uZLuWpXMAgffRRf/SzT84v7HdnX3248rGI7UyOCtVhJJ1iDQSJHHU21jgnIdbf9jTFOD2tnZ9SI+874P7jzToYfcyA891isTSb/FqdgzcJ7UYgEAhAaWQkbzftSCQcIBuHGC1p4GKt8Lske1jV7Hs6QAZ0MXPNubKPvfIeN72xkJDBy0zvoTbH2Kx9/jwnHH5/yeKU8PCgUIVkI1kx/v4lpjco5h2ap5rFNLNn7ne/EF5VIJy4Tf0c7u8wIV/BFH4Gjuz+e2M5kRLAWK+lCApqaUDre26meeSrew9rZabyuAIMGmeeOjuy9pCXkYQWorHJEyZSIpWhqghM7HwUsz6ryQMLvY/c1LwIOr+tdd8ERR7BrxbpoG6fAHXvzRTTv+ynXSlZSE1soOFKFTbkgv9+eUYqC3flbABg3Ll6sphOXcb+j9ghKayIoZp7gTSlE5beXHhGsxUo6D6tjvCLqTTvk07Do9dg2XV2xeERbsNoCFsCTWXhzePsOonPNS0CwolwjO/ud5sZgzsqb1tXBw97J0AURMBfvzvjKZ65nvXAh1fuPh1XLklb56KJlYZNrRatSHh4UihRn4YCxY2O2rrISBg+GbdvMsspKvu8bzJnhbfgJocIw9JeVcJ+jjdt29rKxY024VWJt1wRk2LdvyPXnms6WdScundtWqU7ogi58aYWo2M70iGAtVtJ5WAMBVG0ttLQQqhhEVcd2dvvCobDortg2qTysNl4v3dHc+CwHdsRE7q712xjQk3MpJApAsL539R+Zcu030EDHE5U0s7hXojUQgOE/HQdXQPv4KQz47tlw6aVJ7ezJd9FPoL6eUWvXwmOx9fa6TvzU1telPF4pDg8KRczzz8der1kTvy7hfQ1rqHEu2ARsStjGbT/2suefNyMUS9znAMiwb9/QF59rOlvWnbh0brvbwC74vhGs6YSo2M70iGAtVrqbdGXN3q+qPxkefBC2b4/fvrMzvYc1A8G6+S+L4zxzXa1bM+x8AVMAgnXMzT/Aa3yhaDpSejKzYfJYkzFiwNGfhoMOSlofRtE26WAGdrRCTQ1ceCE0NMDPfhZto372M7jySgDe+OIVHJqmT6U4PCgUMUuX9u/x0rjRZNi3b+irzzUQgEBzI5wzH1pbzcKqKgJDh9IypJXOnSH8NVVUnz/UrLevo1abQGsrtLcDUKE6eOCCIIE0HRPbmRoRrMWKm2C1PayhkIkt9flg+HCzbMeO+O2787BmkCtu5BcOh/86NhkyMIsTKFAKQLBWemI3Hp1UpPRkZoX9/dfUuM7w9w4ayMB3X03ezvE7ey80jknW66n/nEtz4/G9DlcQhH6hrs7YtAxiWHNCGjeaDPv2DX32uV59NVx7reuqauvBdmB96l3Yo1NeHebz846leeJSsZ09QARrseIUlIn13rdsMc/Dhpm4Kkj2sLa1mVRGHk8shVGWIQFTvjYVLo69HzC8OnXjYqEABKt/SA1sN3fyKxb0Lhwgip2Td+DA2G/CSaobFIdgbVnyOhMxyZu9dObE8ysI/UIgAMuWwbx58OqrcV4whg6NecYS37u1SbWsqws2bYKJE+G++1K6yWTYt2/os8/1oYd6vQvlePaJ7ewxeROsSqnhwB3ACZgoocu11g+4tPsG8H1gErANeAD4sda6n26VC5R0IQH2sMXQoazZWMEeQOed9xKXrtgWMJWVMQGTZUhAXNEAKI1JVxlONutTHN9tj8TqAw+w88c/g40b6dzvQIb+9hcxD+vAge45VFMJVsfyoV+cQfvTv8NPR+48v0JWiN3sBYEAPPJIxs2znsDz17/CqafCwQd3u4EM+/YNvf1cXb/zyZNh+fJe9ctZnKcrTfy/kJ58elhvBTqA3YBpwCKl1Ota67cS2g0ALgKeB0YC/wB+CFzfbz0tQNa+uJrd7TfOSVfhMJu/9QOGA+2rN/LBH59mD8C/bXP8DmzBWlEREzAOD2tnp+bdg09nxLhqdvvxt92tgDOlFZSGYC0AD6tTJDY3Bhl757VE3nsf/5gRDD5mWvoZyMEg+owzopNG9CtNRGYci+fUr5gFKUICUt6gOMTzft8+muahi3OWvUDoEWI3e0h3AtS5Hnowgcf6r2z+pJMFc8V7mg8Sv+NsbjpSTtqaMgX+8Q8YMSJmm7P0zKtQiDaq+Gj4NDounCO2s4fkRbAqpWqAeuBArfUO4Gml1D+ArwM/crbVWt/meLtGKXU/cFy/dbaAaG4MMtV6Xfvn22ie+TXzw3d4WNd/+VxGB/8FQGXbFgI8474z2+Pm9LBageEA/u2tHPDGg+g3IPL4/e5Vr2zBWlVlthXBmhN2dfmj2Rb2n300PmsCFpvfR7/1HCrNDOTEmoEKoKsTVqwwC7INCXAur6oyvzcxtnlB7GbP6W4GeeL6b3yjBxN4LDv80rOdXBWUDAD9TeJ3OH8+XHRR5jcdKSdt2c6dq66C73+/x/2rBib3eGsBTDhaPtgXCGut33Usex04IINtZwCJ3gQAlFINSqmXlFIvbdy4MQfdLCxaFjbRZX1lHsImDgaioqLrhZcZuuj+aHtTzUjHDUdEcYYE2B43e5kDBSZnp1vxZFuw1lj+vD4SrCsua2TjyCns3PsAaGzsk2NEKQDBur095tX0EP+ZKkhfzDphpoEGtM9v4pkhtYc1Q8Eq5JU+sZtQ+razu1rw995r7rnt9WD+Jl5vFhN4LMHqiXT1ruZ8DgkGYe5c81zqJH7HCxem/84TsSdtJX3nzgmrQl7Jl2AdCCTmQNoKDEq3kVLqbGA6cJPbeq11o9Z6utZ6+siRI3PS0UKitr6ODirpxBsfQ7hoEQC+th1URYyItEtwaq+f9aOnJe/MLSQgMZOAjd/varE/uf5OADoilqjpA8G66ns3MmHebEZseocBq95Gz57dt6LVEcPa3Bik6cS5NDf2r7WvGZIsHrXzuZtEfqq2Nrad8uBZtjQ2sS7bGFbnd1oI8b3lTZ/YTSh925lSjGDE3F13mTmoYNqcdZbxyF13nfHUNTVlIPqs/1CFp7NbodsfQtL2OF51lXnuL9GaL5Gc+B3X12d302FP2rruugRvrH2tFMGad/IVw7oDGJywbDAmOYQrSqlZmPirz2rtrGpePkxtCNCMSwzhs88mtd3mHUbXUcdSe/0c/JffBOtfi2/wzjvm2RkSkEKweh58IGksZfnP/8Lkx+4BwNf6iVnYB4K15s93xeV61WBunRsacn4sIM7DOnn2sXgI5yR5fzYMrI59jl3+AVR07mLngJEM3LURNWkS3HNPNEBr04/mod9Zjmf/ydReP8cs1zGfukdH4PDD0X//OwpY+9Aydp8xI/mgqQRrf6UBEjJB7GYPSTeDvKkp/mf++c/Hr884ltXysE47oJPrTksfK9sfhQPyke81n0UR7O/43nvN+6lT02cNcItvdZu01frxDoYB76weyP59egZCd+RLsL4L+JRSk7TW71nLDib1UP/ngD8AX9BaN/dTHwsS1xjCM89EP/UUEEufUR3ewfIz5lAbCBBasTquShEA71qjipl4WA9IHnHs+nNstq2y/X99IFjVAVOg6Z34hfX1OT9O7ICxT6kCk3UhV8n7M6V93WbswfeKTpOJYeBtN5nAumnTomI1cvQx1EasItcb3yEyY5HxpjqzPQDrvnYRYywRO+bPv2bl7hOYkHjQVJOuRLAWEmI3e0GqGeR1debnb9eLf+wxI2YCgSxFnyVYB1d3cfnlqfvRX0IyH/leC6Eowj33mGPfc48RrG7fRabCOhiEzud3MgO4+Ioarj5KYpLzSV7G+LTWO4GHgWuVUjVKqaOALwH3JbZVSn0GuB+o11q/0L89LRIaGlCzZsUt8tq13oH2088BYmECgJnxCN3GsJodtCctqqyIefEi9s+oDwTriOM/Hfdeffe7feddBdcY1n5P4dS6Je5tGAVr15o3doDdkiWoSNiKU7YeXZ3mCmF/X1YYgL/pifj9//OfyccUD2vBI3azbwgE4Fvfiv31u7pi8Y7pQgmSSMyHnYLaWnMsj6dvhWTKIe4+JKvPqw9wCub29pi3NV27dPGtTU1QHTHXxa1dNXmPSS538hmUdj5m4twnwIPAeVrrt5RS45RSO5RS46x2VwFDgH9Zy3copR7LU58LlzlziPgroqLUKbIm3tDAyjkLWLvHYYRG7Wna29WtnCEBqQRngmBtbgyy10t/jb7fNWyPlNuv+OHv+GCfz7Lish7GnSaK5Zkze7afTHGJ08xZ8v4M8fnip8l50ESuvMq8sb2nRx6ZFCqhfX445hhjhZUy8aqAZ9LEaBsAXf+V5IOm8rDabiehUBC72QecdZaZU5gotLISfW4lshMIBs3M9UjEHGv+/LQZ6nodCxoIGA9jfw/L96dIdmIXNAMTGXXnne6fX6bCuq4OBikz8tjhr5GqZHkmb3lYtdabgVkuyz/CTC6w35dtKpasCATwLm1i3bx7WbcW/OecFSeyJt7QADc0wBe/CI9+zKqnPmI8xIcEpCJhiLllYRNeYp43T4clKhME6wcX/4YJ8y80b+Yt5rnHXmDIqjcYMSzMyCtmZ+YpTRSsfe3xc/Gw9mvOvGAQT1u8p1sBhK3ztj2s++4b16Zr0DD8jy8yScvB3IRYHtbh0/aCIGwdOp6WhsvNb+FXF8RfWDPwsDY3BiV/YJ4Ru9k3pItxdYYSpM3rmYFgtT17kYgxNS0t7u0Sh6wvuABee81EQ/XlAFMuyHdRhIMPhhesMYVw2D0sIdOqWIEAhEbthA3Q+MBADsnyvLIuPiGkRUqzlhKBAGMeCTAm1fpgEP3YYyhg3MolAHS83EzFa6+l369DNP7v+kcY+P5raDxgpVzyVXphJ0mC1b/wwagXUAOHN99h3m8HPXu2ed3QQHNjkIr58xjbtpyaoVaIwjnnGMtcAIK13wgGiRwzA48Vl+r0s2qvDxXuit082OV3LfyT9jYWcbNVIKKyMpaGapOZazP04rMZ+hPraldREXdh3blpF25zYNe98HH09zRx9sx+nXwmCP1Jd0IrGITjjouJyKRUyM4CLim2/+ijWLN0nr3Eoe1588zyJ6zoHlu0iiCK8dYti9EX/oS/6fcBxU5qqAnvoHZuJ9yI+cBrasxcjc5OAhUVBGpqYP6OmC1MaANQaVWOPKT6bWCv6PEyKUSRrwlopYoI1nKiqQkdjsU9AvhbN8BJJ6XfzhKNzY1Bpl5+CkBcdtBwmyWiEoeP646D+55Lvd+FC2lmKvvNPgYfMZGmIHaLnODdLWnB2tRkRKlFBGip2APvEYdSe9bJ8O1vxzystmCtqTGxx/ZyZ5UVW7DabhxnWpaKiriY5aqVb7t6UN9vHc5ozHfi7+fJZ4JQSNx7b+zvFQqZ985qSidO9vNpcPWwOsWL12sGukaPTn0s54QpreMSf0STpIggchAMsv/3j8fjlnU8ZQ6NLPnSl2DpUggEMvrsC2ECWqkhiRXLibo6IsoXlzHAFAZIP0nAttLRQgXEZxyoatsCQGdHvId17HlfjL5+b9xnkk1Jfb0VXhA/eSjKwoXJHta+jqnMp2CtqwNl/pImDrmSDbf8hdqlj8Ahh5g29hXTuutnt93il9vPLh7WdHkENfHfr83Qr32ONqqTc/8KghCX6/SrZ6QOCXCKl64ukzr7D39InR/VGQv6wx/Gr7OTpGQ6cagsaGqKZavpKzo7ox9yYqEJt88+3xPQShERrOVEIMCHl95K2LoPjWYN8Ljel8Z4/XVWf/NKVrfXuq62swR0hRImXTm8oft+73N0VsXymytryN8pgOKyGICxzLZgtSYQlZKHdfnP/8JTM6+OFSYIBFAnHA/AhxOO470FS2IeT3tiXGJIQKJgtT8vN8Fqf4bBINoWvJjPPILXVYxObQiwYsFinjnhun6ffCYIhcRZZxnhoZR5PuuseNG4q8M9JMAZCuD1mnmd4XD3QtOeMHXDDbBgAZxwgnm2wwHKWRAlTUirq4sLP+sT6WoV0HErNOH22ed7AlopIiEBZcbEGxponjg1FjM6bTKcdBL6/O+hwik8rb/4BWOBr5Bcg74LLx1U4KMNvy+1YKWjg0qPwzt6zDGAEURd3x+AJ7SLXXvuS03Lati1y7gVGhqiVbwYONDEFfW1YO2nak7Lf7GQyVd+lX2BtidvjMWGDhkCwPifN8D/OSycPTGuowOCQXZefQM1wM5NbSb2NJuQAJcr5OqRn0opRl1z/wpCmWHnZU2MW7SH7pXfD+3EeVgTQwG+8x341Kfia9xnIjQbGpInW2U6cajUcB+OD8Duu8Patag99jDicuhQMxLlsIk7/EPp3NjKAE+IysFVrm1cl02bBnNMYZamubHLkFImJVq6SVvl8r30ByJYyxAjQB6JW+YZMwb+3/9Lu52fjuhr+272k699n6UDTuK0u07ApxIEq3NorKMD2tri1wWD8POf4wvtIqw8rLzyLqY+fC08/riZ3QAxj6EttkrEw9r10EJzOBJiQ53B/05sD+v27USOPoYaa2LWgPdeM8vThQTYy2wPa10dEa8PjyNeVp99Tm5OTBBKmEQB4qyuVNnhhzuJs3tODyzAuHFGeE6dWn5CM1ekjA21bXcwCHvumbRdktB9tGeffWJBhrPO6sXJCFkhglUAoHldLVO7aRPBG5fOCmD3uRdw2ogRcBcQibDiskaq7r+Dqom7U/v/jo413LkzfubA//4Hs2ejIxEUpoTo5Nl1bP300QyBWNWtRLFVIoK15siD4I0HgYTCBLan1E6RY2ML1l27UBGXON50gjV6UEv0BwJ4n1rGph/NI7RyLe2nn2NSXQmC0CPuuQc8IR/zgUhHZzTWLlW1KTfPW7Yz/st10lXKCl5O2+dCriZBlatnuxAQwSoA0LJwKRHSBzW//emvc/Ard8UvrKyMDqOH29qZMG+2Wb4GIs88Gtvftm3x2/3vf2CJVTCeRh+d7Fq/1QjW7dbUzhL1sI4/eSr83ryOiw1N5WF1yZUbF6dlC13786qqin2GFh/f/m/2PPJI8yYQYMTSR2IXyaAYXkHoCbYQImLdZDpslKu4eeABuP56WL3atPX5aPdWM2lTG/vTRRgf7SOqqQq3xfbl85m8ym2xZQd1+Xi3rZoq2vC1dVFZB9QktLO3GzLExCEUehLXDEgpGLsRrD0pVZvqJsJ+bUdXie3sH0SwCgDU1tfR8UQFldawv5tsO/jE0fBKwkKHYPWGE8Sk832iYB0/PvrSFl5d+PFPngBrX4l5WBMnXTmzBFxyCaH7HqJrVweMHEnN8UelDyjKhD6KYW1uDNKysIna+jojTh0e1LjY0e48rOEwavJkWL6cjaMOYPs3v8/EG881F6dIJGa0d+0yiSIdjL3rOlaMHBv1pparh0YQcklUCIW8EDGjRUQiUVsS500NBuGMM5L2UUUrceMhm1qT2tAav6wGqMGxrMN6JLSjtdWUdp5tORMaGooqf6tbX11jQ50TTl3I1jOazj6K7cwPkiVAAIxoem9BE68edm7KNi3PvJO80CFYk/A4yn1u3Rq/bvfdo+VAd+21P+9OmcXyBUsZccQksz7Rw5oYEvCTn8CvfkXlprXU7NpEzYfvoG+/3cS+9qaWYa48rL/9rQnUnzKF0NCRHDj7SI594sdMmX0U//7UZby13PHZOL3Glof1vocq4k/D9rCGQtE2o55+xIhPe92yZWybc63Z5etvupbKVQ8vjL6WtDiC0Huis8F/poh4jQ9o3s87CQZdZrPn+0+2cGFcKq5UabUKhWDQiMsrrjDzdBtTVfiORKJ2ce4vK1OeU7pStYnfVTr7KLYzP4iHVYgSnQ2ufu+6fuiyvycvtPO8uKAuuhB++UvzJtHDGgpFvaU1H7zFZHsfc5vMc6KHNTEk4F//Sj4e9D5Dcy4E629/a2opWjjv9z1oTnxtHrde3M4B9sK2NhhkUn7t2NzBQOC22/28dp/jzt3jMcN7XV3wySdmu2HDrANUQiiEPu447MRh3l3bXVO76FPqo697MkQmCEIytscv/FM/hLv42TVdhH5WiVLmLxv1wh19dMp9OP+vfRaYVF9fVAnt7703NugUDsP555sJa0n9tRqFqOCqn6isvZ5uHtN09lFsZ34QwSpkjGu2Vr/f1ZMHxHKEQrJgtQVpZWW8SLQ9qbaHNdWkqyOOgJdfjvZIYVXJ6q31yIVgfeih1LvH9PPI8FOxhbt2xQTrlk4GAm2RiuSLSWWlOX/7sxs6NLac+Itc9PM47DC2dlSxY1N70uQqmTwgCLmlEz9e2vBEOqPh6Fo7hOF39jcLfT7YYw9j36xUSspOpZQqtVJPllVVmXCAjg4zKtXQQF2weMVWJJJCYFvnH6KyR0LcTcRffnlq+yi2Mz+IYBVSknjHr1Hx1URssZkqJMCZxioxJMAWpInxRpZw44476Lr7Pjy7tpu4FXt7W7DOnAm33kq4eiAhVUXNrk2offaJ1UvsKW6CVevshOzMmfD007HNnbu3nl/0Hs6nw6+aN7t2RdcPrjKegojHn3wxcZZTHTQovii5y7G0z4+aP58hgYCZyOaC5AkUhNzhrfJDCKo8nbT5iPOw1tURK/ix556wcmWf9SMu7vOC6fDyy/CFLwDFJbbOOgvuuCM2F9XK3Z+MQ7D2pJBCNtkcbMR29j8iWIWURDw+1p12CcOe/ic1H75DRPnwaEduVVtsphJzDiGW1sPq5KWXzHMohA9jhDTAn/5kxJ4tWC0L5vvC5/D93//BV74CBx7YKwvS3BhkbPPHDEtcEYlE420z4otfhJ/+FAYMgH33RbW20hZSdO5oZ/CO9aycdCJ135gJV1qhF47PaYDPnNf5F1Vw0FcSTsfxOXe0dbK8MWjCOByfYdegoWypGoNn/8nUXj9HLKog9CP+Kh9shSvmdDLdSmt9772OBvaEqGFJViZnJA5vr9+3msEQ50DItdjqq0lcgQAsXRr7DM86K8X+LcE6eGQl112cuh/pZv0Xi4gvZ0SwCinxVlUw9o838PHZFdTc/TN8OqESllNsejzJoQHpBGsqD+vy5Un9UIC29r324zD/PS/I599dyAgwt9wDBpiGTo9uFqw673oG3P8HpmxfhReX8IZwODvBasfdTpsGzzwDQDVQ/ctfwg9+wMQv7A8THJ+ls99WLNbs7/lhb8c+g0HYvDn61t/VzuTZx9LMUqY6PKz+o45g5GOPZd5XQRByh5Xd44LzumCc+dvec4/5W99zD7w0dwtTIBbO0wckDm+37DSC9Z1X2vjbs7kVZMGgEZN33mmO1xcz5jMS15bNrRxUyeWXp+5rupn94jEtfESwCqmxhvo7n3rOfb0zN6ibYHUKMZ0Q/5rKw3rqqfDf/yZHy3q8EAmz/aFFnMn82PItW0yewcTjZcjqMy5l/AM3pW9kj+llSqr0Kvb7UCg+M4BT2KfKw5owDdXOW9uysCn+OMOHZ95PQRByi51278gjwe9nfPtQ3mxrpYIQqg2G/tj633/wgVFQGSikbL2XicPbQ0ZXw/vw0x+18dccikpbALa3x8x73iZxOWN4U1BMk80Ed0SwCqmxhqB1/anoef9Nnrma6GFNxCnEElm3zjwnGhgrsbWaP5/QhlZ26SoiU6dRe+hEuPlmJvNufPuNG2OCNd3xUlD9uEvmg0ScuV8zIZXxdApWZ9laN8GamIe1rg58PrRD6HbhNxWy7vhbrF1tbXZ9FQQhNwSDMbu2Zg0AoxPb2H/1Dz4wKfiWLEmrmnqS7zNxeHv4r4199HW2Eda5E2u2ALTFqlJ5nMTVTdEAkJn9pYDkYRVSY4nQiTc0sOWwE5LXdydY03k8W1qS92HT0ABvv01lyzqGbf6A2qWPwL77uu9n7NhehQT49ty9+0YJgnXFpbexbvdP0TLjS+5JDJ3Vppyk8LB+8vVL2H7A4SbJoJ3DJdHDGgjAsmWoWbPYNT6Wt3ZqQyB2PGDzKx90fz6CIOQel2ScyuURJYMEnj3N9xmXb9S6oR/ka+vRhKRU2ALQ6zWmbfbs7gV1Ul7aHpK0nwwEazRf7nXJRQBy0Seh7xEPq5AahwgdduLh8MIT8et74GHVJBjtNAYmDl+Kn+qee/bKw+rbtrn7Rg5xueLS25hw0/kmrnbda0RmPIZn2dJ4K51JSIAjVnfkpndgE+jZL6Bsz2qihxXMMR55hBpgsr0sGES/8Ub0Mx32zKOsuKwxLn2VIAj9gDUKknH56AyUY068gpZ9nHNBG+NG5CaG1Q5TmD/f+B56Wzkq22Mn7ScDwQrJcapSsaq4EA+rkBrn7H+XGM4d762hudG6Lc3Aw9rhq2bLYSeaNxkamCipJj31YtLVqu/dSM3K5u4bOjysvoUPRcWhAlRXZ7LbIxMPq0Owxnle7ItdpjGzTU1J8b7OalaCIPQT1igIs2bBXnuZ8tPTppnXo0fD6NG0jR7Ph+NnsH7Wud2GA9i7dPMKZoUlWPce3ZayylM2OCtlXXRRvFhN563MVXUo1/1kez3JcZ+E/kE8rEJqnCLUxRDU7NzIpNnH0cwSproJygSPZ8Wk8VT85AI4+fHYpKs0QfJxpPKwVlT0eNLVoD/9IaN2/7vnefabY+Wo+cxxcMfS6Drt9aMS3R7dxbC2t0dDHJyFD8wCa0mq802krg7t9aHDMa+Os5qVIAj9iDUK4kbUm7cRKjbA4jmQiXbs9ez1XkxKdSPV5KXuvJVJ3uJjNVz2I3jgAXM98PtNRcOdO+Nj+Z3L/H4u8tVwdngnPjrxhKHmRj/4LQv6+usZT2Zz7VNdTj4ioY8QD6uQGqeH1UWwKsBPh5mpnkkMa21tbKjbFma9DQnw+3scEqAmx4vGVLQueib6eq+Gk+LWef7oUqggk5CAsWMB2DlpGqEKUyxBXXKJWe/3Z16oIBDA+9QyWmbMYu3Yw1g5Z4GEAwhCAZI3b16OBaszdtUp8ro7vyRv8V9/APPmwerVJtvLxo2wapV53rLFfdnGjVSvW8VoNjKCLQxnC5WtG2PlqjdsgGOPzTggNScebKHfEA+rkBqnCHUZotZAJxVmpvrLNydvnygghw9P3k8uBKtdcauz0wypp2obDMK8ebQ99yrtIUV1jRHPW4btzbDW1JOVhp94WOxNYj7ZyZNJIpOQAMuDMPCrX4BXXoHHHoPDDoudUzYEAoxY6u7VEQShMMibNy+HgjVd7Gom5xfnLT7n373ujyudnVmlQZD8q8VD3gSrUmo4cAdwArAJuFxr/UCKthcDl2Hyry8EztNah/qrr2VLNx7WVw+djf/b3zAz1a/sftLVtpUbGZwoxnIhWO18KqEQodHj6GrrxDegksrAp2NTZYNBOPpodCRCFVAFYBed+dqJ8Pvfpzz05FMPYsVljVTdfweDhmCqxti4XQSyyRLg98dSUa1fH1smCC6I3SxeelJNKScVpGzB+vvfmzqnPp+xTW1tsfh8n4+Qp4rIzjb8njA+L0ntOvExfkcVs2nDR5gB1eCbF2sTCIdprR7Ik8f/hKE/Oi8urtX1HPbdF955p4cnlYaU9VuFYiefHtZbgQ5gN2AasEgp9brW+i1nI6XUicCPgM8Aa4FHgJ9ay4S+pBvB+ukXHCIvg5CAQW8GWb1gEWOdC3Mx6SoYjMaNVrasoxJgF+h/rkH9+9+mtt/ixRCJJOeSBTMk5Vb4wGLdj+Yz4eHfmTdrEla6hSGkmgDglofV54sl+7cFazZFCoRyQ+xmEZONNy9nM9hfe808h0Ix2+RCd5bYD4xxLmizHnH72MFJ/zgfvuCFQEP6c5g40TyPHGnse1WVqQDW2ho/D8C5LF2bUMiMeM2RktSlSl4Eq1KqBqgHDtRa7wCeVkr9A/g6yQb1G8AdtkFWSl0H3O/STsg13QjWODItHNC0JP59MJhZkHw6D2uKYDAFseGhCRMAl0lOAPvtB08+mTIGtua/f3cXuuC+TbYeVkuwdt5yG34gvGUb3iwmDgjlgdjN8iJVTGjWHteVK/ukf2lZuBAaGtJXl2q1hrjmzoVzzunV4XLiiRYKnnxNutoXCGutnWWLXgcOcGl7gLXO2W43pVRSSR+lVINS6iWl1EsbN27MaYfLkm5iWFO2tbGGmzQxodg5dERcE/3WW6biS3dB8ukEq10FynEs50Sqzp/Npf3s2QCoQYNoH7Vn/D722y+tIFe7j0m5rschAU4PqzUs5tu5FQBPZ4jIjMwnDghlQ5/YTRDbWYgkTm6qrY2lk5o5MwvzcOqp3TZJtJ2pbKnbMlfq613PIW6kfrOVA7uX5aSdabay+lyEoiNfgnUgsDVh2VZgUAZt7ddJbbXWjVrr6Vrr6SNHjsxJR8uabtJaRXOwJrZNYONJ3+CDfU5g5ZwFsHNXnLFTkNmU2XSC1VEFqn30XmwfNJpwRXWsya7tVHWYNFp6+3aqr/5R8j7SpNcaNGFU6n7t2sWKyxpZM/Zwduz7KZN78Z57zLpEy5nKw7pqVVxBhZT5XYVyp0/sJojt7A+yraiUOIO9paWHWQYaGmDBAth/f5MP1iU/rBo/np2TprFl6F50DB9Nx/DRrGI8rzGNVexFaLjZTk2bhtprL5S1Xdy+hgwxx5s2LVpi23kO8+ebPkfP3xKsf/zX8F6JTMmlWj7kK4Z1BwlzV6z32zNoa792ayvkkm5CAibOnkkzi82kqzSCddTpn2XUmWcCsAJg3pPxojWTKbPpBCtE8x9WY2aYcOyxJom3G3//u7nltyccdCNYkzIDONj44BNM+M+fou/jKnnddx8cfXTUeKf0sH7rW/D88/GeDJ9Lfleh3BG7WaT0NB41Mea1x1kGGhpidigFAx2v5841Hstw2JjK635o5q+m5emn4Zhj4H//M/Gpu3ZBKEQA+DQVfNxaQw278BMiNKwC77bN+ICVty+m4f5jexyjK7lUy4d8eVjfBXxKqUmOZQcDb7m0fcta52y3QWvd0of9E6DbkIBoDtbEttXV8Q0dYnPiDQ2snLOAtXscxrZpM1DnZlbxpVvBmsgZZwAphrbq62GgwzxXVKSP0d2efI2391X5/FOpa4WDieWySeVhbWhALVjArr32Z8uw8WyeMSu53KsgiN0sWnLhBezPnKFph/JT8dRT5rm93cTNrl9v4lRbW6ls3cA+rGQM6xmBee8Lm5v2q7iOr7c39tgzKrlUy4e8eFi11juVUg8D1yqlvo2Z7fol4EiX5vcCdyul7gfWAVcCd/dTV8ubFB7WLrzxOVghXrAOHBgf25kgNife0ADZJrdPlyXADcuboObPJ7ShlVAneGuHU3P5hWbdT38KW7fG9pFq/5DkYXV6QisG+GAbyWEONvWOqlP2Z9jRQeubaxgGsc+moYGahgZqUvdCKHPEbhYvufIC9lfO0J6k4OrNWPxX1EIG1qW/JqSbWCW5VMuDfKa1Oh+4E/gEaMHkCHxLKTUOeBuYorX+SGv9b6XUPGAJsXyCV+er02VFihjWrTNOprnqcGrr60w4QELbUMQbnyIl0zKj6cjWwwrRYbBKXFK21DikYXeVpRI8rO1Vw9h16Axqn/o7VdvMBJWdA0bCHnswsMNKtzJ8OFx4YdwwXPPtz3MgRtAOev4/3fdfEJIRu1mEdCcA+2OWe7bHyFoE1tfDE0+kXO12U28vm/DDeiamOVbOUnwJRU3eBKvWejMwy2X5R8SH06C1/iXwy/7pmRDFKeIcIQG1U8dS99v4gKbQtlBUFPpbNsTvJxeC9W9/c1/eU8HnFKwVFenLuiYI1uoZh1J9Uh089ffodu2HHsOIpoUuG8eIhk8AXmIJuwUhU8RuFi+pBGB/iLG+PkYwCE0tDXx1DkxsusMcKCFXqkrIp7rDP5StbRW0n35Ot+Wk06bHEsoGuVoKqUmVJcBFZHXtaIsKVpWY9OQ//4GTT+5dX4LB+AlNNrkQrMuXo1euTJ1rNTHZdmWlKafqoHbpw6y4rDGt4a2tryPyhAcvjgIF4mEVhLImUYzde2/uva19KficYvi6igYWL27odt9xAvoWWDwrfX9kYpUA+Zt0JRQDKQTrhoeWxKe0AryDY86dcIL007/5DTQ29q4vX/mK2Vfi8lwI1ubm7LatrISPP07qi3o4vYd1akOArUcb4R79hMTDKgglT7qUVs4JTl4v3HVX7nOK9mgSVYb0ZEJZttsEAiYt1syZ5lm8q+WJCFYhNc6QALu8HzBq/RtMmn1cnGitGhETrBuHTEoWlgvTi7lusWbSb9//sPjlPRWsdnJ/4P3hhxHxVXSfDNumshJOOw2Izz6gT6lPuYlNxBsvUFdfOj/TowqCUIR0l9jeOcv9W98yCURynVM0lzPpE8V3T8RwttsEg3DRRabvF1wA550nBQLKERGsQmqcHtYXX4wraxqX0iqhbcdp3wRcUkn1loYGBr/9PBHnjP5Fi7LfTzCIfvqZ6Nu5N/p4+9YmNn32/zLbvrIyLhXVplFTWDlnQbdxWAC7PtwYJ4z3eHcJKy7rpfdZEISCJRNvYiBg8pyedVbfeUIDAbO/uOT9WeImvnsihrPdJvEzXLBAqlqVIyJYhdQ4PawzZ6ItL2RSSiuISwu11w3fZeWcBWwasT+7xk9BLVjQbdLqTGluDKLshP+Avv767MMNmpogEosjndr1Co+2BBj5h7mZbW+HRzQ0ULPqbUZueCsjsQrQ+VVTQCFuxmw3oQSCIBQv2XgT+zKnaC5KmKYS37bgtvubSVWvxG3SYX+G9iVJa6lqVY5IAJ2QGqeHNRDAs6yJdfPuZd1a8J9zViylFcQS4QMMGtSzXKsZEOfVtVm4MDtBXFeH9npRYdPnF3xHckEdmYcX9GKi1MQbGljetIx9X7g/q1ACQRCKk2xzmvZVTtFcTLzKZPKTLYxDIXMJufXW3vsr7M/w3ntNjG9Xl0y+KkdEsAqpScxNGggw5pEAY9zafvJJ9GXzH56LF7M5pLa+jo4nfFTgEMjZhhsEAni+fY4ZVwJ+8NDhHBIANiZX87KJy1CQpgxtJkx+/o+suGwG6uGF6FPqM/bOCoJQnHQnQvsjD2suZtpnIr6bmoxYjUTM43vfg6lTe39e9md41ll9/1kJhYkIViE1mQqzYBC9fn1U0E2afRzNLOkT0Tq1IUAzy6iYP4/d1VoGXXhOz27fDzww+vKQIyyPqYvn1BaqcdI9XZGBDOkrD7QgCMVFfyXF71H1qhT76S4FlccTi7oKh3ObRkuqWpUvIliF1GQqzBICiaITsvrIyzq1IQANj/RuJ0OGxF7bRRFcBavCjjjNlYdVEATBpj+T4vel2HN6iW+91XhWw2ET8i9D90IuEMEqpCZTYVZXR8RXgaerA3CZkFWIDB4ce20J1TfveYkDE5p5LrmYdSt3sW4tfPqF35uFOfCwCoIgQGkkxXfzEi9dKkP3Qm4RwSqkJlPBGgjgTTchqxBxelgtwbrp788kVdNauzrC7o/cZuJ2lQhWQRByS66G6vOJ00scCsE115jH5Zd3s6EgZIEIViE12QizdBOyChGnh9UKCaitP462J6qpIITPKp864s+30jzzq/ECXASrIAg5pNjjMm0vsT3Z6r//haee6rt4XKE8kWA8ITWlHKs5MFaZq/mOFwATG7tiwWJeG/7ZaMopD5HkVFoiWAVBKGMS86zaXuLPfjY24UrypAq5poQVidBrSliY/e/ht6OvJ86eGS0zO7UhQOXca2ijmk68dLjF45bw5yIIgpCOVAUIAgETBlBZ2TeVugRBBKuQmhL2sG5Y/Gb0dWKZWdvT+swJ17FiweKkeNxPXl/TX90UBEEoKNKVmk1VqSuTyleC0B0SwyqkpoQ9icNPncmu//4CPx2uWQ1M6qyYUG1uDDLVej3ssQdpbjyv8CeWCYIg5JjushokxuP2V55ZofQpXRea0GvWvbetZO+Iu/OiJtKysCka16rc4loFQSh7ysGTmMqLmop0HllByAbxsArxOCztqHVvcFpdkLlNgZK8I070oqajtr6O9ieq8dPhHtcqCEJZU06exGyyGpRCnlmhMBDBKsTT1EQEDx4iaBRHdTbRVKKCNRtMSdjFtCxsora+TsIBBEGIoz8rVhUTpZBnVigMRLAK8dTVoSsr6QyZ2M5n/HXMrct3pwqDbDyygiCUF+JJTE2x55kVCgMRrEI8gQDeJYtZfW8TS6lj7lniXRUEQegO8SQKQt8iglVIJhBgr0CAs/LdD0EQhCJCPImC0HdIlgBBEARBEAShoBHBKgiCIAiCIBQ0/S5YlVLDlVKPKKV2KqU+VEqdnqbtN5RSLyultimlViul5imlJIxBEISyQ2ynIAjlTD48rLcCHcBuwBnAbUqpA1K0HQBcBIwADgdmAj/shz4KgiAUGmI7BUEoW/r1jlspVQPUAwdqrXcATyul/gF8HfhRYnut9W2Ot2uUUvcDx/VLZwVBEAoEsZ2CIJQ7/T1EtC8Q1lq/61j2OnBshtvPAN5KtVIp1QA0WG9DSqk3e9TL4mAEsCnfnegjSvncQM6v2Jmch2OK7cwNpf7blPMrbkr9/HplO/tbsA4EtiYs2woM6m5DpdTZwHTg26naaK0bgUar/Uta6+k972phU8rnV8rnBnJ+xY5S6qU8HFZsZw4o5XMDOb9ipxzOrzfb5zSGVSnVpJTSKR5PAzuAwQmbDQa2d7PfWcD1wEla61K++xAEoQwR2ykIgpCenHpYtdZ16dZbcVg+pdQkrfV71uKDST9U9TngD8AXtNbNueqrIAhCoSC2UxAEIT39miVAa70TeBi4VilVo5Q6CvgScJ9be6XUZ4D7gXqt9QtZHq6xV50tfEr5/Er53EDOr9jp9/MT25kzSvncQM6v2JHzS4PSWueqI5kdUKnhwJ3A8UAL8COt9QPWunHA28AUrfVHSqklwDFAu2MXT2mtT+rXTguCIOQZsZ2CIJQz/S5YBUEQBEEQBCEbpDSrIAiCIAiCUNCIYBUEQRAEQRAKmqIVrFnW1b5YKbVeKbVVKXWnUqqyP/vaEzI9v2KtGZ7N9+fY5kkrzU9JnZ9SaoJS6lGl1Hal1Cal1Lz+7Gu2ZPHbVEqpnyml1lj/vaY0pUQLBqXU95RSLymlQkqpu7tpW7K2xWpbsucntrPwKGW7CaVtO/vDbhatYCXDutpKqRMxpQtnAuOBCcBP+6+bPSbTuuHFWjM8m7roKKXOoP8LXfSGTH+fFcB/gCeB0cBY4I/92M+ekOl3dyrwLczkn+FAkBSz2guMtcDPMBOcUlLqtqXUzw+xnYVIKdtNKG3b2fd2U2tddA+gBvOl7+tYdh9wvUvbB4BfON7PBNbn+xxydX4u214C/DPf55DL8wOGAO8CRwAa8OX7HHJ1fphymE/lu899dG6XAX92vD8AaM/3OWRxrj8D7k6zvqRtS6mfn8u2YjuL5NyKzW724PyK1nb2pd0sVg9rqrrabncqB1jrnO12U0rV9mH/eks255dI2prhBUK25/cL4DZgfV93LEdkc35HAKuUUo9Zw1pNSqmp/dLLnpHNuf0J2Ecpta9Syg98A/h3P/Sxvyh121Lq55eI2M78Usp2E8R22vTYrhSrYM2mrnZiW/t1tzW480iP6oarWM3wm/qoX7ki4/NTSk0HjgJu6Yd+5Ypsvr+xwP8BvwF2BxYBf7eGvAqRbM5tHfAUsBxowwxzXdynvetfSt22lPr5RRHbWRCUst0EsZ02PbYrxSpYs6mrndjWfp22BneeybpuuCqumuEZnZ9SygP8DrhQa93VT33LBdl8f23A01rrx7TWHZgLZi2wf992scdkc25XA4cCewJVmDilJ5VSA/q0h/1HqduWUj8/QGxnAVHKdhPEdtr02K4Uq2B9F6uutmNZqrrab1nrnO02aK1b+rB/vSWb83PWDP+iLo6a4Zme32CM1+MhpdR64EVr+Wql1DF9380ek8339wYmtqxYyObcDgYe0lqv1lp3aa3vBoYBU/q+m/1CqduWUj8/sZ2FRSnbTRDbadNzu5LvAN1eBPb+CXgQE8h8FMatfIBLu89h4nemYL7wJ8kgAD/fjyzO7zOYMo0z8t3nXJ8foDAzQO3HoRgjtQdQke9zyNH3NxnYBXwW8GKGfVYU8vllcW5XA09jZsR6gK8DO4Gh+T6Hbs7Ph/FqzMVMiqjCZbJKGdiWUj8/sZ0F9ihlu5nl+RWd7ewPu5n3k+zFhzMc+Jv1JX4EnG4tH4dxOY9ztL0E2ABsA+4CKvPd/1ydH7AE6LKW2Y/H8t3/XH5/jm3GU+AzXXtyfsApwPvW77PJzYAV0iOL32YVJo3LOuvcXgE+l+/+Z3B+11i/M+fjmnKzLaV+fmI7C+9RynYzm/MrRtvZH3ZTWRsLgiAIgiAIQkFSrDGsgiAIgiAIQpkgglUQBEEQBEEoaESwCoIgCIIgCAWNCFZBEARBEAShoBHBKgiCIAiCIBQ0IlgFQRAEQRCEgkYEqyAIgiAIglDQiGAVBEEQBEEQChoRrIIgCIIgCEJBI4JVKHmUUtVKqdVKqY+UUpUJ625XSoWVUv+Xr/4JgiAUImI7hUJCBKtQ8mit24CrgT2B8+3lSqm5wDnABVrrP+Wpe4IgCAWJ2E6hkFBa63z3QRD6HKWUF3gdGAVMAL4N/Aq4Wmt9bT77JgiCUKiI7RQKBRGsQtmglDoZ+CewGPgM8Fut9ffz2ytBEITCRmynUAhISIBQNmitHwVeAWYCDwEXJrZRSn1XKfWCUqpdKdXUz10UBEEoOMR2CoWAL98dEIT+Qin1VWCa9Xa7dh9eWAdcDxwKBPqpa4IgCAWL2E6hEBDBKpQFSqkTgPuAR4BO4FtKqV9prd9xttNaP2y1H9f/vRQEQSgsxHYKhYKEBAglj1LqcOBh4BngDOBKIALMzWe/BEEQChmxnUIhIYJVKGmUUvsDi4B3gVla65DWegVwB/AlpdRRee2gIAhCASK2Uyg0RLAKJYs1NPUEsBU4SWu9zbH6WqANmJePvgmCIBQqYjuFQkRiWIWSRWv9ESbhtdu6dcCA/u2RIAhC4SO2UyhERLAKggOllA/zv/ABHqVUFRDRWnfkt2eCIAiFi9hOoa8RwSoI8VyJKUVo0wYsBery0htBEITiQGyn0KdIpStBEARBEAShoJFJV4IgCIIgCEJBI4JVEARBEARBKGhEsAqCIAiCIAgFjQhWQRAEQRAEoaARwSoIgiAIgiAUNCJYBUEQBEEQhIJGBKsgCIIgCIJQ0Px/e79JbBpHouUAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "tree_reg1 = DecisionTreeRegressor(random_state=42)\n", "tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)\n", @@ -1773,9 +1841,7 @@ { "cell_type": "markdown", "id": "37b7856b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Pros and cons of trees, pros\n", "\n", @@ -1797,9 +1863,7 @@ { "cell_type": "markdown", "id": "579d15a1", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Disadvantages\n", "\n", @@ -1825,9 +1889,7 @@ { "cell_type": "markdown", "id": "50e291e2", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Ensemble Methods: From a Single Tree to Many Trees and Extreme Boosting, Meet the Jungle of Methods\n", "\n", @@ -1856,9 +1918,7 @@ { "cell_type": "markdown", "id": "2a067ded", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## An Overview of Ensemble Methods\n", "\n", @@ -1872,9 +1932,7 @@ { "cell_type": "markdown", "id": "92f0694a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Bagging\n", "\n", @@ -1894,9 +1952,7 @@ { "cell_type": "markdown", "id": "35e5abc4", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## More bagging\n", "\n", @@ -1926,9 +1982,7 @@ { "cell_type": "markdown", "id": "99530e36", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Making your own Bootstrap: Changing the Level of the Decision Tree\n", "\n", @@ -1938,13 +1992,96 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 21, "id": "77318608", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Polynomial degree: 1\n", + "Error: 0.050228534884996276\n", + "Bias^2: 0.047424636658910696\n", + "Var: 0.0028038982260855942\n", + "0.050228534884996276 >= 0.047424636658910696 + 0.0028038982260855942 = 0.05022853488499629\n", + "Polynomial degree: 2\n", + "Error: 0.035938172137818414\n", + "Bias^2: 0.03325162633373944\n", + "Var: 0.0026865458040789747\n", + "0.035938172137818414 >= 0.03325162633373944 + 0.0026865458040789747 = 0.035938172137818414\n", + "Polynomial degree: 3\n", + "Error: 0.019637742595026014\n", + "Bias^2: 0.016076691813926115\n", + "Var: 0.003561050781099899\n", + "0.019637742595026014 >= 0.016076691813926115 + 0.003561050781099899 = 0.019637742595026014\n", + "Polynomial degree: 4\n", + "Error: 0.01462046252128244\n", + "Bias^2: 0.011424636021768093\n", + "Var: 0.003195826499514345\n", + "0.01462046252128244 >= 0.011424636021768093 + 0.003195826499514345 = 0.014620462521282438\n", + "Polynomial degree: 5\n", + "Error: 0.012890642007324326\n", + "Bias^2: 0.01063737085997277\n", + "Var: 0.002253271147351561\n", + "0.012890642007324326 >= 0.01063737085997277 + 0.002253271147351561 = 0.012890642007324331\n", + "Polynomial degree: 6\n", + "Error: 0.013587860152743086\n", + "Bias^2: 0.011167722418296555\n", + "Var: 0.0024201377344465307\n", + "0.013587860152743086 >= 0.011167722418296555 + 0.0024201377344465307 = 0.013587860152743086\n", + "Polynomial degree: 7\n", + "Error: 0.014667745849181872\n", + "Bias^2: 0.011665580298884004\n", + "Var: 0.0030021655502978674\n", + "0.014667745849181872 >= 0.011665580298884004 + 0.0030021655502978674 = 0.014667745849181872\n", + "Polynomial degree: 8\n", + "Error: 0.01576461886622324\n", + "Bias^2: 0.012194276195040337\n", + "Var: 0.0035703426711829076\n", + "0.01576461886622324 >= 0.012194276195040337 + 0.0035703426711829076 = 0.015764618866223244\n", + "Polynomial degree: 9\n", + "Error: 0.01681890798652693\n", + "Bias^2: 0.0127531179009464\n", + "Var: 0.004065790085580534\n", + "0.01681890798652693 >= 0.0127531179009464 + 0.004065790085580534 = 0.016818907986526934\n", + "Polynomial degree: 10\n", + "Error: 0.017662244936164105\n", + "Bias^2: 0.01322098120809351\n", + "Var: 0.004441263728070601\n", + "0.017662244936164105 >= 0.01322098120809351 + 0.004441263728070601 = 0.017662244936164112\n", + "Polynomial degree: 11\n", + "Error: 0.01835866569618622\n", + "Bias^2: 0.013658812846630355\n", + "Var: 0.004699852849555868\n", + "0.01835866569618622 >= 0.013658812846630355 + 0.004699852849555868 = 0.018358665696186223\n", + "0.4792857906235924\n" + ] + }, + { + "ename": "NameError", + "evalue": "name 'save_fig' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 48\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpolydegree\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvariance\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'Variance'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 49\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlegend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 50\u001b[0;31m \u001b[0msave_fig\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"baggingboot\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 51\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'save_fig' is not defined" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "\n", "import matplotlib.pyplot as plt\n", @@ -1956,7 +2093,7 @@ "\n", "n = 1000\n", "n_boostraps = 100\n", - "maxdepth = 10\n", + "maxdepth = 12\n", "\n", "# Make data set.\n", "x = np.linspace(-3, 3, n).reshape(-1, 1)\n", @@ -2003,9 +2140,7 @@ { "cell_type": "markdown", "id": "0db1989b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Why Voting?\n", "\n", @@ -2027,9 +2162,7 @@ { "cell_type": "markdown", "id": "db575915", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Tossing coins\n", "\n", @@ -2058,9 +2191,7 @@ { "cell_type": "markdown", "id": "e1b33601", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Standard imports first" ] @@ -2069,11 +2200,20 @@ "cell_type": "code", "execution_count": 16, "id": "2efc1afa", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'pydot'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Common imports\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mIPython\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdisplay\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mImage\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mpydot\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mgraph_from_dot_data\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mpandas\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'pydot'" + ] + } + ], "source": [ "# Common imports\n", "from IPython.display import Image \n", @@ -2117,9 +2257,7 @@ { "cell_type": "markdown", "id": "f3567d84", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Simple Voting Example, head or tail" ] @@ -2128,11 +2266,32 @@ "cell_type": "code", "execution_count": 17, "id": "8bfc7097", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'save_fig' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlegend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mloc\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"lower right\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m10000\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0.42\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0.58\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 21\u001b[0;31m \u001b[0msave_fig\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"votingsimple\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 22\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'save_fig' is not defined" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "\n", "# Common imports\n", @@ -2162,9 +2321,7 @@ { "cell_type": "markdown", "id": "394c30b2", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Using the Voting Classifier\n", "\n", @@ -2175,11 +2332,23 @@ "cell_type": "code", "execution_count": 18, "id": "04d378b8", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "LogisticRegression 0.864\n", + "RandomForestClassifier 0.872\n", + "SVC 0.888\n", + "VotingClassifier 0.896\n", + "LogisticRegression 0.864\n", + "RandomForestClassifier 0.872\n", + "SVC 0.888\n", + "VotingClassifier 0.912\n" + ] + } + ], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.datasets import make_moons\n", @@ -2228,9 +2397,7 @@ { "cell_type": "markdown", "id": "2aa90ff1", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Voting and Bagging" ] @@ -2239,11 +2406,21 @@ "cell_type": "code", "execution_count": 19, "id": "d2b80cd4", - "metadata": { - "collapsed": false, - "editable": true - }, - "outputs": [], + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "VotingClassifier(estimators=[('lr', LogisticRegression(random_state=42)),\n", + " ('rf', RandomForestClassifier(random_state=42)),\n", + " ('svc', SVC(random_state=42))])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.datasets import make_moons\n", @@ -2269,10 +2446,7 @@ "cell_type": "code", "execution_count": 20, "id": "86ba6caa", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "from sklearn.metrics import accuracy_score\n", @@ -2287,10 +2461,7 @@ "cell_type": "code", "execution_count": 21, "id": "d009d0ef", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "log_clf = LogisticRegression(random_state=42)\n", @@ -2307,10 +2478,7 @@ "cell_type": "code", "execution_count": 22, "id": "6f87139d", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "from sklearn.metrics import accuracy_score\n", @@ -2324,9 +2492,7 @@ { "cell_type": "markdown", "id": "768b6c06", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Random forests\n", "\n", @@ -2347,9 +2513,7 @@ { "cell_type": "markdown", "id": "5876341e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "m\\approx \\sqrt{p}.\n", @@ -2359,9 +2523,7 @@ { "cell_type": "markdown", "id": "b79d9382", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "In building a random forest, at\n", "each split in the tree, the algorithm is not even allowed to consider\n", @@ -2384,9 +2546,7 @@ { "cell_type": "markdown", "id": "b02fdfb7", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Random Forest Algorithm\n", "The algorithm described here can be applied to both classification and regression problems.\n", @@ -2410,9 +2570,7 @@ { "cell_type": "markdown", "id": "56589894", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Random Forests Compared with other Methods on the Cancer Data" ] @@ -2421,10 +2579,7 @@ "cell_type": "code", "execution_count": 23, "id": "6d326205", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -2498,9 +2653,7 @@ { "cell_type": "markdown", "id": "147dd974", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "Recall that the cumulative gains curve shows the percentage of the\n", "overall number of cases in a given category *gained* by targeting a\n", @@ -2514,9 +2667,7 @@ { "cell_type": "markdown", "id": "f9162cb5", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Compare Bagging on Trees with Random Forests" ] @@ -2525,10 +2676,7 @@ "cell_type": "code", "execution_count": 24, "id": "3359897d", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "bag_clf = BaggingClassifier(\n", @@ -2540,10 +2688,7 @@ "cell_type": "code", "execution_count": 25, "id": "fac6da67", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "bag_clf.fit(X_train, y_train)\n", @@ -2558,9 +2703,7 @@ { "cell_type": "markdown", "id": "236ab1e3", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Boosting, a Bird's Eye View\n", "\n", @@ -2578,9 +2721,7 @@ { "cell_type": "markdown", "id": "424e0843", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## What is boosting? Additive Modelling/Iterative Fitting\n", "\n", @@ -2592,9 +2733,7 @@ { "cell_type": "markdown", "id": "5c2c6074", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "f_M(x) = \\sum_{i=1}^M \\beta_m b(x;\\gamma_m),\n", @@ -2604,9 +2743,7 @@ { "cell_type": "markdown", "id": "f374a24b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where $\\beta_m$ are the expansion parameters to be determined in a\n", "minimization process and $b(x;\\gamma_m)$ are some simple functions of\n", @@ -2621,9 +2758,7 @@ { "cell_type": "markdown", "id": "ec77a4de", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\sigma(t) = \\frac{1}{1+\\exp{(-t)}},\n", @@ -2633,9 +2768,7 @@ { "cell_type": "markdown", "id": "47aeac82", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where $t=\\gamma_0+\\gamma_1 x$ and the parameters $\\gamma_0$ and\n", "$\\gamma_1$ were determined by the Logistic Regression fitting\n", @@ -2647,9 +2780,7 @@ { "cell_type": "markdown", "id": "71d7bac6", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f}) = \\frac{1}{n} \\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n", @@ -2659,9 +2790,7 @@ { "cell_type": "markdown", "id": "386ef484", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "In this case the function $f(x)$ was replaced by the design matrix\n", "$\\boldsymbol{X}$ and the unknown linear regression parameters $\\boldsymbol{\\beta}$,\n", @@ -2672,9 +2801,7 @@ { "cell_type": "markdown", "id": "e73f130e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\boldsymbol{\\beta}=\\left(\\boldsymbol{X}^T\\boldsymbol{X}\\right)^{-1}\\boldsymbol{X}^T\\boldsymbol{y}.\n", @@ -2684,9 +2811,7 @@ { "cell_type": "markdown", "id": "6bdf779b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "In iterative fitting or additive modeling, we minimize the cost function with respect to the parameters $\\beta_m$ and $\\gamma_m$." ] @@ -2694,9 +2819,7 @@ { "cell_type": "markdown", "id": "8d5acd31", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Iterative Fitting, Regression and Squared-error Cost Function\n", "\n", @@ -2722,9 +2845,7 @@ { "cell_type": "markdown", "id": "510fc0f7", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Squared-Error Example and Iterative Fitting\n", "\n", @@ -2738,9 +2859,7 @@ { "cell_type": "markdown", "id": "40618652", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "(\\beta_m,\\gamma_m) = \\mathrm{argmin}_{\\beta,\\lambda}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\\beta b(x;\\gamma))^2=\\sum_{i=0}^{n-1}(y_i-f_{m-1}(x_i)-\\beta(1+\\gamma x_i))^2.\n", @@ -2750,9 +2869,7 @@ { "cell_type": "markdown", "id": "4a225c1e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "We start our iteration by simply setting $f_0(x)=0$. \n", "Taking the derivatives with respect to $\\beta$ and $\\gamma$ we obtain" @@ -2761,9 +2878,7 @@ { "cell_type": "markdown", "id": "c57e04fd", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\frac{\\partial {\\cal C}}{\\partial \\beta} = -2\\sum_{i}(1+\\gamma x_i)(y_i-\\beta(1+\\gamma x_i))=0,\n", @@ -2773,9 +2888,7 @@ { "cell_type": "markdown", "id": "51ece285", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "and" ] @@ -2783,9 +2896,7 @@ { "cell_type": "markdown", "id": "027da958", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\frac{\\partial {\\cal C}}{\\partial \\gamma} =-2\\sum_{i}\\beta x_i(y_i-\\beta(1+\\gamma x_i))=0.\n", @@ -2795,9 +2906,7 @@ { "cell_type": "markdown", "id": "edcf5852", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "We can then rewrite these equations as (defining $\\boldsymbol{w}=\\boldsymbol{e}+\\gamma \\boldsymbol{x})$ with $\\boldsymbol{e}$ being the unit vector)" ] @@ -2805,9 +2914,7 @@ { "cell_type": "markdown", "id": "ac315a21", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\gamma \\boldsymbol{w}^T(\\boldsymbol{y}-\\beta\\gamma \\boldsymbol{w})=0,\n", @@ -2817,9 +2924,7 @@ { "cell_type": "markdown", "id": "ecafd78c", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "which gives us $\\beta = \\boldsymbol{w}^T\\boldsymbol{y}/(\\boldsymbol{w}^T\\boldsymbol{w})$. Similarly we have" ] @@ -2827,9 +2932,7 @@ { "cell_type": "markdown", "id": "3aa73aec", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\beta\\gamma \\boldsymbol{x}^T(\\boldsymbol{y}-\\beta(1+\\gamma \\boldsymbol{x}))=0,\n", @@ -2839,9 +2942,7 @@ { "cell_type": "markdown", "id": "d100a2cc", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "which leads to $\\gamma =(\\boldsymbol{x}^T\\boldsymbol{y}-\\beta\\boldsymbol{x}^T\\boldsymbol{e})/(\\beta\\boldsymbol{x}^T\\boldsymbol{x})$. Inserting\n", "for $\\beta$ gives us an equation for $\\gamma$. This is a non-linear equation in the unknown $\\gamma$ and has to be solved numerically. \n", @@ -2853,9 +2954,7 @@ { "cell_type": "markdown", "id": "77d884ae", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Iterative Fitting, Classification and AdaBoost\n", "\n", @@ -2869,9 +2968,7 @@ { "cell_type": "markdown", "id": "8ca1ea91", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\mathrm{\\overline{err}}=\\frac{1}{n} \\sum_{i=0}^{n-1} I(y_i\\ne G(x_i)).\n", @@ -2881,9 +2978,7 @@ { "cell_type": "markdown", "id": "e9049241", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "The iterative procedure starts with defining a weak classifier whose\n", "error rate is barely better than random guessing. The iterative\n", @@ -2897,9 +2992,7 @@ { "cell_type": "markdown", "id": "df814eab", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "f_M(x) = \\sum_{i=1}^M \\beta_m b(x;\\gamma_m),\n", @@ -2909,9 +3002,7 @@ { "cell_type": "markdown", "id": "afce22c9", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "will be a function of" ] @@ -2919,9 +3010,7 @@ { "cell_type": "markdown", "id": "3eb3d253", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "G_M(x) = \\mathrm{sign} \\sum_{i=1}^M \\alpha_m G_m(x).\n", @@ -2931,9 +3020,7 @@ { "cell_type": "markdown", "id": "db366472", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Adaptive Boosting, AdaBoost\n", "\n", @@ -2943,9 +3030,7 @@ { "cell_type": "markdown", "id": "9c289506", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "f_m(x) = f_{m-1}(x)+\\beta_mG_m(x).\n", @@ -2955,9 +3040,7 @@ { "cell_type": "markdown", "id": "b73caf81", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "The simplest possible cost function which leads (also simple from a computational point of view) to the AdaBoost algorithm is the\n", "exponential cost/loss function defined as" @@ -2966,9 +3049,7 @@ { "cell_type": "markdown", "id": "e1497919", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f}) = \\sum_{i=0}^{n-1}\\exp{(-y_i(f_{m-1}(x_i)+\\beta G(x_i))}.\n", @@ -2978,9 +3059,7 @@ { "cell_type": "markdown", "id": "f61fe6a9", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "We optimize $\\beta$ and $G$ for each value of $m=1:M$ as we did in the regression case.\n", "This is normally done in two steps. Let us however first rewrite the cost function as" @@ -2989,9 +3068,7 @@ { "cell_type": "markdown", "id": "4aef8601", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f}) = \\sum_{i=0}^{n-1}w_i^{m}\\exp{(-y_i\\beta G(x_i))},\n", @@ -3001,9 +3078,7 @@ { "cell_type": "markdown", "id": "c7165d54", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where we have defined $w_i^m= \\exp{(-y_if_{m-1}(x_i))}$." ] @@ -3011,9 +3086,7 @@ { "cell_type": "markdown", "id": "5cbade74", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Building up AdaBoost\n", "\n", @@ -3023,9 +3096,7 @@ { "cell_type": "markdown", "id": "a52cbd43", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "G_m(x) = \\mathrm{sign} \\sum_{i=0}^{n-1} w_i^m I(y_i \\ne G_(x_i)),\n", @@ -3035,9 +3106,7 @@ { "cell_type": "markdown", "id": "3148496e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "which is the classifier that minimizes the weighted error rate in predicting $y$.\n", "\n", @@ -3047,9 +3116,7 @@ { "cell_type": "markdown", "id": "9fda11b4", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\exp{-(\\beta)}\\sum_{y_i=G(x_i)}w_i^m+\\exp{(\\beta)}\\sum_{y_i\\ne G(x_i)}w_i^m,\n", @@ -3059,9 +3126,7 @@ { "cell_type": "markdown", "id": "31ffcfd2", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "which can be rewritten as" ] @@ -3069,9 +3134,7 @@ { "cell_type": "markdown", "id": "80616747", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "(\\exp{(\\beta)}-\\exp{-(\\beta)})\\sum_{i=0}^{n-1}w_i^mI(y_i\\ne G(x_i))+\\exp{(-\\beta)}\\sum_{i=0}^{n-1}w_i^m=0,\n", @@ -3081,9 +3144,7 @@ { "cell_type": "markdown", "id": "8a9380dc", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "which leads to" ] @@ -3091,9 +3152,7 @@ { "cell_type": "markdown", "id": "677ee319", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\beta_m = \\frac{1}{2}\\log{\\frac{1-\\mathrm{\\overline{err}}}{\\mathrm{\\overline{err}}}},\n", @@ -3103,9 +3162,7 @@ { "cell_type": "markdown", "id": "6283c125", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where we have redefined the error as" ] @@ -3113,9 +3170,7 @@ { "cell_type": "markdown", "id": "0d7285ca", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\mathrm{\\overline{err}}_m=\\frac{1}{n}\\frac{\\sum_{i=0}^{n-1}w_i^mI(y_i\\ne G(x_i)}{\\sum_{i=0}^{n-1}w_i^m},\n", @@ -3125,9 +3180,7 @@ { "cell_type": "markdown", "id": "bfce1bb9", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "which leads to an update of" ] @@ -3135,9 +3188,7 @@ { "cell_type": "markdown", "id": "4a1d1f64", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "f_m(x) = f_{m-1}(x) +\\beta_m G_m(x).\n", @@ -3147,9 +3198,7 @@ { "cell_type": "markdown", "id": "9a668f75", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "This leads to the new weights" ] @@ -3157,9 +3206,7 @@ { "cell_type": "markdown", "id": "e2c4d42a", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "w_i^{m+1} = w_i^m \\exp{(-y_i\\beta_m G_m(x_i))}\n", @@ -3169,9 +3216,7 @@ { "cell_type": "markdown", "id": "900679d9", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Adaptive boosting: AdaBoost, Basic Algorithm\n", "\n", @@ -3189,9 +3234,7 @@ { "cell_type": "markdown", "id": "a11f8c18", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\mathrm{err}=\\frac{1}{n}\\sum_{i=0}^{n-1}I(y_i\\ne G(x_i)),\n", @@ -3201,9 +3244,7 @@ { "cell_type": "markdown", "id": "c9c47a57", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "where the function $I()$ is one if we misclassify and zero if we classify correctly." ] @@ -3211,9 +3252,7 @@ { "cell_type": "markdown", "id": "7c9edb04", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Basic Steps of AdaBoost\n", "\n", @@ -3227,9 +3266,7 @@ { "cell_type": "markdown", "id": "7fdd3cbe", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "\\mathrm{\\overline{err}}_m=\\frac{\\sum_{i=0}^{n-1}w_i^m I(y_i\\ne G(x_i))}{\\sum_{i=0}^{n-1}w_i},\n", @@ -3239,9 +3276,7 @@ { "cell_type": "markdown", "id": "8c5b40a7", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "1. Then we start looping over all attempts at classifying, namely we start an iterative process for $m=1:M$, where $M$ is the final number of classifications. Our given classifier could for example be a plain decision tree.\n", "\n", @@ -3267,9 +3302,7 @@ { "cell_type": "markdown", "id": "f5a2468f", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## AdaBoost Examples\n", "\n", @@ -3280,10 +3313,7 @@ "cell_type": "code", "execution_count": 26, "id": "3c538b9c", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "from sklearn.ensemble import AdaBoostClassifier\n", @@ -3312,9 +3342,7 @@ { "cell_type": "markdown", "id": "944755d2", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Gradient boosting: Basics with Steepest Descent/Functional Gradient Descent\n", "\n", @@ -3330,9 +3358,7 @@ { "cell_type": "markdown", "id": "1db01624", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## The Squared-Error again! Steepest Descent\n", "\n", @@ -3343,9 +3369,7 @@ { "cell_type": "markdown", "id": "9f1e977e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "(\\hat{\\boldsymbol{f}}) = \\mathrm{argmin}_{\\boldsymbol{f}}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n", @@ -3355,9 +3379,7 @@ { "cell_type": "markdown", "id": "ad07aa37", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "We define a real function $h_m(x)$ that defines our final function $f_M(x)$ as" ] @@ -3365,9 +3387,7 @@ { "cell_type": "markdown", "id": "6c5e51f2", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "f_M(x) = \\sum_{m=0}^M h_m(x).\n", @@ -3377,9 +3397,7 @@ { "cell_type": "markdown", "id": "ff8db114", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "In the steepest decent approach we approximate $h_m(x) = -\\rho_m g_m(x)$, where $\\rho_m$ is a scalar and $g_m(x)$ the gradient defined as" ] @@ -3387,9 +3405,7 @@ { "cell_type": "markdown", "id": "57a1832e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "g_m(x_i) = \\left[ \\frac{\\partial {\\cal L}(y_i, f(x_i))}{\\partial f(x_i)}\\right]_{f(x_i)=f_{m-1}(x_i)}.\n", @@ -3399,9 +3415,7 @@ { "cell_type": "markdown", "id": "f2d02473", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "With the new gradient we can update $f_m(x) = f_{m-1}(x) -\\rho_m g_m(x)$. Using the above squared-error function we see that\n", "the gradient is $g_m(x_i) = -2(y_i-f(x_i))$.\n", @@ -3412,9 +3426,7 @@ { "cell_type": "markdown", "id": "69d68822", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "(\\rho_1) = \\mathrm{argmin}_{\\rho}\\hspace{0.1cm} \\sum_{i=0}^{n-1}(y_i+2\\rho y_i)^2.\n", @@ -3424,9 +3436,7 @@ { "cell_type": "markdown", "id": "536cae62", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Steepest Descent Example\n", "\n", @@ -3436,9 +3446,7 @@ { "cell_type": "markdown", "id": "7afeb185", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "f_1(x) = f_{0}(x) -\\rho_1 g_1(x)=-y_i.\n", @@ -3448,9 +3456,7 @@ { "cell_type": "markdown", "id": "7b64caef", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "We can then proceed and compute" ] @@ -3458,9 +3464,7 @@ { "cell_type": "markdown", "id": "ec411555", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "g_2(x_i) = \\left[ \\frac{\\partial {\\cal L}(y_i, f(x_i))}{\\partial f(x_i)}\\right]_{f(x_i)=f_{1}(x_i)=y_i}=-4y_i,\n", @@ -3470,9 +3474,7 @@ { "cell_type": "markdown", "id": "df5d8340", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "and find a new value for $\\rho_2=-1/2$ and continue till we have reached $m=M$. We can modify the steepest descent method, or steepest boosting, by introducing what is called **gradient boosting**." ] @@ -3480,9 +3482,7 @@ { "cell_type": "markdown", "id": "8148cb91", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Gradient Boosting, algorithm\n", "\n", @@ -3496,9 +3496,7 @@ { "cell_type": "markdown", "id": "4559496b", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "$$\n", "C(\\boldsymbol{y},\\boldsymbol{f})=\\sum_{i=0}^{n-1}(y_i-f(x_i))^2.\n", @@ -3508,9 +3506,7 @@ { "cell_type": "markdown", "id": "70dd086e", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "The way we proceed in an iterative fashion is to\n", "1. Initialize our estimate $f_0(x)$.\n", @@ -3529,9 +3525,7 @@ { "cell_type": "markdown", "id": "d27d3ddf", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Gradient Boosting, Examples of Regression" ] @@ -3540,10 +3534,7 @@ "cell_type": "code", "execution_count": 27, "id": "40bb2103", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -3597,9 +3588,7 @@ { "cell_type": "markdown", "id": "570d4c86", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Gradient Boosting, Classification Example" ] @@ -3608,10 +3597,7 @@ "cell_type": "code", "execution_count": 28, "id": "2356e9e9", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -3659,9 +3645,7 @@ { "cell_type": "markdown", "id": "eb735817", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## XGBoost: Extreme Gradient Boosting\n", "\n", @@ -3682,9 +3666,7 @@ { "cell_type": "markdown", "id": "5a6da2c1", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Regression Case" ] @@ -3693,10 +3675,7 @@ "cell_type": "code", "execution_count": 29, "id": "bfa7cf73", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", @@ -3750,9 +3729,7 @@ { "cell_type": "markdown", "id": "5ad2e9bc", - "metadata": { - "editable": true - }, + "metadata": {}, "source": [ "## Xgboost on the Cancer Data\n", "\n", @@ -3763,10 +3740,7 @@ "cell_type": "code", "execution_count": 30, "id": "df6c15d0", - "metadata": { - "collapsed": false, - "editable": true - }, + "metadata": {}, "outputs": [], "source": [ "\n", @@ -3824,7 +3798,25 @@ ] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, "nbformat": 4, "nbformat_minor": 5 }