2915 lines
632 KiB
Plaintext
2915 lines
632 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### AITech — Uczenie maszynowe\n",
|
||
"# 8. Przegląd metod uczenia nadzorowanego"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"## 8.1. Naiwny klasyfikator bayesowski"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Naiwny klasyfikator bayesowski jest algorytmem dla problemu klasyfikacji wieloklasowej.\n",
|
||
"* Naszym celem jest znalezienie funkcji uczącej $f \\colon x \\mapsto y$, gdzie $y$ oznacza jedną ze zdefiniowanych wcześniej klas.\n",
|
||
"* Klasyfikacja probabilistyczna polega na wskazaniu klasy o najwyższym prawdopodobieństwie:\n",
|
||
"$$ \\hat{y} = \\mathop{\\arg \\max}_y P( y \\,|\\, x ) $$\n",
|
||
"* Naiwny klasyfikator bayesowski należy do rodziny klasyfikatorów probabilistycznych"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"<img style=\"float: right;\" src=\"https://upload.wikimedia.org/wikipedia/commons/d/d4/Thomas_Bayes.gif\">\n",
|
||
"\n",
|
||
"**Thomas Bayes** (wymowa: /beɪz/) (1702–1761) – angielski matematyk i duchowny"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Twierdzenie Bayesa – wzór ogólny\n",
|
||
"\n",
|
||
"$$ P( Y \\,|\\, X ) = \\frac{ P( X \\,|\\, Y ) \\cdot P( Y ) }{ P ( X ) } $$"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"source": [
|
||
"Twierdzenie Bayesa opisuje związek między prawdopodobieństwami warunkowymi dwóch zdarzeń warunkujących się nawzajem."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Twierdzenie Bayesa\n",
|
||
"(po zastosowaniu wzoru na prawdopodobieństwo całkowite)\n",
|
||
"\n",
|
||
"$$ \\underbrace{P( y_k \\,|\\, x )}_\\textrm{ prawd. a posteriori } = \\frac{ \\overbrace{ P( x \\,|\\, y_k )}^\\textrm{ model klasy } \\cdot \\overbrace{P( y_k )}^\\textrm{ prawd. a priori } }{ \\underbrace{\\sum_{i} P( x \\,|\\, y_i ) \\, P( y_i )}_\\textrm{wyrażenie normalizacyjne} } $$"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"source": [
|
||
" * W tym przypadku „zdarzenie $x$” oznacza, że cechy wejściowe danej obserwacji przyjmują wartości opisane wektorem $x$.\n",
|
||
" * „Zdarzenie $y_k$” oznacza, że dana obserwacja należy do klasy $y_k$.\n",
|
||
" * **Model klasy** $y_k$ opisuje rozkład prawdopodobieństwa cech obserwacji należących do tej klasy.\n",
|
||
" * **Prawdopodobieństwo *a priori*** to prawdopodobienstwo, że losowa obserwacja należy do klasy $y_k$.\n",
|
||
" * **Prawdopodobieństwo *a posteriori*** to prawdopodobieństwo, którego szukamy: że obserwacja opisana wektorem cech $x$ należy do klasy $y_k$."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Rola wyrażenia normalizacyjnego w twierdzeniu Bayesa\n",
|
||
"\n",
|
||
" * Wartość wyrażenia normalizacyjnego nie wpływa na wynik klasyfikacji.\n",
|
||
"\n",
|
||
"**Przykład**: obserwacja nietypowa ma małe prawdopodobieństwo względem dowolnej klasy, wyrażenie normalizacyjne sprawia, że to prawdopodobieństwo staje się porównywalne z prawdopodobieństwami typowych obserwacji, ale nie wpływa na klasyfikację!"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Klasyfikatory dyskryminatywne a generatywne\n",
|
||
"\n",
|
||
"* Klasyfikatory generatywne tworzą model rozkładu prawdopodobieństwa dla każdej z klas.\n",
|
||
"* Klasyfikatory dyskryminatywne wyznaczają granicę klas (*decision boundary*) bezpośrednio.\n",
|
||
"* Naiwny klasyfikator bayesowski jest klasyfikatorem generatywnym (ponieważ wyznacza $P( x \\,|\\, y )$).\n",
|
||
"* Wszystkie klasyfikatory generatywne są probabilistyczne, ale nie na odwrót.\n",
|
||
"* Regresja logistyczna jest przykładem klasyfikatora dyskryminatywnego."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Założenie niezależności dla naiwnego klasyfikatora bayesowskiego\n",
|
||
"\n",
|
||
"* Naiwny klasyfikator bayesowski jest *naiwny*, ponieważ zakłada, że poszczególne cechy są niezależne od siebie:\n",
|
||
"$$ P( x_1, \\ldots, x_n \\,|\\, y ) \\,=\\, \\prod_{i=1}^n P( x_i \\,|\\, x_1, \\ldots, x_{i-1}, y ) \\,=\\, \\prod_{i=1}^n P( x_i \\,|\\, y ) $$\n",
|
||
"* To założenie jest bardzo przydatne ze względów obliczeniowych, ponieważ bardzo często mamy do czynienia z ogromną liczbą cech (bitmapy, słowniki itp.)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Naiwny klasyfikator bayesowski – przykład"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Przydtne importy\n",
|
||
"\n",
|
||
"import ipywidgets as widgets\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"import numpy as np\n",
|
||
"import pandas\n",
|
||
"\n",
|
||
"%matplotlib inline"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Wczytanie danych (gatunki kosaćców)\n",
|
||
"\n",
|
||
"data_iris = pandas.read_csv('iris.csv')\n",
|
||
"data_iris_setosa = pandas.DataFrame()\n",
|
||
"data_iris_setosa['dł. płatka'] = data_iris['pl'] # \"pl\" oznacza \"petal length\"\n",
|
||
"data_iris_setosa['szer. płatka'] = data_iris['pw'] # \"pw\" oznacza \"petal width\"\n",
|
||
"data_iris_setosa['Iris setosa?'] = data_iris['Gatunek'].apply(lambda x: 1 if x=='Iris-setosa' else 0)\n",
|
||
"\n",
|
||
"m, n_plus_1 = data_iris_setosa.values.shape\n",
|
||
"n = n_plus_1 - 1\n",
|
||
"Xn = data_iris_setosa.values[:, 0:n].reshape(m, n)\n",
|
||
"\n",
|
||
"X = np.matrix(np.concatenate((np.ones((m, 1)), Xn), axis=1)).reshape(m, n_plus_1)\n",
|
||
"Y = np.matrix(data_iris_setosa.values[:, 2]).reshape(m, 1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"liczba przykładów: {0: 100, 1: 50}\n",
|
||
"prior probability: {0: 0.6666666666666666, 1: 0.3333333333333333}\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"classes = [0, 1]\n",
|
||
"count = [sum(1 if y == c else 0 for y in Y.T.tolist()[0]) for c in classes]\n",
|
||
"prior_prob = [float(count[c]) / float(Y.shape[0]) for c in classes]\n",
|
||
"\n",
|
||
"print('liczba przykładów: ', {c: count[c] for c in classes})\n",
|
||
"print('prior probability:', {c: prior_prob[c] for c in classes})"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Wykres danych (wersja macierzowa)\n",
|
||
"def plot_data_for_classification(X, Y, xlabel, ylabel): \n",
|
||
" fig = plt.figure(figsize=(16*.6, 9*.6))\n",
|
||
" ax = fig.add_subplot(111)\n",
|
||
" fig.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9)\n",
|
||
" X = X.tolist()\n",
|
||
" Y = Y.tolist()\n",
|
||
" X1n = [x[1] for x, y in zip(X, Y) if y[0] == 0]\n",
|
||
" X1p = [x[1] for x, y in zip(X, Y) if y[0] == 1]\n",
|
||
" X2n = [x[2] for x, y in zip(X, Y) if y[0] == 0]\n",
|
||
" X2p = [x[2] for x, y in zip(X, Y) if y[0] == 1]\n",
|
||
" ax.scatter(X1n, X2n, c='r', marker='x', s=50, label='Dane')\n",
|
||
" ax.scatter(X1p, X2p, c='g', marker='o', s=50, label='Dane')\n",
|
||
" \n",
|
||
" ax.set_xlabel(xlabel)\n",
|
||
" ax.set_ylabel(ylabel)\n",
|
||
" ax.margins(.05, .05)\n",
|
||
" return fig"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(X, Y, xlabel=u'dł. płatka', ylabel=u'szer. płatka')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"średnia: [matrix([[1. , 4.906, 1.676]]), matrix([[1. , 1.464, 0.244]])]\n",
|
||
"odchylenie standardowe: [matrix([[0. , 0.8214402 , 0.42263933]]), matrix([[0. , 0.17176728, 0.10613199]])]\n",
|
||
"(1, 3)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"XY = np.column_stack((X, Y))\n",
|
||
"XY_split = [XY[np.where(XY[:,3] == c)[0]] for c in classes]\n",
|
||
"X_split = [XY_split[c][:,0:3] for c in classes]\n",
|
||
"Y_split = [XY_split[c][:,3] for c in classes]\n",
|
||
"\n",
|
||
"X_mean = [np.mean(X_split[c], axis=0) for c in classes]\n",
|
||
"X_std = [np.std(X_split[c], axis=0) for c in classes]\n",
|
||
"print('średnia: ', X_mean) \n",
|
||
"print('odchylenie standardowe: ', X_std)\n",
|
||
"\n",
|
||
"print(X_std[0].shape)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Rysowanie średnich\n",
|
||
"def draw_means(fig, means, xmin=0.0, xmax=7.0, ymin=0.0, ymax=7.0):\n",
|
||
" class_color = {0: 'r', 1: 'g'}\n",
|
||
" classes = range(len(means))\n",
|
||
" ax = fig.axes[0]\n",
|
||
" mean_x1 = [means[c].item(0, 1) for c in classes]\n",
|
||
" mean_x2 = [means[c].item(0, 2) for c in classes]\n",
|
||
" for c in classes:\n",
|
||
" ax.plot([mean_x1[c], mean_x1[c]], [xmin, xmax],\n",
|
||
" color=class_color.get(c, 'c'), linestyle='dashed')\n",
|
||
" ax.plot([ymin, ymax], [mean_x2[c], mean_x2[c]],\n",
|
||
" color=class_color.get(c, 'c'), linestyle='dashed') "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from scipy.stats import norm\n",
|
||
"\n",
|
||
"# Prawdopodobieństwo klasy dla pojedynczej cechy\n",
|
||
"# Uwaga: jeżeli odchylenie standardowe dla danej cechy jest równe 0, \n",
|
||
"# to nie można określić prawdopodbieństwa klasy!\n",
|
||
"def prob(x, c, feature, mean, std):\n",
|
||
" sd = std[c].item(0, feature)\n",
|
||
" if sd == 0:\n",
|
||
" print('Nie można określić prawdopodobieństwa klasy dla cechy {}.!'.format(feature))\n",
|
||
" return norm(mean[c].item(0, feature), sd).pdf(x)\n",
|
||
"\n",
|
||
"# Prawdopodobieństwo klasy\n",
|
||
"# Uwaga: tu bierzemy iloczyn dwóch cech (1. i 2.), w ogólności może być ich więcej\n",
|
||
"def class_prob(x, c, mean, std, features=[1, 2]):\n",
|
||
" result = 1\n",
|
||
" for feature in features:\n",
|
||
" result *= prob(x[feature], c, feature, mean, std)\n",
|
||
" return result"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"(1, 3)\n",
|
||
"[matrix([[0. , 0.8214402 , 0.42263933]]), matrix([[0. , 0.17176728, 0.10613199]])]\n",
|
||
"[matrix([[1. , 4.906, 1.676]]), matrix([[1. , 1.464, 0.244]])]\n",
|
||
"[[1.57003335e-06 1.61965173e-23 3.09005273e-08]]\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"print(X_std[0].shape)\n",
|
||
"print(X_std)\n",
|
||
"print(X_mean)\n",
|
||
"\n",
|
||
"X_prob_0=class_prob(X, 0, X_mean, X_std)\n",
|
||
"print(X_prob_0)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Wykres prawdopodobieństw klas\n",
|
||
"def plot_prob(fig, X_mean, X_std, classes, xmin=0.0, xmax=7.0, ymin=0.0, ymax=7.0):\n",
|
||
" class_color = {0: 'r', 1: 'g'}\n",
|
||
" ax = fig.axes[0]\n",
|
||
" x1, x2 = np.meshgrid(np.arange(xmin, xmax, 0.02),\n",
|
||
" np.arange(xmin, xmax, 0.02))\n",
|
||
" for c in classes:\n",
|
||
" fun1 = lambda x: prob(x, c, 1, X_mean, X_std)\n",
|
||
" fun2 = lambda x: prob(x, c, 2, X_mean, X_std)\n",
|
||
" p = fun1(x1) * fun2(x2)\n",
|
||
" plt.contour(x1, x2, p, levels=np.arange(0.0, 1.0, 0.1),\n",
|
||
" colors=class_color.get(c, 'c'), lw=3)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"<ipython-input-10-793ac8294852>:11: UserWarning: The following kwargs were not used by contour: 'lw'\n",
|
||
" plt.contour(x1, x2, p, levels=np.arange(0.0, 1.0, 0.1),\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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R4BNmxzbkpKA9ev19w4dgI0b826bNAmYPl3P437e9HTggQeA7GzX9+Pee3X9vHnAv/4FVK8OHDmS/+s3DKByZSAzU49n7tOiBXD55UC5ckBMDPD118CPPwI33wy0bw9ERADbtul71awZYLMBOTm6ZGUB584BZ87ocTMygFOngJMngRMngKNHgWPH9LnuypfX965hQ6BRI6BJE+Cii4DERP29bNn8X09hefr75+YCI0cCH3yg5/7rL31u06bA8OHA9dcDbdoEtx0F2bEDePZZYMECfc9vv10/V7VqhbcdpYxhGOtFJDnPegZSRFQsiegXuMlu1y++s2eBV1/VL5oDB4BWrYBx44AbbtBAID92uwYtU6fmPfakScDTTwMffwwMHOj6JZ6TAyxfDgwerO2KjHRse+014NNPga++0kCiTBn9cjadOgWsXOl5X5tN22GzAcOGAR99lPe8w4cDCxfq8zy9HyLA0qXAoEGux87IAN54A3jvPQ1Cjx4FDh92BDZff63By99/63EyMzUYOns2//fQk6gofe/LlQMqVADi4nSpUgWoWhWoVk2Dtpo1daldG6hbF6hUyfcgOBhENFhOTAS+/x745hvg22+B48e1HR076t9+0CCgdevwt+377zVYXrpU39Obb9bPZUJC+NpRinkLpCwfznNeOLRX/Gw4uEE2HNxgdTOotPEljyUrS2TBAseQWZUqOlSU3yymgkoUmPWc3HOTzMf55RuZ9ZzMwo/uS//+Ig0aeN7XbJe3m/wuWpT/+1HQrVoKU4bAbtfE/tOntWxAWpoOqX31lU65T0vTGYcnT+owU7BLVATb8eOapP3EEyJXXeU6hNiggd6X7p139HVZ4ehRrW/VsqVcyIGbPFmHGCmswBwpCgXmSFHYFbbWj92ueTcjRjjKCHTqpLO43HNaCjp2drYjaIqJ0bwn58dt2rgGQPnlOR096sipKlPGteJ3tWqO2V8NGmjyupk87unY7jc/dm6zzeb9Nd17r6MsQqB1k6yctecLu11nNX7yieYSDR/umOFmLi1bakX2+fNFdu2yrq3Z2drOESMcdcI6dhR5/XUt/0GWYCBFIcFAisKuMDeHdZeWpkUZzYCnTBnthViwQHsm3I/l3rtjzp7z1iPlHOiIeJ615+mWKubviYka4N12m6PwqLfzAHrbloJ6oMxeNG/bC+rN8lVRCaQy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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(X, Y, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n",
|
||
"draw_means(fig, X_mean)\n",
|
||
"plot_prob(fig, X_mean, X_std, classes)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Prawdopodobieństwo a posteriori\n",
|
||
"def posterior_prob(x, c):\n",
|
||
" normalizer = sum(class_prob(x, c, X_mean, X_std)\n",
|
||
" * prior_prob[c]\n",
|
||
" for c in classes)\n",
|
||
" return (class_prob(x, c, X_mean, X_std) \n",
|
||
" * prior_prob[c]\n",
|
||
" / normalizer)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"source": [
|
||
"Aby teraz przewidzieć klasę $y$ dla dowolnego zestawu cech $x$, wystarczy sprawdzić, dla której klasy prawdopodobieństwo *a posteriori* jest większe:"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "skip"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Funkcja klasyfikująca (funkcja predykcji)\n",
|
||
"def predict_class(x):\n",
|
||
" p = [posterior_prob(x, c) for c in classes]\n",
|
||
" if p[1] > p[0]:\n",
|
||
" return 1\n",
|
||
" else:\n",
|
||
" return 0"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "skip"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"1\n",
|
||
"0\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"x = [1, 2.0, 0.5] # długość płatka: 2.0, szerokość płatka: 0.5\n",
|
||
"y = predict_class(x)\n",
|
||
"print(y) # 1 – To prawdopodobnie jest Iris setosa\n",
|
||
"\n",
|
||
"x = [1, 2.5, 1.0] # długość płatka: 2.5, szerokość płatka: 1.0\n",
|
||
"y = predict_class(x)\n",
|
||
"print(y) # 0 – To prawdopodobnie nie jest Iris setosa"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"source": [
|
||
"Zobaczmy, jak to wygląda na wykresie. Narysujemy w tym celu granicę między klasą 1 a 0:"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "skip"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Wykres granicy klas dla naiwnego Bayesa\n",
|
||
"def plot_decision_boundary_bayes(fig, X_mean, X_std, xmin=0.0, xmax=7.0, ymin=0.0, ymax=7.0):\n",
|
||
" ax = fig.axes[0]\n",
|
||
" x1, x2 = np.meshgrid(np.arange(xmin, xmax, 0.02),\n",
|
||
" np.arange(ymin, ymax, 0.02))\n",
|
||
" p = [posterior_prob([1, x1, x2], c) for c in classes]\n",
|
||
" p_diff = p[1] - p[0]\n",
|
||
" plt.contour(x1, x2, p_diff, levels=[0.0], colors='c', lw=3);"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 16,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"<ipython-input-15-da039958d168>:8: UserWarning: The following kwargs were not used by contour: 'lw'\n",
|
||
" plt.contour(x1, x2, p_diff, levels=[0.0], colors='c', lw=3);\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(X, Y, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n",
|
||
"plot_decision_boundary_bayes(fig, X_mean, X_std)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Dla porównania: regresja logistyczna na tych samych danych"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def powerme(x1,x2,n):\n",
|
||
" X = []\n",
|
||
" for m in range(n+1):\n",
|
||
" for i in range(m+1):\n",
|
||
" X.append(np.multiply(np.power(x1,i),np.power(x2,(m-i))))\n",
|
||
" return np.hstack(X)\n",
|
||
"\n",
|
||
"# Funkcja logistyczna\n",
|
||
"def safeSigmoid(x, eps=0):\n",
|
||
" y = 1.0/(1.0 + np.exp(-x))\n",
|
||
" if eps > 0:\n",
|
||
" y[y < eps] = eps\n",
|
||
" y[y > 1 - eps] = 1 - eps\n",
|
||
" return y\n",
|
||
"\n",
|
||
"# Funkcja hipotezy dla regresji logistycznej\n",
|
||
"def h(theta, X, eps=0.0):\n",
|
||
" return safeSigmoid(X*theta, eps)\n",
|
||
"\n",
|
||
"# Funkcja kosztu dla regresji logistycznej\n",
|
||
"def J(h,theta,X,y, lamb=0):\n",
|
||
" m = len(y)\n",
|
||
" f = h(theta, X, eps=10**-7)\n",
|
||
" j = -np.sum(np.multiply(y, np.log(f)) + \n",
|
||
" np.multiply(1 - y, np.log(1 - f)), axis=0)/m\n",
|
||
" if lamb > 0:\n",
|
||
" j += lamb/(2*m) * np.sum(np.power(theta[1:],2))\n",
|
||
" return j\n",
|
||
"\n",
|
||
"# Gradient funkcji kosztu\n",
|
||
"def dJ(h,theta,X,y,lamb=0):\n",
|
||
" g = 1.0/y.shape[0]*(X.T*(h(theta,X)-y))\n",
|
||
" if lamb > 0:\n",
|
||
" g[1:] += lamb/float(y.shape[0]) * theta[1:] \n",
|
||
" return g\n",
|
||
"\n",
|
||
"# Funkcja klasyfikująca\n",
|
||
"def classifyBi(theta, X):\n",
|
||
" prob = h(theta, X)\n",
|
||
" return prob"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 18,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Przygotowanie danych dla wielomianowej regresji logistycznej\n",
|
||
"\n",
|
||
"data = np.matrix(data_iris_setosa)\n",
|
||
"\n",
|
||
"Xpl = powerme(data[:, 1], data[:, 0], n)\n",
|
||
"Ypl = np.matrix(data[:, 2]).reshape(m, 1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 19,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Metoda gradientu prostego dla regresji logistycznej\n",
|
||
"def GD(h, fJ, fdJ, theta, X, y, alpha=0.01, eps=10**-3, maxSteps=10000):\n",
|
||
" errorCurr = fJ(h, theta, X, y)\n",
|
||
" errors = [[errorCurr, theta]]\n",
|
||
" while True:\n",
|
||
" # oblicz nowe theta\n",
|
||
" theta = theta - alpha * fdJ(h, theta, X, y)\n",
|
||
" # raportuj poziom błędu\n",
|
||
" errorCurr, errorPrev = fJ(h, theta, X, y), errorCurr\n",
|
||
" # kryteria stopu\n",
|
||
" if abs(errorPrev - errorCurr) <= eps:\n",
|
||
" break\n",
|
||
" if len(errors) > maxSteps:\n",
|
||
" break\n",
|
||
" errors.append([errorCurr, theta]) \n",
|
||
" return theta, errors"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 20,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"theta = [[ 4.01960795]\n",
|
||
" [ 3.89499137]\n",
|
||
" [ 0.18747599]\n",
|
||
" [-1.3524039 ]\n",
|
||
" [-2.00123783]\n",
|
||
" [-0.87625505]]\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Uruchomienie metody gradientu prostego dla regresji logistycznej\n",
|
||
"theta_start = np.matrix(np.zeros(Xpl.shape[1])).reshape(Xpl.shape[1], 1)\n",
|
||
"theta, errors = GD(h, J, dJ, theta_start, Xpl, Ypl, \n",
|
||
" alpha=0.1, eps=10**-7, maxSteps=100000)\n",
|
||
"print(r'theta = {}'.format(theta))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 21,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Wykres granicy klas\n",
|
||
"def plot_decision_boundary(fig, theta, Xpl, xmin=0.0, xmax=7.0):\n",
|
||
" ax = fig.axes[0]\n",
|
||
" xx, yy = np.meshgrid(np.arange(xmin, xmax, 0.02),\n",
|
||
" np.arange(xmin, xmax, 0.02))\n",
|
||
" l = len(xx.ravel())\n",
|
||
" C = powerme(yy.reshape(l, 1), xx.reshape(l, 1), n)\n",
|
||
" z = classifyBi(theta, C).reshape(int(np.sqrt(l)), int(np.sqrt(l)))\n",
|
||
"\n",
|
||
" plt.contour(xx, yy, z, levels=[0.5], colors='m', lw=3);"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 22,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"<ipython-input-21-f44dd646c57d>:10: UserWarning: The following kwargs were not used by contour: 'lw'\n",
|
||
" plt.contour(xx, yy, z, levels=[0.5], colors='m', lw=3);\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(Xpl, Ypl, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n",
|
||
"plot_decision_boundary(fig, theta, Xpl)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 23,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"<ipython-input-21-f44dd646c57d>:10: UserWarning: The following kwargs were not used by contour: 'lw'\n",
|
||
" plt.contour(xx, yy, z, levels=[0.5], colors='m', lw=3);\n",
|
||
"<ipython-input-15-da039958d168>:8: UserWarning: The following kwargs were not used by contour: 'lw'\n",
|
||
" plt.contour(x1, x2, p_diff, levels=[0.0], colors='c', lw=3);\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAFkCAYAAADrFNVeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deXxU5fU/8M/JRnZICBAIq2wuVBAoIlpbtVWLfgFpXVrbr7Za2v6sotS1td9utrZqodjaxdLFtrZq2bRqa2kbEIUgBJBFIKyBJIRsZF8mM/f8/pgZsjAbd+bmzkw+79drXmHunfvcM1c0x+c591xRVRARERHRuUuwOwAiIiKiWMVEioiIiMgkJlJEREREJjGRIiIiIjKJiRQRERGRSUykiIiIiExKsjuA7vLy8nTs2LF2h0FERETUQ3FxcY2qDum9PaoSqbFjx2Lbtm12h0FERETUg4iU+trOpT0iIiIik5hIEREREZnERIqIiIjIJCZSRERERCYxkSIiIiIyiYkUERERkUlMpIiIiIhMYiJFREREZBITKSIiIiKTmEgRERERmcREioiIiMgkJlJEREREJjGRIiIiIjKJiRQRERGRSUykiIiIiExiIkVERERkEhMpIiIiIpOYSBERERGZxESKiIiIyCQmUkREREQmMZEiIiIiMomJFBEREZFJTKSIiIiITGIiRURERGQSEykiIiIik5hIEREREZnERIqIiIjIJCZSRERERCYxkSIiIiIyiYkUERERkUlMpIiIiIhMYiJFREREZBITKSIiIiKTmEgRERERmcREioiIiMgkJlJEREREJjGRIiIiIjKJiRQRERGRSZYmUiIySERWish+EdknIpdZeT4iIiKivpRk8fjLAfxTVT8tIikA0i0+HxEREVGfsSyREpFsAFcCuBMAVNUBwGHV+YiIiIj6mpVLe+cBqAbwexHZISIrRCSj94dEZJGIbBORbdXV1RaGQ0RERBRZViZSSQCmA/ilql4CoAXAo70/pKrPq+pMVZ05ZMgQC8MhIiIiiiwrE6kyAGWqusXzfiXciRURERFRXLAskVLVSgAnRGSyZ9M1AD6w6nxEREREfc3qu/buBfCi5469IwC+YPH5iIiIiPqMpYmUqu4EMNPKcxARERHZhZ3NiYiIiExiIkVERERkEhMpIiIiIpOYSBERERGZxESKiIiIyCQmUkREREQmMZEiIiIiMomJFBEREZFJTKSIiIiITGIiRURERGQSEykiIiIik5hIEREREZnERIqIiIjIJCZSRERERCYxkSIiIiIyiYkUERERkUlMpIiIiIhMYiJFREREZBITKSIiIiKTmEgRERERmcREioiIiMgkJlJEREREJjGRIiIiIjKJiRQRERGRSUykiIiIiExiIkVERERkEhMpIiIiIpOYSBERERGZxESKiIiIyCQmUkREREQmMZEiIiIiMomJFBEREZFJTKSIiIiITGIiRURERGQSEykiIiIik5KsHFxEjgFoAuAC4FTVmVaej4iIiKgvWZpIeVylqjV9cB4iIiKiPsWlPSIiIiKTrE6kFMC/RKRYRBZZfC4iIiKiPmX10t7lqlohIkMBrBOR/ar6dvcPeBKsRQAwevRoi8MhIiIiihxLZ6RUtcLzswrAGgCzfHzmeVWdqaozhwwZYmU4RERERBFlWSIlIhkikuX9M4BrAeyx6nxEREREfc3Kpb1hANaIiPc8f1HVf1p4PiIiIqI+ZVkipapHAEy1anwiIiIiu7H9AREREZFJTKSIiIiITGIiRURERGQSEykiIiIik5hIEREREZnERIqIiIjIJCZSRERERCYxkSIiIiIyiYkUERERkUlMpIiIiIhMYiJFREREZBITKSIiIiKTmEgRERERmcREioiIiMgkJlJEREREJjGRIiIiIjKJiRQRERGRSUykiIiIiExiIkVERERkEhMpIiIiIpOYSBERERGZxESKiIiIyCQmUkREREQmMZEiIiIiMomJFBEREZFJTKSIiIiITGIiRURERGQSEykiIiIik5hIEREREZnERIqIiIjIJCZSRERERCYxkSIiIiIyiYkUERERkUlMpIiIiIhMYiJFREREZFJSqB8UkaEAUr3vVfW4JRERERERxYigM1IiMk9EDgI4CmADgGMA/hHqCUQkUUR2iMjrpqMkIiIiikKhLO19H8BsACWqOg7ANQDePYdzLAawz0RsRERERFEtlESqU1VrASSISIKqFgKYFsrgIjISwA0AVoQRIxEREVFUCqVGql5EMgG8DeBFEakC4Axx/J8CeBhAlsn4iIiIiKJWKDNS8wG0AXgAwD8BHAZwY7CDRORGAFWqWhzkc4tEZJuIbKuurg4hHCIiIqLoEEoidZuqulTV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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(Xpl, Ypl, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n",
|
||
"plot_decision_boundary(fig, theta, Xpl)\n",
|
||
"plot_decision_boundary_bayes(fig, X_mean, X_std)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Inny przykład"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 24,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Wczytanie danych (gatunki kosaćców)\n",
|
||
"\n",
|
||
"data_iris = pandas.read_csv('iris.csv')\n",
|
||
"data_iris_versicolor = pandas.DataFrame()\n",
|
||
"data_iris_versicolor['dł. płatka'] = data_iris['pl'] # \"pl\" oznacza \"petal length\"\n",
|
||
"data_iris_versicolor['szer. płatka'] = data_iris['pw'] # \"pw\" oznacza \"petal width\"\n",
|
||
"data_iris_versicolor['Iris versicolor?'] = data_iris['Gatunek'].apply(lambda x: 1 if x=='Iris-versicolor' else 0)\n",
|
||
"\n",
|
||
"m, n_plus_1 = data_iris_versicolor.values.shape\n",
|
||
"n = n_plus_1 - 1\n",
|
||
"Xn = data_iris_versicolor.values[:, 0:n].reshape(m, n)\n",
|
||
"\n",
|
||
"X = np.matrix(np.concatenate((np.ones((m, 1)), Xn), axis=1)).reshape(m, n_plus_1)\n",
|
||
"Y = np.matrix(data_iris_setosa.values[:, 2]).reshape(m, 1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"liczba przykładów: {0: 100, 1: 50}\n",
|
||
"prior probability: {0: 0.6666666666666666, 1: 0.3333333333333333}\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"classes = [0, 1]\n",
|
||
"count = [sum(1 if y == c else 0 for y in Y.T.tolist()[0]) for c in classes]\n",
|
||
"prior_prob = [float(count[c]) / float(Y.shape[0]) for c in classes]\n",
|
||
"\n",
|
||
"print('liczba przykładów: ', {c: count[c] for c in classes})\n",
|
||
"print('prior probability:', {c: prior_prob[c] for c in classes})"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 26,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(X, Y, xlabel=u'dł. płatka', ylabel=u'szer. płatka')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 27,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"średnia: [matrix([[1. , 4.906, 1.676]]), matrix([[1. , 1.464, 0.244]])]\n",
|
||
"odchylenie standardowe: [matrix([[0. , 0.8214402 , 0.42263933]]), matrix([[0. , 0.17176728, 0.10613199]])]\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"XY = np.column_stack((X, Y))\n",
|
||
"XY_split = [XY[np.where(XY[:,3] == c)[0]] for c in classes]\n",
|
||
"X_split = [XY_split[c][:,0:3] for c in classes]\n",
|
||
"Y_split = [XY_split[c][:,3] for c in classes]\n",
|
||
"\n",
|
||
"X_mean = [np.mean(X_split[c], axis=0) for c in classes]\n",
|
||
"X_std = [np.std(X_split[c], axis=0) for c in classes]\n",
|
||
"print('średnia: ', X_mean) \n",
|
||
"print('odchylenie standardowe: ', X_std)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 28,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"<ipython-input-10-793ac8294852>:11: UserWarning: The following kwargs were not used by contour: 'lw'\n",
|
||
" plt.contour(x1, x2, p, levels=np.arange(0.0, 1.0, 0.1),\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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R4BNmxzbkpKA9ev19w4dgI0b826bNAmYPl3P437e9HTggQeA7GzX9+Pee3X9vHnAv/4FVK8OHDmS/+s3DKByZSAzU49n7tOiBXD55UC5ckBMDPD118CPPwI33wy0bw9ERADbtul71awZYLMBOTm6ZGUB584BZ87ocTMygFOngJMngRMngKNHgWPH9LnuypfX965hQ6BRI6BJE+Cii4DERP29bNn8X09hefr75+YCI0cCH3yg5/7rL31u06bA8OHA9dcDbdoEtx0F2bEDePZZYMECfc9vv10/V7VqhbcdpYxhGOtFJDnPegZSRFQsiegXuMlu1y++s2eBV1/VL5oDB4BWrYBx44AbbtBAID92uwYtU6fmPfakScDTTwMffwwMHOj6JZ6TAyxfDgwerO2KjHRse+014NNPga++0kCiTBn9cjadOgWsXOl5X5tN22GzAcOGAR99lPe8w4cDCxfq8zy9HyLA0qXAoEGux87IAN54A3jvPQ1Cjx4FDh92BDZff63By99/63EyMzUYOns2//fQk6gofe/LlQMqVADi4nSpUgWoWhWoVk2Dtpo1daldG6hbF6hUyfcgOBhENFhOTAS+/x745hvg22+B48e1HR076t9+0CCgdevwt+377zVYXrpU39Obb9bPZUJC+NpRinkLpCwfznNeOLRX/Gw4uEE2HNxgdTOotPEljyUrS2TBAseQWZUqOlSU3yymgkoUmPWc3HOTzMf55RuZ9ZzMwo/uS//+Ig0aeN7XbJe3m/wuWpT/+1HQrVoKU4bAbtfE/tOntWxAWpoOqX31lU65T0vTGYcnT+owU7BLVATb8eOapP3EEyJXXeU6hNiggd6X7p139HVZ4ehRrW/VsqVcyIGbPFmHGCmswBwpCgXmSFHYFbbWj92ueTcjRjjKCHTqpLO43HNaCjp2drYjaIqJ0bwn58dt2rgGQPnlOR096sipKlPGteJ3tWqO2V8NGmjyupk87unY7jc/dm6zzeb9Nd17r6MsQqB1k6yctecLu11nNX7yieYSDR/umOFmLi1bakX2+fNFdu2yrq3Z2drOESMcdcI6dhR5/XUt/0GWYCBFIcFAisKuMDeHdZeWpkUZzYCnTBnthViwQHsm3I/l3rtjzp7z1iPlHOiIeJ615+mWKubviYka4N12m6PwqLfzAHrbloJ6oMxeNG/bC+rN8lVRCaQyM0U2bdLPwbRpIqNG6c2PnScCAJpkP2SIyNNPa4+U+fe3Sk6Ozra74w7HZIBq1TRIDuVtkchn3gIp5khRQFIWpAAAVo1aZWk7yE9yPn9m8GDXfA9v64uCQNrs/JxNm4C339Yk4n37NHfp8ss1L+jhh4EGDRz72WzAsmWaHzN8uOdcpWHDNBn5mWc851c99ZQe9+mn9Vym3FzdDgDTprnum5UF3HWXtmvpUn3uxx/nfV3lyum5GzXSdtevD9SrB+zaBYwYAaxdC1x7rff3C/CcX1UYKSn6c9Wqwu1XGDabJr8fPAjs369Laiqwdy+wZw+we7duc1a7NtC8uSbMt26tieFt2mj+ldUyMzU/btky/bsePap/y6uv1iT2vn01F4qKBCabU0gwkCrmfJmlds01VrcyeDy9XpsNuPFGDagqV9aZZO4uvhj4/Xd9PwYPzjtj0Pl4+XF+b4Ox78CBGmTt2qVBxJ49GlRkZOTdv3JlRzJ39eo6469aNU34/vJL/UI33XSTzn6sUEG/2KOjC26fr4FUTo4mrJsz+E6f1uXkSV2OH9fl6FGdkZieDqSlORabzfV4Zcpo0Niokc7ua9xYZ9Q1aaJJ40UhYDKJ6OzGL78EvvhCE9mzsrSNV12ln82rrip4UgRZwlsgVcbTk4molBg8WL/IzS/n5593fFmPHevorSgpPL3e++7TIGrsWGDGDO2t2LpVp95nZWkv0O+/AxUr6tT3G24A3n/fEQA5Bzf5BUTOgVAw923cGHjxRce+IhoMHjigPTZ//63LoUM6Ky8tDdiyxTE7zz0wAYC33tLFZBgaTJlL2bK6REbqYhjaqwdo+QO7XY+bm6uBU3a2owyCp/N5UqmSYzZfQgKQnKzT+2vXdszqq19fA0Pn2YhFzb59Glx+843OhNy/X9c3a6a9jf37a6kO9jwVW+yRooCsSV0DAOhav6vFLSG/BdJLUhzl93qXLtVegaQk13pO7vWboqKAnj2B7t2Brl21/MCcOfn34AXS+xeqnsPFi4GhQ3Ua/dix2iN06hQwe7b2mNxyi/bunDmjQZAZEOXkaJCUm6uBkYgOuRmGBj4RERrclC2rPUZRUVp/KjoaiI3VHpfYWO3xqljRUQ6hcmXHUqYY/j/fZgP++ANYswb44Qfgf//TXkJAyzz07An07g306aM9aFSssPwBEXnnz73FCmLeJ87b/ePc1wdrX19uDuzt9Trfn855u1mCYN8+kQED9GbF5nR0QCtc16ih1a5fe01k40bHTYTd73nnz416C3vDY1+F6rilgd0usmePJus/9JBIz56OmZaAVrUfMkTkhRf085DfZ5aKBYR71h6AeQDSAGz2dR8GUsXPD/t+kB/2/WB1MygQgd7t3htztpi3WWwTJ4Zm34Jm9flbc8kMLpwfHz2q09TNGXnOS3S0SIcOeusVQOsUHT0a2HtalP3wgy4l0blzIhs26I2y77tPpFcvx8w6c/Znhw4id9+t9wHcsYNBaAlkRSB1GYD2DKRKNpY/KOYKW5OpMNxrHXl6HIp983tNBdVNyq/mki81mcx6Tn376hdu/fp5A6zatUV699bnzpmjU9737y/+X7xFpfxBIE6cEPnlF5G33xaZMkV7lJo3d9xTzzlAvu02/fv99BPvb1dKeAukQjYILSLfG4bRMFTHJ6IgWLrUNYHZMPQnoOt79PB/1l5EhN4nzrx/nJkQbN4/znm6fTD3dX8NZi7U2LGa1Dt0qPfXGx1d8Pvh7djm+ogIXf/FF/r43nuBiRM1YX3zZs2h2bwZmD/fdXZduXKaj2TOOGvUyDETrUEDzSmiwOTmauL93r06y3H3bp3xuHOnTiRIS3M8NzJS/xYtW2ppC7N0QmJi8czfopAJabL5+UDqExFpnc9zRgMYDQAJCQkd9u7dG7L2UPCx/EExJ2GoI2W3e75/XKj3FclbGwnI//UOGqQ1fQp6Pzwd23nWnC81mUR0Zt3WrcD27fpF/tdf+qW+e7cmdTurXl1nqdWvrzPW6tYF6tRxzGKrVUtnuVk1gy0cdaS8EdESCocOaR2pgwcdsxXN2YupqfrTedagYej7aAavF12ks+kSE3UdZ9KRkyJb/kBEXgXwKqCz9ixuDlHpYhiee5y8rS8su117lZx16FBwr1Kg+8r5GW3Oxo/XXqOCXm9B2/M7tvm7p23uwZRhaP2jevV0Jpczu12DgD17HLWh9u3TZedOvXnt8eN52xkRoTMMnetEVaumM8aqVtWaUeasOHOmXMWKupQvb21Pi92uswPda0udOqWv9cQJLddw7JijdEN6us4WTEvLG3gCOlPQDDq7d9eevYQE7eVr1Eh/j4kJ+0ulksXyQIqISigzENq40TEkZz4uKCAKZF8z0PGnXlNB8ju22bv/4ouBnzciwhFkde/u+Tlnz2qwZfbAHDrkCCrS0jTY2LrVEXTk5BR83rJlNaCKjdUlJkZ7ZaKj9adZP6pMGUcNqYgIfV1btugxhg3T98Jud5RIcK4n5VxT6tw5fR1nzujPghiGBoFmcFirlg63Va+uv5sFR+vU0aVy5ZJZwoOKFAZSFJBZfWdZ3QQqqiZNcg2E3POeJk3S26kEe99Q5n0VdGwgNOf1JDZWh6OaNCn4uSJaSfz4ce3lOXFCf54+rT0+GRm6PTPTEdSc/f/27jw66vLe4/j7O0tWYoRQAZVFWdJTrcYVUbEgqBABlyrYUg7cU2tbpZVaey3WWnvr0kWv3ntcjlYtWhGjLBUUqahwq60oFaMgkQSVzZhgwpKFkG2e+8dMIsnMhDCQzCT5vDhzZub3zO833/kxZ/jyPM/v+9S0rB3VdF9V9VX9qMbGr4ZMMzKC9wUFwc/u8XxVtNPnCz5OSwv2ijXVlEpO/ipxS0sL1pVKT29ZWyozM5gQ9e4dfNzeoV2RTtJhc6TMbAEwBugLlAK/cc490dY+Ksgp0o00rTF3zz2R155rvf1I7duR877aOvaSJcHHV1zRddYtFJF201p70iFe+zS4Ptf4E8cf5JUi0q01rdXXer6XSDeRsJPNpWu78x93AkqkRHq8O4O/BUqkpKfRYLOIiIhIjJRIiYiIiMRIiZSIiIhIjJRIiYiIiMRIk83lsDw66dF4hyAiieBR/RZIz6RESg5Ldt/seIcgIokgW78F0jMpkZLDsmzTMgAmZ0+O+prK2kryPsqjqLyI4VnDmXbSNDKSMzorRBHpDMuCvwVMjv5bINIdqSCnHJYx88YAsHrW6ojtb217i9z5uQRcgOr6atL96XjMw/Lpyzl/UJQ1xESk6xkzJni/enU8oxDpMNEKcmqyuXSYytpKcufnUllXSXV9NQDV9dVU1gW3V9VVxTlCERGRw6NESjpM3kd5BFwgYlvABcjbkNfJEYmIiBxZSqSkwxSVFzX3RLVWXV/N5l2bOzkiERGRI0uTzaWFvfv3sm3vNooriymtLmVXzS727N9DRW0F1XXV7G/cz/6G4K2+sZ4PSz8EYPKCySR5k0j1pZLsTSbNn8Ynuz/B7/FTH6gPe590fzrD+gzTRHQREenSNNm8Bwq4AJvKNvF+yfsUfFlA0a4itu7dyuZdmynbVxZxH7/Hj9/rx2tePObBYx7MjMZAIwBej5eACwRvgQD1gXrqA/VRh/Y8eDjj2DPIL8nHMOoCdaT50vB6vJqILtIVbd8evB84ML5xiHSQaJPN1SPVA1TUVrB6y2pWb1nN2uK1fFDyAZV1lQAYxtEpR5PsS8aDh17+XlTXV+NomWA3JUaGAYS1NzEsatuBjko+irXFa1ts29ewD4CxT43lD+P/wMRhE/l6369jZof8mUWkkymBkh5KPVLdkHOO9TvXs7hgMS8Xvcy6L9YRcAGSvEn0T++PmVG2r6zF/CUPHgJE7j2Kp37p/bh46MVMyZ7ChGET6JXUK94hiUgkeaGLR6ZNi28cIh0kWo+UEqlupKi8iHn581iwYQGf7fkMgOF9huP1eNm2Z1tzj4/XvDS6xniG2i6DjhpEZkomW/dupaK2gmRvMlOypzArZxYXD70Yn8enOVYiiUJ1pKSbUyLVTTnneP2z17nv7ftYsXkFhnH6gNMBWF+6nrpAXdQJ34ci2ZtMii+FNH8aaf40UnwpJHmT2LBzQ8Rj+zy+5jlTsfJ5fDQEGoBgUjUwcyAFZQXsqtnFsRnHcunwS1mwfgEOp2KfIvGmREq6Oc2R6oZWfbaKW167hbXFa+mX3o/JIyazfud63vviPZI8Sc1JSKxJVKovlQ3Xb2DI0UPwWHiljMKyQrIfiry+VkOggfzr8jn/L+dTVR9b4c2m+AG+3Pcl2yq2keJNYcLQCVTWVfLndX9u8fqmocrc+bkU/7xYw4AiItLhVEeqCyrbV8a0hdO48OkLKa0u5fozryc9KZ1lhcvYXbMbCCZPB5vzdFzGcYweNJpkb3LEdo95WPXZqohJFMCsv81q8/hXvnBl1Innfo8fn7U/j9/fsB8AM2Plpyt5e/vbUfdXsU8REeksSqS6mDe3vskpj5zCkoIlzD1vLmcfezYP//thKmor8OChsjZ4NV60BGZw5mD+OP6P7Lx5Jztu2sGo40dR21gb8bUHFs0sLCvk3MfPZcC9Azj38XMpLCtsnocVTWlVadSCnPWBehpcQ8S2SJo+T11jHY2ukSRvUtT9VexTREQ6i4b2upC/ffw3pr4wlSFHD+Evl/2FOX+fQ1F5EYMzB7N171Z85ouaXIw/cTz3XnQvp/Y/tcX24VnDSfImUddYF7ZPkjeJYX2GcdPfb+L+Nfc3by+pLiH7oWz6p/dvM95+vfpFTaaSvEk45yIOOyZ7kpk4fCKvfvoq++r3tWhrmiTf1nCl17wMzhzcZmwicoQtXBjvCETiQj1SXcSaHWuYtnAapw84neXTlzP7ldl8XvE5Q44eQnFlMRC5F2pY72Gsu24dK2esDEuiAC4YdEHEJAqCvT+DMge1SKIOVFJd0mbMz1z+TNRhQb9FnwBfG6jlkUmPUHpzcNgykrauOmx0jbxT/E6bsYnIEda3b/Am0sMokeoCGgINXLv0Wgb0GsDy6cu5fdXtbN+7nbOOPYste7bgnCPJkxS23zUnXcPGGzZy2oDToh77rjfvavO9v7v4uzHF7PP42Fi2keXTl5ORlEG6Px0ILg2TkZTBDSNvIMWXEnHfFF8KLxe+TK+kXjx06UOs/N7KqK9tLd2fzvRvTmde/jxeKnwppthFJAbz5gVvIj2MEqkuYEnBEj768iP+dNGfKCovYsGGBWRnZfPGljc4sfeJ+L1+6gJ1LXppJg2fxPxvz8fv9TdvK64oZuaSmYz880hmLplJcUUxH5d93OZ776nZE1PMDYEGNu/azPmDzmfh1QuxA/4svHohuK8mkLe2v2F/izlO44eOZ+k1S5ufG4bf4yfZm4xhePDQJ7UPPo+PySMm8+RlTzKszzB+/9bvY4pdRGKgREp6qISqI5VxQoY74zdntNg29aSpXH/W9eyr30fu/NywfWblzGJWzizK9pVx1fNXhbX/+MwfM+3kaWzfu50ZS2aEtf981M+ZnD2ZTWWb+OFLPwxrv+2C2xh/4njyS/KZs2JOWPvd4+7m3IHn8q/t/+LW128Na39gwgPk9M/htU9f485/3BnW/uikR8num82yTcu47+37wtr/esVfuX317SzauIihvYfyQekHYUN4GUkZwUWEDxgqG3ncSFJ8KSyfvpw0fxrXLLyGvI/Cr2Q7+9izebf43bDtTfqm9Y26/t7BjDxuJGn+NFZtWRXWlupLbZ443pphDM8azsRhE3lgwgMAfG/x91ixeQXlNeVhr29dlT2nfw67a3azbe82qm6tIs2fxsT5E6mpr2mx36QRk7j53JsBGDNvTNhx9d37KwMzB5K3IY9H/v1IWPvCqQvpm9aXefnzmJc/L6y96bv38NqHef6j58PaV89aDcC9/7o3rPcw1Z/KK9NfAeB3//c7Xv/s9RbtWWlZLJq6CIC5r83l7R1vt2g//qjjeebKZwCYs2IO+SX5LdpHZI3gscmPAXDdsusoLC9s0Z7TP6fFd29HxY4W7aOOH8U94+8B4NvPf5vyfS2/l+NOGMevv/VrgJ7z3csPneOcHH339N3rtO9e099lZ4hWR0o9Ul1AaVUpWalZrN+5PuI8qMq6yhY1lzzmaTEUVlxRHDGJAtpMogCuHHFljFFDbUNtxCQKoKahJuo8J4cjKzUrbHtGUuSK5a3LPHxY+iF+jx+HY1fNrkOMWkREpP0SqkdKlc0ju3bptTy34Tmcc83LvLTm9/hxzjVftbdp9iZGZI0AYOaSmTz94dOdFu/hSvGm8GDug3z/9O+32J47P5dXNr9y0P3T/el8a/C3WPHJCqrmVpHqT+2oUEWkiSqbSzenHqkubNKISVTXV0dNoiC8LtMNy2+gMRDs8TnYPKhEs79xf1gdqJcKX2pOoprmWkVTXV/NW9vfYvSg0UqiRESkQymR6gKmZE9hUOagNpMHr3nxHPDX+dqnrzHp2UlU11Xz9b5f74wwj5h0fzrD+gxrfv7ixy9yRd4Vzc9d6E80Po+PitoKfjX6Vx0ap4gcYPny4E2kh1Ei1QV4zMP8K+a3mTwEXCBsrtCKT1Yw+IHBTBo+Keb3vnvM3THve//FketPNUn1Re4t8piHaSdPY3fNbmYsnsHleZe3mAN2MA2BBmafPZuLhl50SPGKyGFISwveRHoYJVJdxPmDz+f+S4KJSVPPVFMP1DHpx0RNssprypm6aCqDjhoUsf2h3IeY+o2pEdumfmMqs8+ZHXPMF55wIWOHjI3YNnbIWF6d8WrEGlPPfvtZ7lh9BwPuG8Az659psV/TZ/d7/GGJWNPaexeecGHzuRKRTvLww8GbSA+jyeZdzKrPVnHVC1exu2Y3404YR/9e/cOSjbYke5PJSs1i1MBRPJj7IP17BZd5+bDkQ658/kpKqkro36s/i6cu5pT+p/D4useZs2JO1DXz2jK091A2/3Qza7avYcpzU9hds5veqb1Zes1Szhl4DgBVdVXkbcij4MsCquqqeL/0fdZ+vjZqYti0DE6/9H6UVpcytPdQzhxwJis+WUFFbQW3nHcLd427K2pFdRHpIJpsLt1ctMnmHbrWnplNAP4H8AKPO+dUIfEwjT1hLEU/KeIXr/6CJ/Of5Jj0Y8jpl0N+af7BdwZqG2spripmUcEi3vjsDcadMI5pJ09jzJAxbP5p+EK/ReVFMSVRACVVwSVkzhl4Djt/sbNFW31jPfkl+SwqWMSLm16ksLyQgAtEOgwQ7IlyOFL9qVTVVbF3/15mnjqTLXu2kLcxj+ysbJZ+ZykXDL4gplhFRERi0WGJlJl5gYeAi4AdwFozW+qc29hR79lT9EntwxOXPcF1Z1zH3NfnRq3VdDC79+9mYcFCFhYEFxtN8aUwKHMQp/U/jZHHjeSMY8+gT2of0nxpbV4xGE2/9H6U7ytnR8UONn65kTWfr2Ht52spLC9kV82uNud8tZbiTaGmsQbnHJcMu4SSyhKe+uApjkk/hgcueYAfnfkjkn3JhxyjiIjI4eiwoT0zGwXc4Zy7JPR8LoBz7p5o+2hoLzYrP1lJ7vzcFuUPDuTFS4DAISUuiSDJk0RdILig8je+9g0ykzNZX7qeqvoqsrOyuXHkjczMmUmaXxNcReJOQ3vSzcVjaO84YPsBz3cAIzvw/Xqsi4ZexKpZq5jwzATqG+ubkw+A20bfRml1KcsKlzUPtQ3oNYAvqr6IV7hRZSRl0NDYQE1jDT7zMXrwaHKH5/LP7f9kccFiMpMzufqkq5lxygzGDBmDWfRyECIiIp2hI3ukrgYucc5dG3o+AzjbOfeTVq+7Drgu9PRkYEOHBNT99AVaLoJneEijDz6SaaCWfezCEX3i0aFo69h+UujNMDz4CVDPbjZTT+QVieMj/FxJNDpXh0bnq/10rtpP56r9OvNcDXbOfa31xo7skdoBDDzg+fFAcesXOeceAx4DMLN/R+o2k3A6V+2nc9V+OleHRuer/XSu2k/nqv0S4Vx15DXia4HhZnaCmSUB1wBLO/D9RERERDpVh/VIOecazGw28HeC5Q+edM591FHvJyIiItLZOrSOlHNuOXAoiy891lGxdEM6V+2nc9V+OleHRuer/XSu2k/nqv3ifq4SqrK5iIiISFeidTREREREYpQQiZSZTTCzTWa22cx+Ge94EpmZPWlmO81MZSIOwswGmtkqMysws4/M7MZ4x5SozCzFzN41sw9C5+q38Y4p0ZmZ18zeN7OX4h1LIjOzLWa23szyzUwVlw/CzI42s4Vm9nHot2tUvGNKRGaWHfpONd0qzGxOXGKJ99BeaCmZQg5YSgb4jpaSiczMLgCqgKedcyfHO55EZmYDgAHOuXVmlgG8B1yu71Y4C1Y3TXfOVZmZH3gLuNE5tybOoSUsM7sJOBM4yjk3Kd7xJCoz2wKc6ZxTXaR2MLOngDedc4+HrnhPc87tiXdciSyUR3wOjHTObe3s90+EHqmzgc3OuU+dc3XAc8BlcY4pYTnn/gHsinccXYFz7gvn3LrQ40qggGDFfWnFBVWFnvpDN02gjMLMjgcuBR6PdyzSfZjZUcAFwBMAzrk6JVHtMg74JB5JFCRGIhVpKRn9YydHlJkNAU4D3olvJIkrNFSVD+wEVjrndK6iewD4TzhCKwd0bw541czeC61kIdGdCHwJ/CU0bPy4maXHO6gu4BpgQbzePBESqUgLpul/wnLEmFkvYBEwxzlXEe94EpVzrtE5l0NwFYKzzUxDxxGY2SRgp3PuvXjH0kWc55w7HZgI3BCaniCR+YDTgUecc6cB1YDmDbchNPw5BXghXjEkQiLVrqVkRGIRmu+zCJjvnFsc73i6gtBQwmpgQpxDSVTnAVNCc3+eAy40s2fiG1Lics4Vh+53AksITueQyHYAOw7oDV5IMLGS6CYC65xzpfEKIBESKS0lIx0iNIH6CaDAOfff8Y4nkZnZ18zs6NDjVGA88HF8o0pMzrm5zrnjnXM0VXrQAAADK0lEQVRDCP5eveGc+16cw0pIZpYeutCD0BDVxWhh+qiccyXAdjPLDm0aB+jimLZ9hzgO60EHVzZvDy0lc2jMbAEwBuhrZjuA3zjnnohvVAnrPGAGsD409wfg1lDFfWlpAPBU6OoXD/C8c06X9cvh6gcsCf6fBh/wrHNuRXxDSng/AeaHOhY+Bf4jzvEkLDNLI3jF/w/jGke8yx+IiIiIdFWJMLQnIiIi0iUpkRIRERGJkRIpERERkRgpkRIRERGJkRIpERERkRgpkRKRhGFmd5jZzaHH88zsqhiPM8TM2qxXFHrNdw94PsvMHozl/USk51IiJSI91RDguwd7kYhIW5RIiUhcmdmvzGyTmb0GZLdqPj5UmDDavneY2V/N7A0zKzKzH7RqPzHU8/Smma0L3c4NNf8eGG1m+Wb2s1b7XWpmb5tZXzP7gZmtNbMPzGxRqAigiAigREpE4sjMziC4zMppwJXAWQc0p4a2ZRzkMKcAlwKjgNvN7NjQvkOB84GdwEWhhXOnAf8b2u+XwJvOuRzn3P0HxHRFqC3XOVcGLHbOneWcOxUoAL5/GB9ZRLqZuC8RIyI92mhgiXNuH4CZLQ3dX00wCbrROVd+kGO86JyrAWrMbBVwDvAD4BPn3NNmlgk8aGY5QCMwoo1jjQXOBC52zlWEtp1sZncCRwO9CC5nJSICqEdKROIvbJ0q59wLwMoY928EfnzA858BpcCpBJOkqEOFBNc2y6BlsjUPmO2c+ybwWyClnXGJSA+gREpE4ukfwBVmlmpmGcDkGI5xmZmlmFkWwQW917ZqzwS+cM4FCC5i7Q1tryR82HArweHEp83spNC2DOALM/MD02OIT0S6MSVSIhI3zrl1QB6QDywC3oz0OjP7LzObEuUw7wIvA2uA3znnilu1PwzMNLM1BHuaqkPbPwQaQpPImyebO+c2EUyYXjCzocCvgXcI9pB9fOifUkS6M3MurFddRKRLMLM7gCrn3L3xjkVEeib1SImIiIjESD1SIiIiIjFSj5SIiIhIjJRIiYiIiMRIiZSIiIhIjJRIiYiIiMRIiZSIiIhIjJRIiYiIiMTo/wHLFrn+8c6VNAAAAABJRU5ErkJggg==\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(X, Y, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n",
|
||
"draw_means(fig, X_mean)\n",
|
||
"plot_prob(fig, X_mean, X_std, classes)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 29,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"<ipython-input-15-da039958d168>:8: UserWarning: The following kwargs were not used by contour: 'lw'\n",
|
||
" plt.contour(x1, x2, p_diff, levels=[0.0], colors='c', lw=3);\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(X, Y, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n",
|
||
"plot_decision_boundary_bayes(fig, X_mean, X_std)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 30,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Przygotowanie danych dla wielomianowej regresji logistycznej\n",
|
||
"\n",
|
||
"data = np.matrix(data_iris_versicolor)\n",
|
||
"\n",
|
||
"Xpl = powerme(data[:, 1], data[:, 0], n)\n",
|
||
"Ypl = np.matrix(data[:, 2]).reshape(m, 1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 31,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"theta = [[-10.68923095]\n",
|
||
" [ 5.52649967]\n",
|
||
" [ 5.83316957]\n",
|
||
" [ -0.60707243]\n",
|
||
" [ -0.46353729]\n",
|
||
" [ -2.82974456]]\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Uruchomienie metody gradientu prostego dla regresji logistycznej\n",
|
||
"theta_start = np.matrix(np.zeros(Xpl.shape[1])).reshape(Xpl.shape[1], 1)\n",
|
||
"theta, errors = GD(h, J, dJ, theta_start, Xpl, Ypl, \n",
|
||
" alpha=0.05, eps=10**-7, maxSteps=100000)\n",
|
||
"print(r'theta = {}'.format(theta))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 32,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"<ipython-input-21-f44dd646c57d>:10: UserWarning: The following kwargs were not used by contour: 'lw'\n",
|
||
" plt.contour(xx, yy, z, levels=[0.5], colors='m', lw=3);\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAFkCAYAAADrFNVeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3de3wU9bk/8M+zu7lfSEJCAgREQEBQRBOvYK3VqkUFRFusvfrT2lNtRbAK6PH0Yisc2wOlp7TnWGqt1lOpXG2lVmtB1CLIXbnfBRMgF0Lu2ezu8/tjdskm2Ruzmexu8nm/XvPazMzOzHe3Nvkw88wzoqogIiIionNni/UAiIiIiBIVgxQRERGRSQxSRERERCYxSBERERGZxCBFREREZBKDFBEREZFJjlgPwF9+fr4OGTIk1sMgIiIiamfz5s2VqlrQcXlcBakhQ4Zg06ZNsR4GERERUTsicjTQcl7aIyIiIjKJQYqIiIjIJAYpIiIiIpMYpIiIiIhMYpAiIiIiMolBioiIiMgkBikiIiIikxikiIiIiExikCIiIiIyiUGKiIiIyCQGKSIiIiKTGKSIiIiITGKQIiIiIjKJQYqIiIjIJAYpIiIiIpMYpIiIiIhMYpAiIiIiMolBioiIiMgkBikiIiIikxikiIiIiExikCIiIiIyiUGKiIiIyCQGKSIiIiKTGKSIiIiITGKQIiIiIjKJQYqIiIjIJAYpIiIiIpMYpIiIiIhMYpAiIiIiMolBioiIiMgkBikiIiIikxikiIiIiExikCIiIiIyiUGKiIiIyCQGKSIiIiKTGKSIiIiITGKQIiIiIjKJQYqIiIjIJEuDlIjkiMhSEdkjIrtF5Gorj0dERETUnRwW738hgDdU9S4RSQaQbvHxiIiIiLqNZUFKRLIBfAbANwFAVZ0AnFYdj4iIiKi7WXlpbyiACgC/F5GtIrJYRDI6vklEHhCRTSKyqaKiwsLhEBEREXUtK4OUA8BlAH6jqpcCaAAwu+ObVPU5VS1V1dKCggILh0NERETUtawMUscBHFfVDd75pTCCFREREVGPYFmQUtUTAI6JyEjvohsA7LLqeERERETdzeq79r4H4GXvHXuHANxr8fGIiIiIuo2lQUpVtwEotfIYRERERLHCzuZEREREJjFIEREREZnEIEVERERkEoMUERERkUkMUkREREQmMUgRERERmcQgRURERGQSgxQRERGRSQxSRERERCYxSBERERGZxCBFREREZBKDFBEREZFJDFJEREREJjFIEREREZnEIEVERERkEoMUERERkUkMUkREREQmMUgRERERmcQgRURERGQSgxQRERGRSQxSRERERCYxSBERERGZxCBFREREZBKDFBEREZFJDFJEREREJjFIEREREZnEIEVERERkEoMUERERkUkMUkREREQmMUgRERERmcQgRURERGQSgxQRERGRSQxSRERERCYxSBERERGZxCBFREREZJLDyp2LyBEAdQDcAFyqWmrl8YiIiIi6k6VByut6Va3shuMQERERdSte2iMiIiIyyeogpQDeFJHNIvKAxcciIiIi6lZWX9obr6plItIPwFsiskdV1/m/wRuwHgCAwYMHWzwcIiIioq5j6RkpVS3zvp4CsALAFQHe85yqlqpqaUFBgZXDISIiIupSlgUpEckQkSzfzwBuAvCxVccjIiIi6m5WXtorBLBCRHzH+T9VfcPC4xERERF1K8uClKoeAnCJVfsnIiIiijW2PyAiIiIyiUGKiIiIyCQGKSIiIiKTGKSIiIiITGKQIiIiIjKJQYqIiIjIJAYpIiIiIpMYpIiIiIhMYpAiIiIiMolBioiIiMgkBikiIiIikxikiIiIiExikCIiIiIyiUGKiIiIyCQGKSIiIiKTGKSIiIiITGKQIiIiIjKJQYqIiIjIJAYpIiIiIpMYpIiIiIhMYpAiIiIiMolBioiIiMgkBikiIiIikxikiIiIiExikCIiIiIyiUGKiIiIyCQGKSIiIiKTGKSIiIiITGKQIiIiIjKJQYqIiIjIJAYpIiIiIpMYpIiIiIhMYpAiIiIiMolBioiIiMgkBikiIiIikxyRvlFE+gFI9c2r6ieWjIiIiIgoQYQ9IyUik0RkP4DDAN4BcATA3yI9gIjYRWSriPzV9CiJiIiI4lAkl/aeBnAVgH2qej6AGwC8fw7HmA5gt4mxEREREcW1SIJUq6pWAbCJiE1V1wAYF8nORaQYwK0AFkcxRiIiIqK4FEmNVI2IZAJYB+BlETkFwBXh/n8B4HEAWSbHR0RERBS3IjkjNRlAE4AZAN4AcBDAbeE2EpHbAJxS1c1h3veAiGwSkU0VFRURDIeIiIgoPkQSpO5WVbequlT1D6r6SxhnmcIZD2CSiBwB8AqAz4nIHzu+SVWfU9VSVS0tKCg4p8ETERERxVIkQeouEfmKb0ZEFgEIm3hUdY6qFqvqEAB3A/inqn7V9EiJiIiI4kwkNVJTAbwmIh4AXwBQraoPWTssIiIiovgXNEiJSJ7f7P0AVsJoe/BjEclT1epID6KqawGsNTlGIiIiorgU6ozUZgAKQPxeb/VOCmCo5aMjIiIiimNBg5S3+SZEJFVVm/3XiUhq4K2IiIiIeo9Iis3/FeEyIiIiol4lVI1UEYCBANJE5FIYl/YAIBtAejeMjYiIiCiuhaqRuhnANwEUA5jvt7wOwBMWjomIiIgoIYSqkfoDgD+IyJ2quqwbx0RERESUEML2kVLVZSJyK4AxAFL9lv/YyoERERERxbuwxeYi8j8ApgH4How6qS8COM/icRERERHFvUju2rtGVb8O4LSq/gjA1QAGWTssIiIiovgXSZBq8r42isgAAK0AzrduSERERESJIZJn7f1VRHIA/AzAFhhdzRdbOioiIiKiBBBJkJoHINNbdP5XAKmqesbicRERERHFvVANOad6fywGMFVEfum3Dqq63OrBEREREcWzUGekbvf7+QSAXwJ4yzuvABikiIiIqFcL1ZDzXv95EblLVZdaPyQiIiKixBBJH6m+3st6T4rIZhFZKCJ9u2FsRERERHEtkvYHrwCoADAVwF3en5dYOSgiIiKiRBDJXXt5qvq03/xPRGSKVQMiIiIiShSRnJFaIyJ3i4jNO30JwOtWD4yIiIgo3kUSpL4N4P8AtHinVwDMFJE6Eam1cnBERERE8SzspT1VzeqOgRARERElmkjOSBERERFRAAxSRERERCYxSBERERGZxCBFREREZJKpICUif+3qgRARERElmpBBSkTsIvKzAKu+ZdF4iIiIiBJGyCClqm4AJSIiHZaXWzoqIiIiogQQySNitgJYJSKvAmjwLVTV5ZaNioiIiCgBRPSsPQBVAD7nt0wBMEgRERFRrxZJZ/N7u2MgRERERIkm7F17IjJCRN4WkY+982NF5N+tHxoRERFRfIuk/cFvAcwB0AoAqroDwN1WDoqIiIgoEUQSpNJVdWOHZS4rBkNERESUSCIJUpUiMgxGgTlE5C4AbH9AREREvV4kd+09BOA5AKNE5FMAhwF81dJRERERESWASO7aOwTgRhHJAGBT1bpIdiwiqQDWAUjxHmepqv4gmsESERERxZNI7tpzi8g8AI2+ECUiWyLYdwuAz6nqJQDGAbhFRK6KarREREREcSSSGqmd3ve9KSJ53mUS4v0AADXUe2eTvJOaGiURERFRHIokSLlU9XEYbRDeFZESRBiIvA893gbgFIC3VHVDgPc8ICKbRGRTRUXFuYydiIiIKKYiCVICAKr6ZwBfAvB7AEMj2bmqulV1HIBiAFeIyEUB3vOcqpaqamlBQUHkIyciIiKKsUiC1P2+H1R1J4AJAB4+l4Ooag2AtQBuOZftiIiIiOJZJEFqqIhkAYD30TAvAPg43EYiUiAiOd6f0wDcCGCP+aESERERxZdIgtRTqlonIhMA3AzgDwB+E8F2/QGsEZEdAD6EUSP1V/NDJSIiIoovkTTkdHtfbwXwG1VdJSI/DLeR95l8l0YxNiIiIqK4FskZqU9F5H9hFJqvFpGUCLcjIiIi6tEiCURfAvB3ALd4i8bzADxm6aiIiIiIEkAkj4hpBLDcb74cfGgxERERES/REREREZnFIEVERERkEoMUERERkUkMUkREREQmMUgRERERmcQgRURERGQSgxQRERGRSQxSRERERCYxSBERERGZxCBFREQUS6rAihXGayTLu3r/Ho+1x+/hGKSIiIhiaeVKYOpUYMaMttCiasxPnWqst3L/c+ZYe/weLuyz9oiIiMhCU6YA06cDCxca8wsWGCFm4UJj+ZQp1u5/7lygpcW64/dwonF0yq60tFQ3bdoU62EQERF1L98ZIF+YAYwQs2ABIGL9/q0+fg8gIptVtbTTcgYpIiKiOKAK2Pwqbjyerg0x4fZv9fETXLAgxRopIiJKfFYXbEfD4wFmzTJegy33nRHy51+zFK1w+7f6+D0YgxQRESU+qwu2ozFnDvDss0BJSVuY8niM+WefNdb71yR5PG01TV0RZvwv2wXav8dj7fF7OlWNm6mkpESJiIjOmcejOn26KmC8BpqPFbdbddw4YyzjxnWeX7q08zj9x798eXTHX7489P4ff9za4/cQADZpgOzCGikiIuoZ4rlg2ncGatu2tmXjxgGbNxtjW7nSuDuuY81SoOXnKth+fMsnTwZWrbLu+D0Ea6SIiKjn8v3Rnz+//fL5843loZpOLl9uTFY2rLTZjNDkb/Pm9sXdZoWrDwOAO+7oHIZEAi/vTbqiti7QaapYTby0R0REpvguX/kumfkm33y4y1dWX/ryv5znPza3O/ylt3D7j/X2iewcPjuCXNqLeXjynxikiIjIlHB1SC5X8Bqqhx82pmD1VW53dPVX0Ywtkv1HWx8Wz/VlVjuHz84gRUREPVe4M1LLl3c+A+X/xzLUOtXw60PxndHyhSjV9mHq8cej23+04+uK7RNZhJ89WJBisTkRESU+9Sucttvblrvd7QupNUTTyVDrIlkfjMdjtDiYO7fz9v7Lze4/2vF11faJLILPzmJzIiLquUSMsDRzZvvlM2e2D1HBmk6GWgdE17BSBLjqqsDF3r7l4cYWriA6mvFF+/liKZLvJpJ9RPfdxf6Snm/ipT0iIjIlXK1LqDonq2ukwhU0L1sWev/LlkW3fU+ukYq2UJ41UkRERBp900kr79oL98c62qAUbvuefNdetCGQd+0RERGp8cfPV1AeaLmvzUCg9cuWGZOZbQMtDza+UIXu4fYf7fbhxhbt54ulaArlz+GzBwtSrJEiIqLEF6y5pG+5zRZ8/dSpxmS2YaWGqdPxeEI3C+24XbDPt2BB+2Vd1bE93HcXy4LzcN+tanTfTRd8dgYpIiKiUMI9EHnOnMjWl5S0329JSWTb+8JWsILoeH5gc7Qi+WyhvpvuEOg0VawmXtojIqK4E00h+/TpRsPNaBpyhtt/tMXw8Sza774LPztYI0VERGRSNA07o20WGklBdE9uqBntd9NFggUpNuQkIiKKhKq5hp2q0TUL9W3ve5//8fyXhxtfIov2u+kC3d6QU0QGicgaEdktIjtFZLpVxyIiogSnERRsW7k+3EkFDVOHE2p9tM1CIymIDje+WAr3v220332sBTpN1RUTgP4ALvP+nAVgH4DRobbhpT0iol4q2j5Q0a4PdQko2jodq2uc4r2hZjSX36LtwdUNl/YsC1KdDgSsAvD5UO9hkCIi6qXiOazEc8iLZHyxbqgZTdCLtit8Tyk2BzAEwCcAskO9j0GKiKgXi6aguyvWhxqX2WafXbG+JzTUtOq7D9estAsFC1KWF5uLSCaAdwD8VFWXB1j/AIAHAGDw4MElR48etXQ8REQUx9RkwfakScATTwDPPAM4HG3rXS5j+dy5xn4D7R/otoLluBTsc3b15w/2v21XsHLfXt1ebO49aBKAZQBeDhSiAEBVn1PVUlUtLSgosHI4REQUzzREUbGvMWOwppZ33QU8+yxQVNR+fVGRsXzOnOD7X7Gi5za0jER3NPQM9b9tPO87suNbdjlPALwI4BeRbsNLe0REvVS4OppwTS2dTtX8fGM+P994v/98a2vw/T/8sDHFa7G21awuVrdy/91YaI/urpECMAGAAtgBYJt3mhhqGwYpIqJeKtKC7mBNLX3rfeHJN/nmwxV0+xctW1hnE7esrDOyshieDTnbY0NOIqJeKlg9jm/55MlGLVSwGinf+kmTOtdIvfZa2/pQdUBAz21oGQm1qM4o3P+20dRgWbnvDmJSI0VERATA+KM8axbqms5g8ZbFmPXWLCzeshh1TWeAWbOMQPTBB53rWlSN5UD4ppYeT+AaKl8gCNXUEjBfZ+P9bGcL1zsud7ujb0hp9fYaRZ1RuP0D4RuKmhVJs1KrBTpNFauJl/aIiHqoxx/XdwdDs560acZPMxQ/hGb8NEOznrTpu4OhesUVbZfq3G5jG/86qMcfD10Ls3Rp2yWpSy4xtr3kkrZlS5cGH1u0dTb+lx0DjX3KlOguP0V7+crqXkzx3seqiyDWDTkjmRikiIh6ptrGGs160qb4ITpNWU/atK7hdOhicl9QCvbHevLkttD08MPGOl8BOaD62GPBBxdtEOg41o7zLldsO5db3R083jurdxEGKSIiipnfbv7t2TNRHaeMn2bo4s2L2wcQ/2Jytzt8Y0aXywhL/uHJF6oee6ztTFEgXdHQMtTYffuKppjbyu274vN3U1PMWAoWpFhsTkRElhftznprFp7917NB188ePxtzb5xr1BV1LCb3K4Cua6nDkp1LsL9qPy7oewGmjZmGrJSs9uONVcF4mLFHPbZYbx/r/cdYsGJzR6A3ExElEo/TA1etC+5aN9x1brjqXHDXueGu904NbngaPHA3uuFp9L42eeBp7jC1eKBOhcfp99qqUJe2vbrbJngA9RivCPZvUjEmsQlg877aAXEIxC7Ga5LxakuyQZIFtmS/1xSBLdUGW4rNeE21wZZmgz3NDluaDbZ0G+zpdtgz7LBl2GDPsMOeaczbs7w/Z9nhyHJA7CH+qPmaMk6fDixY0NZNfMYMYOFCYPnytqJsEy7oewEykjLQ0NrQaV1GUgaG5w0PXiy+eTNgs+G9T97DxJcnwqMeNLQ2ICMpAzP/PhOrv7IaEwZPCF4w7fs8Vgoz9qjHFuvtY73/OMYgRURxQVXhrnWjtbK1/VTVitbqVriqXXCddqH1dCtcp11w1bjgOuOC+4wbnmZP+AN42dJsZyd7mr0tnPimPh3CTJKtXdgRuzcI2b0/+4UkAEZwAtqClQfeOgq0hS+3XyjzD2lOhafVCG+eFg+0ReFp8sBV4zKCnn/4azKmc2FLt8HRxwF7th2OPg44sh1w5HinPhfDcfUiOBb+HY69P0fSI/8Pjhf+G0mv/BlJ//Yo7JMnI5o/h9Mu/CJmLv82kBRgXI1NmDbqTiN4bNsGjBtnBBDffEkJ6v61FhNfnog6Z93Z7XyhbOLLE1E281NkznrKCH2+MOgLgYC1f9B9ISrI2LFpE/Doo+bH5h9oY7F9OFbvP87x0h4RWcrd7IazzImWshY4y51wljnhPOE3nXKi9VQrnKecUGeQ30c2wJHrQFJeEhy5fn/8cxxGIPCFg2zj1XcW5uyZGe+rLdVmhJ4eQlXhafYYZ9yaPO3OvrnqXMZ8XdvkqjOCp6u2LYS6znhD6WlXyEAqDoEjz4Gk/CRjKkhCckEykvolIbmf32uh8erIdUD8/3jOmoX3XnkWE79mgyc97ewZJVtjE1a/5MGEoiuAjRvbgojN1i6gLJ5zMx7JfC/oGa2Fhd/Afff/2rIzaiHNmmU8hibI2DFlinHGz+zYfI+widX24Vi9/zgR7NIegxQRmeZxeeD81Inmo81o/qQZLZ+0GK/HWtBy3Jhc1a5O24lDkFzU9kc3udD4Q5xU4P1j3Nf4OalvEhx9jTMnPSkAxStPiwetVU64Bo5CK7LgQjZan18KV7XLODNY1YrWCr+zhRXGskCXNSXJ+N84uSgZyf2N15Sd66D33IAPWjfgcMphDBg+AHdecweyfvQM8NOfAk8+2fZw4bOD8gBz5mDWjYpn//WzoGOfPX4W5tZdGZsHD3vHGGzseOYZoymo2bFFW79mcf2b5fuPEwxSRGSKq9aFpgNNxnSwCc2HmtF0yHhtPtYMuNu/39HXgdRBqUgZlIKU4hSkDExB8sBkpPRPQfIA449qUl4Sg1E8UkXdjIew5N3fYH8ecEE1MO3a7yBrwaKgfwjVrWitaoXzpHFmsfZ4LTbu2IjaT2tR0FCA4uZiuE+64Sx3orWytdP2kixIGej9b8X730zq4FSkDG57deQ48Lutv8MjbzwS/IzULQtx32X3hS9GT0S9JKjEOwYpIgpK3YqmQ01o3NNoTHsb0bS3CY37GtF6qv0fv6R+SUgbmobUoalIHeKdzjOmlEEpsKfbgxyF4poq3vv+lzAxZSk8yQ40iAsZ6oDN6cLqlrsw4ed/DvvHOlAxuE1sZ4vBPU4PnCe8l3nLnMZZy0+907GWs2cytbX93yV7lh1Jg5Owzr0Ox7OP40TOCZzIOYGy3DKU55bDnm1H2aNl2HZiW8jjJ6xecuks3jFIERFUFc1HmtHwUQMaPvZOOxvQuLcR2tL2uyCpXxLSR6Yj7YI0pI9IR9rwNKQNT0PqsFQ4MnmPSk9Ut/T/MHDLV1CX0nldVgtQdtnLyLzrnuDbt9Rh4PyB7YrBz26fnIWyR8uQmZwZdhzqUThPOdFyrAXNR5vRctR4bT7ajKr9VWg81Ij0lvT2G+UC6cPT8beWv+FozlGU5ZXh07xPcTzvOGoyapCVEvnx41KoYm7/cEWWYvsDol7G0+pBw84G1G+pR/3WetRvNyZ3bdu1uJTzUpAxJgN5N+UhfXQ60i9MR/rIdCTlBri1inq0Jec3wLMrBdCWTus8qSlYMrQR94XafucSeDRwsbpHPVjy8RLcd1moPRjEJkgpSkFKUQqyL8/utL6upQ5L/7UUJ3afwPl156PEXQLPJx4c3HYQI4+NxISPJsCubWdF61PqUZZfhjXvrsHFV12M9JHpSB9l/CMhYc6eihhhCTDCk+9uOIaouMAgRdQDqEfRuLcRtRtqUfdhHeo21aF+e/3Zs0z2TDsyxmag8KuFyBybiYyxGcgYkwFHNn8FJBqraoD2Vx9AQ4AQBQAN2oID1QdDHn9/1f6A9UuA0abgQPWBiMZRVluGOW/PwZ7KPRiVPwpzb5iLAdkDztYDZU2Zgnuvvxe43ruBd/nzd67Hs//6GRwuB4pqijCweiCKq4tRXFWMgVUDMWjzIBx540hbYbwAqeelIn2U8Q+IjDEZSB+djozRGXD0icP/X/jClC9EAQxRcSIO/2shonBc9S7UbajDmffO4My/zqB2Qy3cZ4wzTfYsO7JKslD8vWJklmQi67IspA1PY3F3DxC2IWUULuh7AWywwYPOZ5VssGF43vCQx7+g7wVIdaSi2dXcaftUR6rRcDOMX3/4azy0+qGz8xvLNuLFHS9i0cRFePB4/5B1QhfMuRkZABpSXDiefxzH849jAzYAADJagIXDHsQ37/klmvZ7awF3G7WAjbsbUbO2pl3rh5TiFGRclNE2jc1AxugM2FJsHYfcfXpxw8t4xyBFlABcZ1yoebcGNWtrcOadM6jbWmfcLSdAxkUZ6DetH7Kvykb2ldlIH5XO0NQD1bXUhW5IGWUN0KCsQQFDFAB44EFhemHI42/+1uaAIQoAml3NuHXErSGPX1Zb1i5E+Xto9UOYOrMMRdOnt2/y6FcnNO2pH2HmfxYA6HxnoC05CdO+Og/2FDsyx2Yic2z770nd3trBXd6awZ2NaPi4AafXnG6rHbQD6SPTje3HtU3JhckhP1eX6OUNL+MdgxRRHPI4PahdX4vqN6tx+h+nUbepDvAYt4pnX5mNwbMHo8+EPuhzdZ/4vAxBXa6rapCC+eqKr4Zc/+UVX0awm5M86sFP3vsJUu2paHYHOCNlT8Xr+14POb45b88JefzZb8/BCwt+b8wEqBPKEsHqe9/GxN/fAI+zFQ0pxpkoW3ISVt/7NjJDXP4UuyBtWBrShqUh//b8ts/l8qBpfxMaPmpA/Y56NGxvwJl/ncGpV06dfU9y/2RkXmqc+c0syURWSRZSilPaNyON1sqVnQvL/WumrruOd+3FEH8DE8WJ5mPNqF5djarVVTj99ml4GjyAHci+MhvnPXEecj6Xg+yrsmFPS5AC2V7Mijomq2uQapprQm7X4GyABnmgYENrA/ZW7g0YogCg2d18dnzBvps9lXtCHn9v5d6wdUITzrsWZXOqsOTqbBzIA4ZXA9PWV4UMUaHYHDZkXJiBjAsz0O9L/c4ubz3daty8sa0e9VvqUbelDtVvVMN3Qi+pXxKySrOQdXkWsq/IRlZpJpLfX22+D9SUKUaLA//3+b6L664zllPMMEgRxYiqon5bPSpXVqLqtSrUb6sHAKQOSUXR14uQd3Mecq7PYUF4grGqjimih/6GEaoGKSc1B5VNlUG3zUjOgMvtCnrGaWT+SGwt3wqnx9lpfbItOWyN1aj8UdhYtjHo8UfmjwxfJ6SKzFlP4b6tfutnPdXll76ScpOQ+9lc5H429+wyd6Mb9TvqUb+5HnWbjBs+/MNVKpqQPeKPyH7ws8i+ug8yL8mAbdajkfWBEgm8Pthy6lbsI0XUjVQVdZvrUPHnClQsrUDz4WZAgD7j+6DvpL7oe2tfpF+Y3rWXBajbdFUvJSv2XVZbhoELBgZdv/JLKzHlz8HPbLz2pdcw6c+Tgq5/7973MOH3wYPitge24doXrg06/s0PbMaIX40Iun35zDIUPfWfwXspzZ8PzJwZV72WXPUu1G+uN+6m/e27qD2QhBYYZ7bE7ka2eyeyS1LR56k7kD2+D5Lzu6HeikxjHymiGGrc34iTL53EqT+dQtOBJohDkHtjLs578jz0vb0vkvvxF2hPYGUdU1ZKFlZ/ZXXQzt3hAlq4GqQVe1fg+iHXY82RNZ3WXT/kepxsOhnyrrzH3nos5P6/s/o7Ib+bdUfXYdHERQELzhdNXISif3wQuk4oJSXu6ogcmQ7kXJeDnOtygMfuAWbMQPPCl5guveQAAB/sSURBVFGL0ah1j0Ft0Y04vqMvjk3ZCQBIvzAdfa7tgz7X9kHOdTlIHZTareMlcxikiCziqnehYkkFyn9fjtr3awEBcq7PweDZg5F/Rz6S8tj0sqfpqjqmYCYMnoCyR8uw5OMlOFB9AMPzhmPaRdMiOssVSQ3S+vvX44NjH2DSK5Nwuuk0ctNy8drdr+GqQVdh1luzQt6Vd+T0kZD7P1JzJOx3M/fGuZh64VTM/sds7K3ci5H5IzHvxnkoyiwCSjV0ndDkycBVV8VvHZF3LKkLFyIV69AP64CyRXA3e1C3ydvK5F2jkL38uXIAQOrQVOR8Ngc51+cg9/pcpAwM0HaeYo5BiqiL1X9Uj7Jfl+HkH0/CXe9G+oXpGDpvKAq/WshfhHHCqqaWkdQx7avch2+u/CYO1xzG+Tnn44UpL2BEftslraANKb1qm2ux7ug67Kncg7K6Mnxh+BfaBalg20dUgwRgTL8xeOaGZ85+N2P6jYnosw3JHYLyhvKg+x+SMwS1LbVha7yKMovwwpQXOu8gkjqheK4jClLfZV+wADnX5iDn2hxgjtGKof6j+rOtTipXVOLE8ycAAGkj05B7Qy5yb8xFzvU5SMrhP8biAWukiLqAehRVf63C8V8cR82aGthSbSiYVoAB3x6A7KuyWfMUR8I9WDca4eqYvn7J17How0Wd1s24agbm3zy/UzG4z6KJi/Dg5Q9GtX7KyCkha6TKHy3HgeoDQb+bSwovQeHPC9Hkauq0bZojDdu/vR0jFgWvcdr/3f247LnLLKkfi3tRPCtPPYr67fWoWVOD02+fRs07NcYdvTYg6/Is5N2ch7xb8pB9RTbEzt8zVuJDi4ks4Gn14OQfT+KT//wETXubkDI4BQMfGoj+9/VHUl/+azHeWFkM7hMsqP3vrf+Le1YEf+jv+/e+j/G/Hx90/dYHtuLS5y41vX7/9/bjol9fhBZ358fApNhTcHj6YYz81cig383e7+7F8P8ejsbWxk7r05PScfL7J/Hi9hdDBj0rQ2xcW7EiZFf2sHft+fE4PajdUIvTb51G9ZvVqPvQ6DHnyHUg96Zc9J3YF3lfyENyAesuuxqDFFEX8rg8OPmHkzjy9BG0HG1B5rhMDHp8EAq+WACbI4aPkaCQFm9ZjEfeeCTo5aWFtyyMqqmlT72zvlMd000v3oT1n64Puk1+Wn7I9gNDc4fi0OlDwdfnDMWhmuDrry6+GjtO7gj62e8cfSeW7VoWfP2Fd2LZ7uDrfd/difoTgWucvAJ9Nz32TJRPsH5RkfaRCqG1utUIVW9Uo/qNajhPOAEx+s/1va0v+k7qi4yLMnhWvAvwrj2iLqCqqFxZiUOzD6FpXxOyLs/CiEUjkDcxj7+oEoDVxeA+qgqFwqMeKBSqisM1h0NuE64h5sn6k6HXN4ReH67Ye2/l3tDrq0Kv9313GUkZmDB4AgozCs/WVfnLTM7skrCaUCzsA5WUl4R+0/qh37R+xmXArfWoer0KVX+pwuF/P4zD/34YqeenIn9KPvLvyEefa/rwEmAXY5AiilD9R/U48PAB1KytQfqF6bho5UXoO6kvA1QC6YqmluEEazo5uM9gnGg4EXS7cA0xCzMLQ56RKswoDHlGakjOEJxuPh20fcHI/JH4+NTHQb+bkX1Drw/XcLNHX7qLE2ITZJVkIaskC0P+YwhaylpQ9dcqVK6sxKeLPsXxBceRVJiEgjsKUHBXAfpc14dn0LsAv0GiMNxNbhycfRCbLt2E+h31uODXF6B0RynyJ+czRCWYaWOmwSaBf+3ZxIZpF02Lav/+Dxb2BY6G1gbUOetw+HToM1J/uvNPIde/OPnFkOtfuuOlkOt/PfHXIdsXPHXtUyG/m3k3zgu5fuIFE4N+9okvT0S9sz7k+KjrpQxIwYAHBmDs6rEYXzkeo18ZjZxrc3DixRPYfuN2rB+4Hvse3IeadTVQT/yU+SQaBimiEGo31mLTpZtw7D+PoegbRbhy35UY+J2B/FdcgvI1tcxKzjp7ySkjKQNZyVkRNbUMJ1RDTre6YQvyK9dhc+DomaNYNLHzHX2AUay9u2o3ku2BC4iT7cnYXbk75Pabyjch1R64wWOqPRXvHH0n5HfTP6t/yPWv7389bDNSih1HlgP9pvXDmFfHYHzFeIxZOgY51+XgxAsnsO26bfhgyAc4OOsg6j9i4D1XvLRHFICq4tjPj+HwE4eR3D8ZY98ai7wb82I9LOoC0TS1DCdUDVagu+V8XB5X2IaUs96aBae783PsAMDpdka0fbiHCt932X0hv5tQ391f9v6lW+rPKHr2dDsK7ixAwZ0FcNW7UPVaFU6+fBLH5x/HsWePIXNcJgq/UYjCrxTy7r8IMEgRdeBucGP3N3ajclkl8u/Mx8jfjkRSLlsZ+LOqoWV3ibbgOdjnD1WDlWJPgUIDhqFIGlJGWt8V7fbhvptg67uj/oy6niPTgcJ7ClF4TyGcFU6ceuUUTr54EgdnHMShxw6h76S+6H9/f+TdlMci9SDY/oDIj/OUEzsm7kD91noMe3YYimcWsw6qg17bC8gr1Oe/pPASFP1XUcBeS2mONNjFjvrWzpdOIulhFW0PLKt7aHVHjy7qPg07G1D+fDlOvnQSrRWtSBmcgv7f6o/+9/dHSlHvfEJDsPYHLPQg8mopb8HWz2xF465GXLTqIgx6dBBDVAehiql7Q0FxJJ8/1D9Ol01bZro+K9r6Lqvrw6zeP3WvjDEZGP5fw3H18asx+s+jkT4iHUeeOoIPBn2AnXfvxJl/nQn533pvwkt7RDCa2m2/cTtajrdg7N/HGs+9ok5CFVP7Cop7co+gcJ9/9tuzQ97ZduzMsajqs6Kt77KyPqw79k/dz5ZsQ78v9kO/L/ZD475GlP1PGcqfL0fFkgpklWaheGYxCu4qgC2p956XYZCiXs/T6sHOO3ei6UATxr7BEBVKdzW0DPfgXqu3D1YDFe7zh2tqeaD6QMBmnZEc2yfa+i6rG2L2yoabvUT6iHQMnz8cQ348BCdfOonjC49j9z27cWjWIRTPLEb/+/vDkdn7YoVln1hEngdwG4BTqnqRVcchitbhpw6jZm0NRr00CrnX58Z6OHGtOwqKOz54d2PZRry448Wzz2uzevtQTSXDff5wTS1VFQPnDwzasJINLSkRODIdGPidgRjw7QGoWl2FYz87hoMzDuLo00dR/Egxih8uhqNP7wlUlhWbi8hnANQDeDHSIMVic+putRtqseXqLeh/X3+M/O3IWA8n7lldUFxWW4aBCwYGXV/+aHm757Z19fbhPt/e7+4N+2DfYOszkzIBQcA6skj2zWJtimdn1p/BJ898gqq/VsGR40DxzGIUTy+GI7vnBKpuLzZX1XUAqq3aP1G0VBX7v7cfyf2TMey/hsV6OAnB6oLiOW/PCbl+9j9mW7p9uBqo1ftXm25a+eAVDwYtzvXVV7GhJSWqPlf3wcV/uRglW0rQ57o+OPIfR7Bh2AYcW3AMnpbA/133FDGPiiLyAIAHAGDw4MExHg31JtV/q0bdh3UY+buRPepfTVazsqB4T+WekOv3Vu61dPtIasDMNq18+p2no66vIop3WZdm4eKVF6P2w1ocfvIwDs48iE9/+SmGzhuKgi8V9Mg7oWP+10NVnwPwHGBc2ovxcKgXKftNGZL7J6Pwa4WxHkrCsaqgeFT+KGws2xh0/cj80Jdfo93eyqaV0dZXsaElJZLsy7NxyZuXoPof1Tj4/YPYdfcu9PlVHwz/7+HIGpc4zXsj0XvvV6RezVXrQvXfq1H4lcJefdtuvJl7w9yQ6+fdOM/S7a18qHG4fc+7IfRDgaN9oDJRLOTdmIfSzaUY8dsRaNzbiM0lm7F/+n646lyxHlqX4V8Q6pVq19dCWxW5N/MuvXgyIHtAyAfvhioU74rtrawBC7fvcA8FZqE5JSqxCwbcPwBX7L0CA749AJ/+96f4cPSHqPpbVayH1iWsvGvvTwA+CyAfwEkAP1DV34XahnftUXc5tuAYDs48iGsqrkFyPh/KGW9O1J8I+ODd7tq+3llvWVPJcPu28thE8eDM+jPYe/9eNO5qRP9v9cew+cMSov9UsLv2+Kw96pUOzTmEYz8/hs84P9Mjix+JiOKZp8WDwz84jGPPHkPa8DSMXjIaWZfGd+0Un7VH5EdVARsYooiIYsCWYsOwecMwbs04uBvd2HL1FpQtLov1sExhkKJeKSkvCepUuGp7TsEjEVGiybkuB6XbSpHzmRzs+9Y+7PvuPnhcidV3ikGKeqW0EWkAgIZdgfv2EBFR90jOT8bYv43FoO8PQtmiMnw8+WO4G9yxHlbEGKSoV8q+KhsAULOmJsYjISIisQuG/WwYRvzPCFS/UY3tN29PmCsGDFLUK6UUpSDriiycWnIq6GM7iIioew349gCMXjIadRvqsOOWHXDVx3+YYpCiXqvom0Vo2N6AM++fifVQiIjIq99d/TB6yWjUbqjFzjt3wtMa3zVTDFLUaxV9vQhJ+Uk48oMjPCtFRBRHCqYWYORzI3H6zdM4MCO+nzPJIEW9lj3DjvOeOg81/6xB5fLKWA+HiIj89L+vP4ofLUbZojKcfOVkrIcTFIMUdT9VYMUK4zWS5RYa8J0ByByXiX0P7oPzlLPbjktEROENnTcU2VdnY/939qOlvCXWwwmIQYq638qVwNSpwIwZbaFJ1ZifOtVY301sSTaMenEUXGdc2P2V3QnXv4SIqCezOWwY9cIouJvcOPjYwVgPJyAGKep+U6YA06cDCxe2hakZM4z56dON9d0o8+JMjPjNCJz+x2kceOQA66WIiOJI+oh0DJo5CKdePoX6HfWxHk4nDFLU/USABQvawpTN1haiFiww1nez/ve2XYs/+vTRbj8+EREFN+ixQbBn2nHs58diPZROGKQoNnxhyl+MQpTPsGeHofAbhTjygyM48jTv5CMiihdJuUko/HohKl6tiLtGnQxSFBu+y3n+fJf5YlSMLjbBqN+NQuHXCnHkP47g4KMHoR6GKSKieNDv7n7wNHtw+q3TsR5KOwxS1P061kR5PO1rplasiFkxutgFo14YhYEPD8TxBcex866dCdFZl4iop8u+Khu2NFvcNVFmkKLut3Jl55oo/5opIKbF6GITDP/FcAxbMAyVqyqx9ZqtaNzfaOkxiYgoNFuSDekj09G4J75+H0s81YGUlpbqpk2bYj0MspqqEaamTGlfE+W/HGgLTz4xKEavfrMau768C9qqGPG/I1D45cJuOzYREbW3/ebtcNW4ULKhpNuPLSKbVbW043KekaLAoqlTcruBO+4wXiNZHujYK1cC8+e3Xz5/vrE8XPjvwhqrvJvyULq1FBkXZ2D3Pbux+2u70VrTGvH2RETUxWJ3T1JADFIUWDRNM++6y1hfVNQWmtxuY37lSmD8+ND7njPHeC3p8C+OkpLIaqS6uOFn6uBUjHtnHM77wXk4+aeT+HDMh6j8Cx8pQ0TU3ZwnnUjKT4r1MNpT1biZSkpKlOKEx6M6fbpxD9306YHng3G5VPPzjffm53eeb20NvW+XS3XcOGN+3DhVt7vzvFVjD6N2U61uvGijrsEa/fiuj7XpWJPpfRERUeTczW5dm7JWD3z/QEyOD2CTBsguMQ9P/hODVJzxDyC+KdIg4h+efJMvVIXb9/LlbaHJf71vfvlya8cehrvFrUd+ckTfSX1H38l4R4/OO6ru5jDhjoiIolL9j2pdgzVasaoiJscPFqRYbE6BeTzGJbZnngEcjrblLhcwezawfz+wbBlgt7etc7uNy3qvvgr85S/A7bcDSX6nYFtbjeW+InNVo6u5/zFFQh/7iSeAuXPbbxdMsP13kabDTTjwyAFUvVaF1KGpGDp3KAq+WACJYVNRIqKeavc3dqNyRSWuOXEN7On28Bt0MRab07mZMwd49lmjrslfURHw858Dq1aFr4HKymq/bVZWW42Sr2bJn6+madUq49ilHf57LS01lq9aFX78ofbfRdLOT8PFqy7G2DfHwp5ux65pu7Dlqi04/XZ8NYsjIkp0zZ8049SfTqHw64UxCVGhMEhRYM88A+TnA5WVxqvL1Tafl9f2sy9MFRW1vXfdOiA1FWhuNl5bW9vP33Zb6IackyYB48YB27YZr253+/nJk0OP3Reigu2/i8/C5n0+D6XbSjHy+ZFwljux/cbt2Hb9NtSsq+nS4xAR9VaHnjgE2IDBjw+O9VA6C3S9L1YTa6TiiK9OKVCdE6D66qvBa6CmTDHmU1Pbr/fNX3FF55ol/5qmxx+PrkbKN/Zg+4+kxsokV5NLj/3imL5f9L6uwRrdct0WrXqzSj1dUJtFRNQbVfylQtdgjR7690MxHQdYI0XnRL29nCZN6lyn9NprRp2Tx9N5nd3evlaqY43UF7/YVkMVrCHn5MnG5bvJkzvXYK1a1Xm7YGMP1fDT4jomd5Mb5c+V45OffQLnp05kXpaJwY8PRv6d+bA5eCKYiCgSTUeasLl0M1KKU1CyoQS2lNj9/mSNVE+jUTad9HiAWbOM10DLW1uNou7LLmu//rLLgB//GEhPBwo7dPkuLATS0oCGBuCDD4BHHmm//pFHjOUtLcDjjxvBy5/L1ba8G2qcrGRPs6N4ejGuOngVRi4eCXe9G7vu3oUNwzbg2H8dY1NPIqIwWqtb8dGtH0FdijGvjolpiAop0GmqWE28tHcOor185X/5zNeXyb9fU2Fh2yW1sWONdWPHtr/UBqj27Wtczuvbt/M6QPWhh4xxPfRQ2zKbzXi121WdTuPYTqcx3/HYDz9sbP/ww23Lli2z9ruxgMft0YqVFbrlM1t0DdboO+nv6N5/26t1O+q6fSxERPHOWe3UTZdv0rXJa7X6n9WxHo6qBr+0F/Pw5D8xSJ2DaJtOBmpy6T8/c2ZbcElJMZpopqQEDktNTe3nL7us7WcR1ZYW49W37OWX20KTL0z5zy9ZEl2QsrAhZ1eo3VKru7+5W9emrDXqqCZs0fKXytXV6IrpuIiI4kHzp826cexGXZu8Vitei03PqEAYpHqiaJtO+ocn/4Jut9uYvv/9zuEpJUV1xgzV224LHKpuv90IXUuWtA9PvlC1ZIkxPv/w5Jt8ocrjMcKSf3jyhaplyyL7fBY25OwqzkqnHv3ZUf1g+Ae6Bmv03Zx3de9De7V2c22sh0ZEFBNnNp7R9we+r+sy12nVm1WxHk47wYIUi80TnQZpOqkRFlx7PJ0Luv3353J1Lhi324193HKLUSvl09gIvPGG0d5gwgRgzRogI6NtfUMDcP31wPvvG0Xqra1AcnLbeqez/bGCfbZov5s4ox5FzdoalP+2HBUrKqAtioxLMlD09SL0u6cfUopSYj1EIiJLqSrK/qcMB2YcQHJRMi5edTEyL8mM9bDaYbF5T6QhCrIjeXCvxxP4wcC+AnSXK3BTzaVLjX34hyjAmJ86FRg9Gti4sX2IAoz5jRuNhp2trUZhur+0NGN5uM8WiWi370ZiE+R+Lhej/zQa15RfgwsWXQBbsg0HHz2I9QPXY/vN23HixRNw1brC74yIKMG0nGjBx1M+xv4H9yPnszko2VQSdyEqpECnqWI18dLeOQhXB+R2R/dg4JaWtr5PqanG5TrfvMPR/pJZY2P7+crK9vMNDe3na2pC10i1tERX4xTnNVKRqt9drwefOKjrh6zXNVija1PW6kd3fKQnl5xUVz3rqYgosXncHi17vkzfzX1X16as1U/mf6Ied/z+fgZrpHqYSO5MC1UnFO6uvaKi9iFKtX2YimYKd9ee79hm77qLw7v2ouHxeLTm/Rrd9719Zxt9vpP2jn409SM98fIJba1pjfUQiYjOSe2mWt08fvPZG27qd9fHekhhBQtSrJFKVBphDZQGqRPyPRi44wOAfcuffhq49tq2eiYflwu44gpg717jkTAda6Ty84HycmDkSODgwc41UsOGAQcOGI962bWrc/3V6NHAzp3A66+bb6gZ6XeTgNStqHm3BhVLK1C5vBLOcickSZB7Qy7yp+Sj7+19kTKANVVEFJ+ajjThyH8cwcmXTiKpIAlD5w1F0TeLILb4/50crEbK0iAlIrcAWAjADmCxqs4L9X4GqS6m2vbMOZ/p04EFC6IPEuH27auvam5uW5+aCtTVtQ9mZJp6FLXra1G5shIVKyrQfND4rjNLMpF/ez763tYXmZdmJsQvKCLq2Zo/acYn8z5B+eJyiF0wcPpAnDfnPDj6JM7fg24vNhcRO4BFAL4AYDSAL4vIaKuORx34B52ufnBvuH23traFqI4PLc7K6tzRnEwRm6DP+D4Y9rNhuHL/lbj848tx/tzzYUu24ciPjmBz6WasH7gee+7dg1N/PoXWanZTJ6Lu1bCrAXvu24MNwzagfHE5iv5fEa48cCWGzRuWUCEqFCs/xRUADqjqIQAQkVcATAawy8Jjks/KlW1Bx3eWaMECY93ChcB11wF33GHNvl9/vS1E+c5A1dW1havx44ENG7rmcxIAQESQMSYDGWMycN7s8+A85UT136tR9XoVKldV4sQLJwAbkH1FNnJvykXu53ORfWU2bEm8cZeIupZ6FKffOo3jvzyO6tXVsKXZMODfBmDQY4OQOjg11sPrcpZd2hORuwDcoqr3e+e/BuBKVf1usG14aa8LWVknFG7fvj5Sgeqrxo/vvJws5XF5UPdhHar/Vo3qN6tR92Ed4AEGPzEYQ386NNbDI6Ie5sz6M9h6zVYkFSZh4IMDMeDBAUjOTw6/YZwLdmnPyr9mgf5Kd0ptIvIAgAe8sy0i8rGFY+rJ8gFUxnoQ7fgXkkeyPHbi77vrDs94p+j0zu+ua/C7iw6/P/O657s7CeAH3qlnOC/QQiuD1HEAg/zmiwGUdXyTqj4H4DkAEJFNgdIehcfvzjx+d+bxuzOP3110+P2Zx++ua1lZIPEhgAtE5HwRSQZwN4DXLDweERERUbey7IyUqrpE5LsA/g6j/cHzqrrTquMRERERdTdLK35VdTWA1eewyXNWjaUX4HdnHr878/jdmcfvLjr8/szjd9eF4qqzOREREVEiYRMZIiIiIpPiIkiJyC0isldEDojI7FiPJ5GIyPMicoptI86diAwSkTUisltEdorI9FiPKVGISKqIbBSR7d7v7kexHlOiERG7iGwVkb/GeiyJRESOiMhHIrJNRNh48ByISI6ILBWRPd7fe1fHekw9Qcwv7XkfJbMPwOdhtEz4EMCXVZUd0CMgIp8BUA/gRVW9KNbjSSQi0h9Af1XdIiJZADYDmML/9sITEQGQoar1IpIE4D0A01X1gxgPLWGIyEwApQCyVfW2WI8nUYjIEQClqsoeUudIRP4A4F1VXey9mz5dVWtiPa5EFw9npM4+SkZVnQB8j5KhCKjqOgDVsR5HIlLVclXd4v25DsBuAANjO6rEoIZ672ySd2LBZYREpBjArQAWx3os1DuISDaAzwD4HQCoqpMhqmvEQ5AaCOCY3/xx8I8ZdTMRGQLgUgB8CGCEvJemtgE4BeAtVeV3F7lfAHgcgCfWA0lACuBNEdnsfTIGRWYogAoAv/deUl4sIhmxHlRPEA9BKqJHyRBZRUQyASwD8Iiq1sZ6PIlCVd2qOg7GUwuuEBFeWo6AiNwG4JSqbo71WBLUeFW9DMAXADzkLW+g8BwALgPwG1W9FEADANYkd4F4CFIRPUqGyAre+p5lAF5W1eWxHk8i8l4eWAvglhgPJVGMBzDJW+vzCoDPicgfYzukxKGqZd7XUwBWwCgPofCOAzjud+Z4KYxgRVGKhyDFR8lQTHgLpn8HYLeqzo/1eBKJiBSISI735zQANwLYE9tRJQZVnaOqxao6BMbvu3+q6ldjPKyEICIZ3htD4L0sdRMA3rEcAVU9AeCYiIz0LroBAG+s6QKWdjaPBB8lEx0R+ROAzwLIF5HjAH6gqr+L7agSxngAXwPwkbfWBwCe8Hbkp9D6A/iD965bG4A/qypv4yerFQJYYfwbCA4A/6eqb8R2SAnlewBe9p60OATg3hiPp0eIefsDIiIiokQVD5f2iIiIiBISgxQRERGRSQxSRERERCYxSBERERGZxCBFREREZBKDFBHFDRH5oYh83/vzCyJyl8n9DBGRkP2FvO+5x2/+myLyKzPHI6Lei0GKiHqrIQDuCfcmIqJQGKSIKKZE5EkR2Ssi/wAwssPqYm/zwGDb/lBEXhKRf4rIfhH5Vof1Q71nnt4VkS3e6Rrv6nkArhWRbSIyo8N2t4rIehHJF5FviciHIrJdRJaJSHpXfG4i6hkYpIgoZkSkBMZjUi4FMBXA5X6r07zLssLsZiyAWwFcDeA/RGSAd9thACYAOAXg894H3U4D8EvvdrMBvKuq41R1gd+Y7vCum6iqlQCWq+rlqnoJgN0A7oviIxNRDxPzR8QQUa92LYAVqtoIACLymvf1izBC0HRVrQqzj1Wq2gSgSUTWALgKwLcAHFTVF0WkD4Bficg4AG4AI0Ls63oApQBuUtVa77KLROQnAHIAZMJ4nBUREQCekSKi2Ov0nCpVfRXAWya3dwP4jt/8DAAnAVwCIyQFvVQI4/ljWWgftl4A8F1VvRjAjwCkRjguIuoFGKSIKJbWAbhDRNJEJAvA7Sb2MVlEUkWkL4wHeH/YYX0fAOWq6oHxkGq7d3kdOl82PArjcuKLIjLGuywLQLmIJAH4ionxEVEPxiBFRDGjqlsALAGwDcAyAO8Gep+I/FhEJgXZzUYArwP4AMDTqlrWYf2vAXxDRD6Acaapwbt8BwCXt4j8bLG5qu6FEZheFZFhAJ4CsAHGGbI95/4piagnE9VOZ9WJiBKCiPwQQL2q/jzWYyGi3olnpIiIiIhM4hkpIiIiIpN4RoqIiIjIJAYpIiIiIpMYpIiIiIhMYpAiIiIiMolBioiIiMgkBikiIiIik/4/teW80BQ2EN4AAAAASUVORK5CYII=\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(Xpl, Ypl, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n",
|
||
"plot_decision_boundary(fig, theta, Xpl)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 33,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"<ipython-input-21-f44dd646c57d>:10: UserWarning: The following kwargs were not used by contour: 'lw'\n",
|
||
" plt.contour(xx, yy, z, levels=[0.5], colors='m', lw=3);\n",
|
||
"<ipython-input-15-da039958d168>:8: UserWarning: The following kwargs were not used by contour: 'lw'\n",
|
||
" plt.contour(x1, x2, p_diff, levels=[0.0], colors='c', lw=3);\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAFkCAYAAADrFNVeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeZwU9Zk/8M+3u+fsuZlhZpjhEBAQFNBBRPGI0VVDjOAVzLFJXF2zq4koRhETf7lWcU0iIbuaXYMaNW7UcGkiGk0yiAeIDKccww0DczD3PdNHPb8/qpvpOfqwumu6e+bzfr3q1VNVXVVPlzj9zLeeekqJCIiIiIjo87NEOwAiIiKieMVEioiIiMggJlJEREREBjGRIiIiIjKIiRQRERGRQUykiIiIiAyyRTsAX7m5uTJu3Lhoh0FERETUS1lZWZ2I5PVdHlOJ1Lhx47B169Zoh0FERETUi1Lq+EDLeWmPiIiIyCAmUkREREQGMZEiIiIiMoiJFBEREZFBTKSIiIiIDGIiRURERGQQEykiIiIig5hIERERERnERIqIiIjIICZSRERERAYxkSIiIiIyiIkUERERkUFMpIiIiIgMYiJFREREZBATKSIiIiKDmEgRERERGcREioiIiMggJlJEREREBjGRIiIiIjKIiRQRERGRQUykiIiIiAxiIkVERERkEBMpIiIiIoOYSBEREREZxESKiIiIyCAmUkREREQGMZEiIiIiMoiJFBEREZFBTKSIiIiIDGIiRURERGQQEykiIiIig5hIERERERnERIqIiIjIICZSRERERAYxkSIiIiIyiIkUERERkUFMpIiIiIgMYiJFREREZJCpiZRSKksptUoptV8ptU8pdbGZxyMiIiIaTDaT978CwDsicotSKhFAqsnHIyIiIho0piVSSqkMAJcD+A4AiIgDgMOs4xERERENNjMv7Y0HUAvgBaXUdqXUSqWUve+blFJ3KaW2KqW21tbWmhgOERERUWSZmUjZAFwA4Lcicj6AdgAP932TiDwrIrNEZFZeXp6J4RARERFFlpmJ1EkAJ0XkE8/8KuiJFREREdGQYFoiJSLVACqUUpM9i64CsNes4xERERENNrPv2vs+gFc8d+wdAXC7yccjIiIiGjSmJlIisgPALDOPQURERBQt7GxOREREZBATKSIiIiKDmEgRERERGcREioiIiMggJlJEREREBjGRIiIiIjKIiRQRERGRQUykiIiIiAxiIkVERERkEBMpIiIiIoOYSBEREREZxESKiIiIyCAmUkREREQGMZEiIiIiMoiJFBEREZFBTKSIiIiIDGIiRURERGQQEykiIiIig5hIERERERnERIqIiIjIICZSRERERAYxkSIiIiIyiIkUERERkUFMpIiIiIgMYiJFREREZBATKSIiIiKDmEgRERERGcREioiIiMggJlJEREREBjGRIiIiIjKIiRQRERGRQUykiIiIiAxiIkVERERkEBMpIiIiIoOYSBEREREZZDNz50qpYwBaAbgBuERklpnHIyIiIhpMpiZSHleKSN0gHIeIiIhoUPHSHhEREZFBZidSAuBdpVSZUuouk49FRERENKjMvrQ3V0QqlVIjAbynlNovIht93+BJsO4CgDFjxpgcDhEREVHkmDoiJSKVntfTANYCmD3Ae54VkVkiMisvL8/McIiIiIgiyrRESillV0qle38GcA2Az8w6HhEREdFgM/PSXj6AtUop73H+T0TeMfF4RERERIPKtERKRI4AmGHW/omIiIiije0PiIiIiAxiIkVERERkEBMpIiIiIoOYSBEREREZxESKiIiIyCAmUkREREQGMZEiIiIiMoiJFBEREZFBTKSIiIiIDGIiRURERGQQEykiIiIig5hIERERERnERIqIiIjIICZSRERERAYxkSIiIiIyiIkUERERkUFMpIiIiIgMYiJFREREZBATKSIiIiKDmEgRERERGcREioiIiMggJlJEREREBjGRIiIiIjKIiRQRERGRQUykiIiIiAxiIkVERERkEBMpIiIiIoOYSBEREREZxESKiIiIyCAmUkREREQGMZEiIiIiMoiJFBEREZFBTKSIiIiIDGIiRURERGQQEykiIiIig2yhvlEpNRJAsndeRE6YEhERERFRnAg6IqWUukEpdRDAUQDvAzgG4O1QD6CUsiqltiul/mI4SiIiIqIYFMqlvZ8DmAPggIicBeAqAB99jmMsArDPQGxEREREMS2URMopIvUALEopi4iUApgZys6VUsUAvgxgZRgxEhEREcWkUGqkmpRSaQA2AnhFKXUagCvE/f8awEMA0g3GR0RERBSzQhmRmg+gE8D9AN4BcBjA9cE2UkpdD+C0iJQFed9dSqmtSqmttbW1IYRDREREFBtCSaRuExG3iLhE5EUR+Q30UaZg5gK4QSl1DMCrAL6olPpD3zeJyLMiMktEZuXl5X2u4ImIiIiiKZRE6hal1De8M0qppwEEzXhEZKmIFIvIOAC3AfiHiHzTcKREREREMSaUGqmbALyplNIAfAlAg4jcY25YRERERLHPbyKllMrxmb0TwDrobQ9+ppTKEZGGUA8iIhsAbDAYIxEREVFMCjQiVQZAACif1y97JgEw3vToiIiIiGKY30TK03wTSqlkEenyXaeUSh54KyIiIqLhI5Ri849DXEZEREQ0rASqkSoAUAQgRSl1PvRLewCQASB1EGIjIiIiimmBaqSuBfAdAMUAnvJZ3grgERNjIiIiIooLgWqkXgTwolLqZhFZPYgxEREREcWFoH2kRGS1UurLAKYBSPZZ/jMzAyMiIiKKdUGLzZVS/wNgIYDvQ6+TuhXAWJPjIiIiIop5ody1d4mIfAtAo4j8FMDFAEabGxYRERFR7Aslker0vHYopUYBcAI4y7yQiIiIiOJDKM/a+4tSKgvALwBsg97VfKWpURERERHFgVASqScApHmKzv8CIFlEmk2Oi4iIiCjmBWrIeZPnx2IANymlfuOzDiKyxuzgiIiIiGJZoBGpr/j8XA3gNwDe88wLACZSRERENKwFash5u++8UuoWEVllfkhERERE8SGUPlIjPJf1fqiUKlNKrVBKjRiE2IiIiIhiWijtD14FUAvgJgC3eH5+zcygiIiIiOJBKHft5YjIz33m/0MptcCsgIiIiIjiRSgjUqVKqduUUhbP9FUAb5kdGBEREVGsCyWR+i6A/wPQ7ZleBbBYKdWqlGoxMzgiIiKiWBb00p6IpA9GIERERETxJpQRKSIiIiIaABMpIiIiIoOYSBEREREZxESKiIiIyCBDiZRS6i+RDoSIiIgo3gRMpJRSVqXULwZY9a8mxUNEREQUNwImUiLiBlCilFJ9lleZGhURERFRHAjlETHbAbyhlPoTgHbvQhFZY1pURERERHEgpGftAagH8EWfZQKAiRQRERENa6F0Nr99MAIhIiIiijdB79pTSk1SSv1dKfWZZ366UupH5odGREREFNtCaX/wOwBLATgBQER2AbjNzKCIiIiI4kEoiVSqiGzps8xlRjBERERE8SSURKpOKTUBeoE5lFK3AGD7AyIiIhr2Qrlr7x4AzwKYopQ6BeAogG+aGhURERFRHAjlrr0jAK5WStkBWESkNZQdK6WSAWwEkOQ5zioR+XE4wRIRERHFklDu2nMrpZ4A0OFNopRS20LYdzeAL4rIDAAzAVynlJoTVrREREREMSSUGqk9nve9q5TK8SxTAd4PABBdm2c2wTOJoSiJiIiIYlAoiZRLRB6C3gbhA6VUCUJMiDwPPd4B4DSA90TkkwHec5dSaqtSamttbe3niZ2IiIgoqkJJpBQAiMjrAL4K4AUA40PZuYi4RWQmgGIAs5VS5w7wnmdFZJaIzMrLyws9ciIiIqIoCyWRutP7g4jsAXApgHs/z0FEpAnABgDXfZ7tiIiIiGJZKInUeKVUOgB4Hg3zewCfBdtIKZWnlMry/JwC4GoA+42HSkRERBRbQkmkHhWRVqXUpQCuBfAigN+GsF0hgFKl1C4An0KvkfqL8VCJiIiIYksoDTndntcvA/itiLyhlPpJsI08z+Q7P4zYiIiIiGJaKCNSp5RS/wu90Hy9UiopxO2IiIiIhrRQEqKvAvgrgOs8ReM5AB40NSoiIiKiOBDKI2I6AKzxma8CH1pMRERExEt0REREREYxkSIiIiIyiIkUERERkUFMpIiIiIgMYiJFREREZBATKSIiIiKDmEgRERERGcREioiIiMggJlJEREREBjGRIiIiiiYRYO1a/TWU5ZHev6aZe/whjokUERFRNK1bB9x0E3D//T1Ji4g+f9NN+noz9790qbnHH+KCPmuPiIiITLRgAbBoEbBihT6/fLmexKxYoS9fsMDc/S9bBnR3m3f8IU5JDA3ZzZo1S7Zu3RrtMIiIiAaXdwTIm8wAehKzfDmglPn7N/v4Q4BSqkxEZvVbzkSKiIgoBogAFp+KG02LbBITbP9mHz/O+UukWCNFRETxz+yC7XBoGrBkif7qb7l3RMiXb81SuILt3+zjD2FMpIiIKP6ZXbAdjqVLgSefBEpKepIpTdPnn3xSX+9bk6RpPTVNkUhmfC/bDbR/TTP3+EOdiMTMVFJSIkRERJ+bpoksWiQC6K8DzUeL2y0yc6Yey8yZ/edXreofp2/8a9aEd/w1awLv/6GHzD3+EAFgqwyQu7BGioiIhoZYLpj2jkDt2NGzbOZMoKxMj23dOv3uuL41SwMt/7z87ce7fP584I03zDv+EMEaKSIiGrq8X/pPPdV7+VNP6csDNZ1cs0afzGxYabHoSZOvsrLexd1GBasPA4Abb+yfDCk18PLhJBK1dQMNU0Vr4qU9IiIyxHv5ynvJzDt554NdvjL70pfv5Tzf2Nzu4Jfegu0/2tvHs8/x2eHn0l7UkyffiYkUEREZEqwOyeXyX0N177365K++yu0Or/4qnNhC2X+49WGxXF9mts/x2ZlIERHR0BVsRGrNmv4jUL5floHWiQRfH4h3RMubRIn0TqYeeii8/YcbXyS2j2chfnZ/iRSLzYmIKP6JT+G01dqz3O3uXUgtAZpOBloXynp/NE1vcbBsWf/tfZcb3X+48UVq+3gWwmdnsTkREQ1dSunJ0uLFvZcvXtw7ifLXdDLQOiC8hpVKAXPmDFzs7V0eLLZgBdHhxBfu54umUM5NKPsI79xF/5Ked+KlPSIiMiRYrUugOieza6SCFTSvXh14/6tXh7f9UK6RCrdQnjVSREREEn7TSTPv2gv2ZR1uohRs+6F81164SSDv2iMiIhL9y89bUD7Qcm+bgYHWr16tT0a2HWi5v/gCFboH23+42weLLdzPF03hFMp/js/uL5FijRQREcU/f80lvcstFv/rb7pJn4w2rJQgdTqaFrhZaN/t/H2+5ct7L4tUx/Zg5y6aBefBzq1IeOcmAp+diRQREVEgwR6IvHRpaOtLSnrvt6QktO29yZa/guhYfmBzuEL5bIHOzWAYaJgqWhMv7RERUcwJp5B90SK94WY4DTmD7T/cYvhYFu65j+BnB2ukiIiIDAqnYWe4zUJDKYgeyg01wz03EeIvkWJDTiIiolCIGGvYKRJes1Dv9t73+R7Pd3mw+OJZuOcmAga9IadSarRSqlQptU8ptUcptcisYxERUZyTEAq2zVwfbFBBgtThBFofbrPQUAqig8UXTcH+24Z77qNtoGGqSEwACgFc4Pk5HcABAFMDbcNLe0REw1S4faDCXR/oElC4dTpm1zjFekPNcC6/hduDaxAu7ZmWSPU7EPAGgH8K9B4mUkREw1QsJyuxnOSFEl+0G2qGk+iF2xV+qBSbAxgH4ASAjEDvYyJFRDSMhVPQHYn1geIy2uwzEuuHQkNNs859sGalEeQvkTK92FwplQbgfQCPiciaAdbfBeAuABgzZkzJ8ePHTY2HiIhimBgs2L7hBuCRR4DHHwdstp71Lpe+fNkyfb8D7R8YtILlmOTvc0b68/v7bxsJZu7bY9CLzT0HTQCwGsArAyVRACAiz4rILBGZlZeXZ2Y4REQUyyRAUbG3MaO/ppa33AI8+SRQUNB7fUGBvnzpUv/7X7t26Da0DMVgNPQM9N82lvcd2vFNu5ynALwE4NehbsNLe0REw1SwOppgTS0dDpHcXH0+N1d/v++80+l///feq0+xWqxtNrOL1c3c/yAW2mOwa6QAXApAAOwCsMMzzQu0DRMpIqJhKtSCbn9NLb3rvcmTd/LOByvo9i1aNrHOJmaZWWdkZjE8G3L2xoacRETDlL96HO/y+fP1Wih/NVLe9Tfc0L9G6s03e9YHqgMChm5Dy1CISXVGwf7bhlODZea++4hKjRQREREA/Ut5yRK0djZj5baVWPLeEqzcthKtnc3AkiV6QrR5c/+6FhF9ORC8qaWmDVxD5U0IAjW1BIzX2Xg+25nC9b7L3e7wG1Kavb2EUWcUbP9A8IaiRoXSrNRsAw1TRWvipT0ioiHqoYfkgzGQ9B9axP6YXfATiP0xu6T/0CIfjIHI7Nk9l+rcbn0b3zqohx4KXAuzalXPJakZM/RtZ8zoWbZqlf/Ywq2z8b3sOFDsCxaEd/kp3MtXZvdiivU+VhGCaDfkDGViIkVENDS1dDRJ+g8tgp+g35T+Q4u0tjcGLib3Jkr+vqznz+9Jmu69V1/nLSAHRB580H9w4SYCfWPtO+9yRbdzudndwWO9s3qEMJEiIqKo+V3Z786MRPWd7I/ZZWXZyt4JiG8xudsdvDGjy6UnS77JkzepevDBnpGigUSioWWg2L37CqeY28ztI/H5B6kpZjT5S6RYbE5ERKYX7S55bwme/PhJv+sfnvswll29TK8r6ltM7lMA3drditf2vIaD9Qdx9oizsXDaQqQnpfeON1oF40FiDzu2aG8f7f1Hmb9ic9tAbyYiiieaQ4OrxQV3ixvuVjdcrS64W91wt3mmdje0dg3uDje0Ds9rpwatq8/UrUEcAs3h8+oUiEt6Xt09EzRANP0V/v4mVfqkLAqweF6tgLIpKKvSXxP0V0uCBSpRwZLo85qkYEm2wJJk0V+TLbCkWGBNscKSYoEl1QJrqhVWuxUWuwVWuxXWNH3emu75Od0KW7oNyhrgS83blHHRImD58p5u4vffD6xYAaxZ01OUbcDZI86GPcGOdmd7v3X2BDsm5kz0XyxeVgZYLPjwxIeY98o8aKKh3dkOe4Idi/+6GOu/sR6XjrnUf8G09/OYKUjsYccW7e2jvf8YxkSKiGKCiMDd4oazztl7qnfC2eCEq8EFV6MLzkYnXI0uuJpccDW74G52Q+vSgh/Aw5JiOTNZU6w9yYl3yuyTzCRYeiU7yupJhKyen32SJAB64gT0JFYaPHUU6Em+3D5JmW+S5hBoTj1507o1SLdA69TganLpiZ5v8tepT5+HJdUCW6YN1gwrbJk22DJssGV5pszzYLv4adhW/BW28l8i4b5/ge33/4WEV19Hwr89AOv8+Qjn63DhObdi8ZrvAgkDxNXRiYVTbtYTjx07gJkz9QTEO19SgtaPN2DeK/PQ6mg9s503KZv3yjxULj6FtCWP6kmfNxn0JoGAuV/o3iTKT+zYuhV44AHjsfkmtNHYPhiz9x/jeGmPiEzl7nLDUelAd2U3HFUOOCodcFT7TKcdcJ52wnHaAXH4+X1kAWzZNiTkJMCW7fPln2XTEwJvcpChv3pHYc6MzHheLckWPekZIkQEWpemj7h1ar1G31ytLn2+tWdyteqJp6ulJwl1NXuS0kZXwIRU2RRsOTYk5CboU14CEvMSkTAyAYkjfV7z9Vdbtg3K98tzyRJ8+OqTmPfPFmipKWdGlCwdnVj/soZLC2YDW7b0JCIWS68EZeXSa3Ff2od+R7RW5H8bd9z5jGkjagEtWaI/hsZP7FiwQB/xMxqb9xE20do+GLP3HyP8XdpjIkVEhmkuDY5TDnQd70LXiS50n+jWXyu60X1Sn1wNrn7bKZtCYkHPl25ivv5FnJDn+TIeof+cMCIBthH6yMlQSoBildatwVnvgKtoCpxIhwsZcD6/Cq4Glz4yWO+Es9ZntLBWXzbQZU2VoP83TixIRGKh/pq0ZyPk61dhs/MTHE06ilETR+HmS25E+k8fBx57DPjhD3seLnwmKA1YuhRLrhY8+fEv/Mb+8NwlWNZ6UXQePOyJ0V/sePxxvSmo0djCrV8zuf7N9P3HCCZSRGSIq8WFzkOd+nS4E11HutB5RH/tqugC3L3fbxthQ/LoZCSNTkJScRKSipKQWJSIpMIkJI7Sv1QTchKYGMUiEbTefw9e++C3OJgDnN0ALLzs35G+/Gm/X4TiFjjrnXDU6COLLSdbsGXXFrScakFeex6Ku4rhrnHDUeWAs87Zb3uVqJBU5Pm34vk3kzwmGUljel5tWTY8t/053PfOff5HpK5bgTsuuCN4MXo8GiaJSqxjIkVEfolb0HmkEx37O/SpvAOd5Z3oONAB5+neX34JIxOQMj4FyeOTkTzOM43Vp6TRSbCmWv0chWKaCD78wVcxL2kVtEQb2pULdrHB4nBhffctuPSXrwf9sh6oGNyiLGeKwTWHBke15zJvpUMftTzlmSq6z4xkirP395I13YqEMQnY6N6IkxknUZ1VjeqsalRmV6IquwrWDCsqH6jEjuodAY8ft4bJpbNYx0SKiCAi6DrWhfbd7Wj/zDPtaUdHeQeku+d3QcLIBKROTkXK2SlInZSKlIkpSJmYguQJybCl8R6Voah11f+haNs30JrUf116N1B5wStIu+Xr/rfvbkXRU0W9isHPbJ+YjsoHKpGWmBY0DtEEjtMOdFd0o+t4F7qP669dx7tQf7AeHUc6kNqd2nujbCB1Yire7n4bx7OOozKnEqdyTuFkzkk02ZuQnhT68WNSoGJu3+SKTMX2B0TDjObU0L6nHW3b2tC2vQ1tO/XJ3dJzLS5pbBLs0+zIuSYHqVNTkXpOKlInpyIhe4Bbq2hIe+2sdmh7kwDp7rdOS07Ca+M7cEeg7fe8Bk0GLlbXRMNrn72GOy4ItAedsigkFSQhqSAJGRdm9Fvf2t2KVR+vQvW+apzVehZK3CXQTmg4vOMwJldMxqW7L4VVekZF25LaUJlbidIPSnHenPOQOjkVqVP0PxLiZvRUKT1ZAvTkyXs3HJOomMBEimgIEE3QUd6Blk9a0PppK1q3tqJtZ9uZUSZrmhX26XbkfzMfadPTYJ9uh32aHbYM/gqIN2bVAB1sOIT2AZIoAGiXbhxqOBzw+AfrDw5YvwTobQoONRwKKY7Klkos/ftS7K/bjym5U7DsqmUYlTHqTD1Q+oIFuP3K24ErPRt4lj9/8yY8+fEvYHPZUNBUgKKGIhQ3FKO4vhhF9UUYXTYax9451lMYr4DksclInaL/AWGfZkfq1FTYp9phy4zB/y+8yZQ3iQKYRMWIGPzXQkTBuNpcaP2kFc0fNqP542a0fNICd7M+0mRNtyK9JB3F3y9GWkka0i9IR8rEFBZ3DwFBG1KG4ewRZ8MCCzT0H1WywIKJORMDHv/sEWcj2ZaMLldXv+2Tbcl6w80gnvn0Gdyz/p4z81sqt+ClXS/h6XlP4+6ThQHrhM5eei3sANqTXDiZexInc0/iE3wCALB3Aysm3I3vfP036DzoqQXcp9cCduzrQNOGpl6tH5KKk2A/194zTbfDPtUOS5Klb8iDZxg3vIx1TKSI4oCr2YWmD5rQtKEJze83o3V7q363nALs59oxcuFIZMzJQMZFGUidksqkaQhq7W4N3JAyzBqg0emjB0yiAECDhvzU/IDHL/vXsgGTKADocnXhy5O+HPD4lS2VvZIoX/esvwc3La5EwaJFvZs8+tQJLXz0p1j8n3kA+t8ZaElMwMJvPgFrkhVp09OQNr33eRK3p3Zwr6dmcE8H2j9rR2NpY0/toBVInZyqbz+zZ0rMTwz4uSJimDe8jHVMpIhikObQ0LKpBQ3vNqDxb41o3doKaPqt4hkXZWDMw2OQeWkmMi/OjM3LEBRxkapB8ueba78ZcP3X1n4N/m5O0kTDf3z4H0i2JqPLPcCIlDUZbx14K2B8S/++NODxH/77Uvx++Qv6zAB1QulKYf3tf8e8F66C5nCiPUkfibIkJmD97X9HWoDLn8qqkDIhBSkTUpD7ldyez+XS0HmwE+2729G2qw3tO9vR/HEzTr96+sx7EgsTkXa+PvKbVpKG9JJ0JBUn9W5GGq516/oXlvvWTF1xBe/aiyL+BiaKEV0VXWhY34D69fVo/HsjtHYNsAIZF2Vg7CNjkfXFLGTMyYA1JU4KZIcxM+qYzK5BaupqCrhdu6Md4ueBgu3OdpTXlQ+YRAFAl7vrTHz+zs3+uv0Bj19eVx60TujSsZehcmk9Xrs4A4dygIkNwMJN9QGTqEAsNgvs59hhP8eOkV8deWa5s9Gp37yxow1t29rQuq0VDe80wDuglzAyAemz0pF+YToyZmcgfVYaEj9ab7wP1IIFeosD3/d5z8UVV+jLKWqYSBFFiYigbUcb6tbVof7NerTtaAMAJI9LRsG3CpBzbQ6yrsxiQXicMauOKaSH/gYRqAYpKzkLdZ11fre1J9rhcrv8jjhNzp2M7VXb4dAc/dYnWhKD1lhNyZ2CLZVb/B5/cu7k4HVCIkhb8iju2O6zfsmjEb/0lZCdgOwvZCP7C9lnlrk73Gjb1Ya2sja0btVv+PBNrpLRiYxJf0DG3V9AxsWZSJthh2XJA6H1gVJq4PX+ltOgYh8pokEkImgta0Xt67WoXVWLrqNdgAIy52ZixA0jMOLLI5B6TmpkLwvQoIlULyUz9l3ZUomi5UV+16/76joseN3/yMabX30TN7x+g9/1H97+IS59wX+iuOOuHbjs95f5jb/srjJM+u9JfrevWlyJgkf/038vpaeeAhYvjqleS642F9rK2vS7aX/3AVoOJaAb+siWsrqR4d6DjJJkZD56IzLmZiIxdxDqrcgw9pEiiqKOgx2oebkGp/94Gp2HOqFsCtlXZ2PsD8dixFdGIHEkf4EOBWbWMaUnpWP9N9b77dwdLEELVoO0tnwtrhx3JUqPlfZbd+W4K1HTWRPwrrwH33sw4P7/ff2/Bzw3G49vxNPznh6w4PzpeU+j4G+bAxYCoyEAACAASURBVNcJJSXFXB2RLc2GrCuykHVFFvDg14H770fXilfQgqlocU9DS8HVOLlrBCoW7AEApJ6TiszLMpF5WSayrshC8ujkQY2XjGEiRWQSV5sLta/VouqFKrR81AIoIOvKLIx5eAxyb8xFQg6bXg41kapj8ufSMZei8oFKvPbZazjUcAgTcyZi4bkLQxrlCqUGadOdm7C5YjNuePUGNHY2IjslG2/e9ibmjJ6DJe8tCXhX3rHGYwH3f6zpWNBzs+zqZbjpnJvw8N8eRnldOSbnTsYTVz+BgrQCYJYErhOaPx+YMyd264g8sSSvWIFkbMRIbAQqn4a7S0PrVk8rkw/0QvaqZ6sAAMnjk5H1hSxkXZmF7CuzkVQ0QNt5ijomUkQR1ra7DZXPVKLmDzVwt7mRek4qxj8xHvnfzOcvwhhhVlPLUOqYDtQdwHfWfQdHm47irKyz8PsFv8ek3J5LWn4bUnq0dLVg4/GN2F+3H5WtlfjSxC/1SqT8bR9SDRKAaSOn4fGrHj9zbqaNnBbSZxuXPQ5V7VV+9z8uaxxauluC1ngVpBXg9wt+338HodQJxXIdkZ/6Luvy5ci6LAtZl2UBS/VWDG272860OqlbW4fq56sBACmTU5B9VTayr85G1pVZSMjiH2OxgDVSRBEgmqD+L/U4+euTaCptgiXZgryFeRj13VHImJPBmqcYEuzBuuEIVsf0rRnfwtOfPt1v3f1z7sdT1z7Vrxjc6+l5T+PuC+8Oa/2CyQsC1khVPVCFQw2H/J6bGfkzkP/LfHS6Ovttm2JLwc7v7sSkp/3XOB383kFc8OwFptSPxbwwnpUnmqBtZxuaSpvQ+PdGNL3fpN/RawHSL0xHzrU5yLkuBxmzM6Cs/D1jJj60mMgEmlNDzR9qcOI/T6CzvBNJY5JQdE8RCu8oRMII/rUYa8wsBvfyl6j975f/F19f6/+hvx/d/hHmvjDX7/rtd23H+c+eb3j9we8fxLnPnItud//HwCRZk3B00VFM/u/Jfs9N+ffKMfG/JqLD2dFvfWpCKmp+UIOXdr4UMNEzM4mNaWvXBuzKHvSuPR+aQ0PLJy1ofK8RDe82oPVTvcecLduG7GuyMWLeCOR8KQeJeay7jDQmUkQRpLk01LxYg2M/P4bu491Im5mG0Q+NRt6tebDYovgYCQpo5baVuO+d+/xeXlpx3Yqwmlp6tTna+tUxXfPSNdh0apPfbXJTcgO2HxifPR5HGo/4X581Hkea/K+/uPhi7KrZ5fez3zz1Zqzeu9r/+nNuxup9/td7z111W/XANU4eA52bITsS5eWvX1SofaQCcDY49aTqnQY0vNMAR7UDUHr/uRHXj8CIG0bAfq6do+IRwLv2iCJARFC3rg5HHj6CzgOdSL8wHZOenoSceTn8RRUHzC4G9xIRCASaaBAIRARHm44G3CZYQ8yatprA69sDrw9W7F1eVx54fX3g9d5zZ0+w49IxlyLfnn+mrspXWmJaRJLVuGJiH6iEnASMXDgSIxeO1C8Dbm9D/Vv1qP9zPY7+6CiO/ugoks9KRu6CXOTemIvMSzJ5CTDCmEgRhahtdxsO3XsITRuakHpOKs5ddy5G3DCCCVQciURTy2D8NZ0ckzkG1e3VfrcL1hAzPy0/4IhUvj0/4IjUuKxxaOxq9Nu+YHLuZHx2+jO/52byiMDrgzXcHNKX7mKEsiikl6QjvSQd4/7fOHRXdqP+L/WoW1eHU0+fwsnlJ5GQn4C8G/OQd0seMq/I5Ah6BPAMEgXh7nTj8MOHsfX8rWjb1Yaznzkbs3bNQu78XCZRcWbhtIWwqIF/7VmUBQvPXRjW/n0fLOxNONqd7Wh1tOJoY+ARqT/e/MeA61+a/1LA9S/f+HLA9c/MeyZg+4JHL3s04Ll54uonAq6fd/Y8v5993ivz0OZoCxgfRV7SqCSMumsUpq+fjrl1czH11anIuiwL1S9VY+fVO7GpaBMO3H0ATRubIFrslPnEGyZSRAG0bGnB1vO3ouI/K1Dw7QJcdOAiFP17Ef+Ki1PeppbpielnLjnZE+xIT0wPqallMIEacrrFDYufX7k2iw3Hm4/j6Xn97+gD9GLtffX7kGgduIA40ZqIfXX7Am6/tWorkq0DN3hMtibj/ePvBzw3hemFAde/dfCtoM1IKXps6TaMXDgS0/40DXNr52LaqmnIuiIL1b+vxo4rdmDzuM04vOQw2nYz4f28eGmPaAAigopfVuDoI0eRWJiI6e9NR87VOdEOiyIgnKaWwQSqwRrobjkvl+YK2pByyXtL4HD3f44dADjcjpC2D/ZQ4TsuuCPguQl07v5c/udBqT+j8FlTrci7OQ95N+fB1eZC/Zv1qHmlBiefOomKJyuQNjMN+d/OR/438nn3XwiYSBH14W53Y9+396FudR1yb87F5N9NRkI2Wxn4Mquh5WAJt+DZ3+cPVIOVZE2CQAZMhkJpSBlqfVe42wc7N/7WD0b9GUWeLc2G/K/nI//r+XDUOnD61dOoeakGh+8/jCMPHsGIG0ag8M5C5FyTwyJ1P9j+gMiH47QDu+btQtv2Nkx4cgKKFxezDqqPYdsLyCPQ55+RPwMFvyoYsNdSii0FVmVFm7P/pZNQeliF2wPL7B5ag9GjiwZP+552VD1fhZqXa+CsdSJpTBIK/7UQhXcWIqlgeD6hwV/7AxZ6EHl0V3Vj++Xb0bG3A+e+cS5GPzCaSVQfgYqph0NBcSifP9Afp6sXrjZcnxVufZfZ9WFm758Gl32aHRN/NREXn7wYU1+fitRJqTj26DFsHr0Ze27bg+aPmwP+Wx9OeGmPCHpTu51X70T3yW5M/+t0/blX1E+gYmpvQfFQ7hEU7PM//PeHA97ZVtFcEVZ9Vrj1XWbWhw3G/mnwWRItGHnrSIy8dSQ6DnSg8n8qUfV8FWpfq0X6rHQULy5G3i15sCQM33EZJlI07GlODXtu3oPOQ52Y/g6TqEAGq6FlsAf3mr29vxqoYJ8/WFPLQw2HBmzWGcqxvcKt7zK7IeawbLg5TKROSsXEpyZi3M/GoeblGpxccRL7vr4PR5YcQfHiYhTeWQhb2vBLK0z7xEqp5wFcD+C0iJxr1nGIwnX00aNo2tCEKS9PQfaV2dEOJ6YNRkFx3wfvbqncgpd2vXTmeW1mbx+oqWSwzx+sqaWIoOipIr8NK9nQkuKBLc2Gon8vwqjvjkL9+npU/KICh+8/jOM/P47i+4pRfG8xbJnDJ6EyrdhcKXU5gDYAL4WaSLHYnAZbyyct2HbxNhTeUYjJv5sc7XBintkFxZUtlShaXuR3fdUDVb2e2xbp7YN9vvLvlQd9sK+/9WkJaYDCgHVkoeybxdoUy5o3NePE4ydQ/5d62LJsKF5cjOJFxbBlDJ2EatCLzUVkI4AGs/ZPFC4RwcHvH0RiYSIm/GpCtMOJC2YXFC/9+9KA6x/+28Ombh+sBmr9wfWGm1bePftuv8W53voqNrSkeJV5cSbO+/N5KNlWgswrMnHs/x3DJxM+QcXyCmjdA/+7Hiqinioqpe4CcBcAjBkzJsrR0HDS8HYDWj9txeTnJg+pv5rMZmZB8f66/QHXl9eVm7p9KDVgRptW/vz9n4ddX0UU69LPT8d5685Dy6ctOPrDozi8+DBO/eYUxj8xHnlfzRuSd0JH/dtDRJ4F8CygX9qLcjg0jFT+thKJhYnI/+f8aIcSd8wqKJ6SOwVbKrf4XT85N/Dl13C3N7NpZbj1VWxoSfEk48IMzHh3Bhr+1oDDPziMvbftReZ/Z2Lif01E+sz4ad4biuF7vyINa64WFxr+2oD8b+QP69t2Y82yq5YFXP/E1U+Yur2ZDzUOtu8nrgr8UOBwH6hMFA05V+dgVtksTPrdJHSUd6CspAwHFx2Eq9UV7dAiht8gNCy1bGqBOAXZ1/IuvVgyKmNUwAfvBioUj8T2ZtaABdt3sIcCs9Cc4pWyKoy6cxRml8/GqO+Owqn/OoVPp36K+rfrox1aRJh5194fAXwBQC6AGgA/FpHnAm3Du/ZosFQsr8DhxYdxSe0lSMzlQzljTXVb9YAP3h2s7dscbaY1lQy2bzOPTRQLmjc1o/zOcnTs7UDhvxZiwlMT4qL/lL+79visPRqWjiw9gopfVuByx+VDsviRiCiWad0ajv74KCqerEDKxBRMfW0q0s+P7dopPmuPyIeIABYwiSIiigJLkgUTnpiAmaUz4e5wY9vF21C5sjLaYRnCRIqGpYScBIhD4GoZOgWPRETxJuuKLMzaMQtZl2fhwL8ewIHvHYDmiq++U7F/UZIipsvtRpPLhVa3G22eqd3tRoemocszdWsaHCJwicDtmbwXfxUAi1KwArAphUSLBUkWC5KUQorVilSLBalWK+wWC9JtNqRbrci02ZBqscTcyE/KpBQAQPvedmTOyYxyNEREw1dibiKmvz0dRx7WSy66jnZh2uvTYLVbox1aSJhIxTERQbPLhZPd3TjlcKCquxvVDseZqcbpRK3DgXqXC41OJ7qjVA9nUwo5NhtGJCQgNyEBIxMSUJCYeGYqTErCqMREFCclITchYVCSrow5GQCAptImJlJERFGmrAoTfjEBKRNTcODuA9h57U5MXz89Lpolx36Ew5xL03CsqwsHOztxuLMTR7q6zrwe6+pCm9vdb5t0qxX5iYnIT0jApNRUjEhIQI7NhiybDZk2GzKsVqRZrUj3jBalWCxIsVqR7BldSrBYkKAUrJ7RJ6UUFABNBBoAt2fEyiECh6ah0zOa1eEZ3Wp3u9HqdqPF5UKL241GlwsNTicaXC7UOhzY29GBfzQ1odHV/7JassWCsUlJOCslBeOTkzEhJQUTUlJwtuc1yRKZq9FJBUlIn52O06+dxpiHx8TciBkR0XA06rujYBthw76v7cOu63Zh+rvTY/6OvtiObhgRERzp6sKutjZ81t6OvR0d2NPejvKODjh8RpJSLRac5UkwvpiVhTHJyShOSkKRZ2SnIDERdmt8DId2axpqHA5Udnej0uHAye5unPAkiEe7urCpuRnNPomiFcCElBRMtdsxLTUV0+x2zEhLw6SUFNgMJFgF3ynAwbsPovmjZmRdmhXBT0ZEREaNvGUklEVhz617sOfmPTjvL+fFdONktj+IAhHBsa4ubGltxactLdjW1oZtra29koZxycmYlpqKqXY7pqSmYnJqKiYkJyM/MXHYjJ6ICBpdLhzq7MShzk7s6+jAXk+SebCjA96zlWKxYEZaGi5IS8Os9HRclJGBKampsAQ5T+52NzaP2wz7dDtm/G3GsDmvRETxoOq5KpTfWY5R94zCpP+eFO1w/LY/4IjUIHCLYEdbG95vasJHzc34uKUF1Q4HACBJKcxIS8NtI0figvR0zExLwzS7PW5GlcyklEJOQgJmJyRgdkZGr3Xdmob9HR3Y2daGHW1tKGttxUs1NXimUr99Nstmw5yMDMzNyMBlWVmYk5HR77Kg1W7F2EfH4tCiQ6hbU4e8m/MG7bMREVFghXcUon1fO07+6iQyL81E/m2x+VxUjkiZ5GBHB/7a0ID3GhuxsbkZTZ56oLOSk3FJRgYuyczEnIwMnGe3IyFCdT9xQwRYtw5YsADwHQXytzxEmggOdHRgc0sLNrW04KPmZuzp6ACgj1rNzczEF7OycF1ODmampUEpBc2pYdvsbeiu7MaFuy9E4kh2OSciihWaS8OOy3egY18HLtx7IZIKk6IWCzubm8ypadjY3Iw36urwVn09jnR1AQDGJyfji9nZ+EJWFq7MysKopOj9I4gZa9cCN90ELFoELF+uJ00iwP33AytWAGvWADfeGJFDNTqd2NjcjH80NqK0qQm729sBAAWJibg2Oxs35OZiblUi9s/egazLsnDe2+fBYhtmiS0RUQzrONCBT6d/irxb8jD1D1OjFgcTKRM4NA3vNTbitdOn8ef6ejS5XEixWHBVdja+lJODa3NyMCElJdphxh7fpMmbTPWdN6leqcbhwDsNDXi7vh7vNjai0fPf7PLWVJT8ug03TyvA+csns16KiCiGHHnkCE4sO4FZO2chbXp0nj3JRCpCRASbW1rwYnU1/lRbiwaXC1k2G+aPGIEFubm4JicHqaxvCs43mfIyOYnqy+UZRVxbV4e1tbU45XAgqQu4psWOu68aj3/KyYGVCRURUdQ5G53YPGYzcm/MxTkvnROVGJhIhanR6cSL1dV4tqoK+zo6kGqxYEFuLr42ciSuyclB4nCrc4oEEcD3vGnaoCVRfWki+KipGb99tRxvjepESyYwKjER/1JYiLsKCzE6OTkqcRERke7APQdQ/Xw1Lqm5JCqNOvnQYoP2tbfju+XlKNq0CfcfPowMqxUrJ09G9SWX4JWpU3F9bi6TKCO8I1K+7r9fXy6i11H1TfL9LY8Ai1K4LDsLr9w1GxvXjsRP/x9wdoUFjx0/jnGbN+OWzz7Dx83NET8uERGFZuRtI6F1aWh8rzHaofTCDMCPT1tasGD3bkz99FO8WF2Nb+TnY3tJCTaXlOCOwkKk29g5wrC+NVKapr+uWKEv9xajexMr321uukm/s88kyqow/flz8LXzi/CT27rw9gvZeKCgGP9oasLc7dsxd9s2vF1fj1gaySUiGg4y5mTAkmJB80ex9Ucts4E+drW14ZEjR/BWQwOybTb8eOxY3FNUhLxE3hYfMevW9S8sX75cX7diBXD55T2JFdC/GH3BAlPDUxaFib+eiOSzknH4gcO4dbsDD/5pBl61N+OXFRWYt3s3LkpPx2Pjx+Oq7GxTYyEiIp0lwYLUyano2N8R7VB6YY2UR43DgUeOHMEL1dXItNnw4OjR+H5REUeezBBKHykg6sXoANDwbgP2fm0vxCmY9L+TkL0wDy9VV+Nnx4+jorsb83Jy8KsJEzDFbh+0mIiIhqud1+6Eq8mFkk9KBv3YrJHyQxPBb0+dwuRPPsHLNTW4v7gYRy66CI+MHTu8k6hw6pTcbr0PVN8HKvtbPtCx160Dnnqq9/KnntKXB0v+I1hjlXNNDmZtnwX7eXbs+/o+HP52Ob6dmoeDF12EX4wfjw+bmzF961b86MgRdAX7XEREFL4Yu5l6WCdSx7u6cNXOnbj74EHMSk/H7gsvxK8mTkR2QkK0Q4u+deuM1yndcou+vqCgJ2lyu/X5deuAuXMD73vpUv21pM9fHCUlodVIhRP7AJLHJGPm+zMx9sdjUfPHGnw67VO0vtWAH4wZg4MXXYTbRo7EYydO4IKyMpS1tn6ufRMRUegcNQ4k5MbYd7SIxMxUUlIig2Vdba1kffCBpG/cKCsrK0XTtEE7dlzQNJFFi/R76BYtGnjeH5dLJDdXf29ubv95pzPwvl0ukZkz9fmZM0Xc7v7zZsUeRMvWFtly7hYpRal8dstn0lnRKSIib9fVSdFHH0nChg3y64oK/nsiIoowd5dbNiRtkEM/OBSV4wPYKgPkLlFPnnynwUikNE2Tnx49KigtlVlbt8qhjg7Tjxm3fBMQ7xRqIuKbPHknb1IVbN9r1vQkTb7rvfNr1pgbexDubrcc+49j8n7y+/K+/X05/sRxcXe5pd7hkBt27RKUlso39uyRrmAJHxERhazhbw1SilKpfaM2Ksf3l0gNq2Jztwi+W16O56qr8e38fPzPpElIZhfygWmafont8ccB31oxlwt4+GHg4EFg9WrA9/y53fplvT/9Cfjzn4GvfAXwvUzqdOrLvUXm4qchZ6BjP/IIsGxZ7+388bf/COk82olD9x1C/Zv1SB6fjPHLxiP3llwsq6jAj44exReysvDmuecO71o7IqII2fftfahbW4dLqi+BNXXwv7uHfbG5JoI79u/Hc9XVeHTsWLwwZQqTqECWLgWefFKva/JVUAD88pfAG28Er4FKT++9bXp6T42St2bJl7em6Y039GPP6vPvddYsffkbbwSPP9D+IyTlrBSc98Z5mP7udFhTrdi7cC+2X7wddx/KwMtTpuCDpibM270bHSxCJyIKS9eJLpz+42nkfys/KklUIMMmkVp65AherKnBT8eNw8/OOosPpQ3m8ceB3Fygrk5/dbl65nNyen72JlMFBT3v3bgRSE4Gurr0V6ez9/z11wduyHnDDcDMmcCOHfqr2917fv78wLF7kyh/+4/wKGzOP+Vg1o5ZmPz8ZDiqHNh59U6c+7VqrFTj8HFzMxbu3Qt3DI38EhHFmyOPHAEswJiHxkQ7lP4Gut4XrcmsGqk/1dQISkvl38rLWQQcKm+d0kB1ToDIn/7kvwZqwQJ9Pjm593rv/OzZ/WuWfGuaHnoovBopb+z+9h9KjZVBrk6XVPy6Qj4q+EhKUSpLfrBJUFoqPz5yxLRjEhENZbV/rpVSlMqRH0X39yiGa43UaYcDU7ZswdkpKfjg/PP5XLxQiaeX0w039K9TevNNvc5J0/qvs1p710r1rZG69daeGip/DTnnz9cv382f378G6403+m/nL/ZADT9NHpF0d7pR9WwVTvziBH7yLQf+fjXwduNZuHr+aFhs/DdIRBSKzmOdKJtVhqTiJJR8UgJLUvR+fw7bGqlHjx5Fm9uN30+ZMrSSKAmz6aSmAUuW6K8DLXc69aLuCy7ovf6CC4Cf/QxITQXy83uvy88HUlKA9nZg82bgvvt6r7/vPn15dzfw0EN64uXL5epZPgg1TmayplhRvKgYcw7PwW/OnojsVmBx1VFsnrAZFb+qgLPJGe0QiYhimrPBid1f3g1xCab9aVpUk6iABhqmitYU6Ut7Jzo7xbZhg3zvwIGI7jcmhHv5yvfymfc2fd9+Tfn5PZfUpk/X102f3vtSGyAyYoR+OW/EiP7rAJF77tHjuueenmUWi/5qtYo4HPqxHQ59vu+x771X3/7ee3uWrV5t7rkxwTMVJwWlpfK/39J7UL2f+r6U/1u5tO5qHfRYiIhinaPBIVsv3CobEjdIwz8aoh2OiPi/tBej6V1kvFhdDZcIFhcXRzuUyFuwoH8B9ed5sO+yZT0F3CUl+khUSUlPQfc3vtHz3vJyfX15ef/91Nfro1f19T3LfEexnnlGX//MMz3LXn655xJgSoq+PiVFn7dagd/8xtg58Qr33Jjg9sIC5NhsKF1iR8m2Eoz86khUvVCFrdO3Yvtl21H9h2q4O3l3HxFRd2U3dnxhB9p2tmHaqmnIvjLGHw4/UHYVrSnSI1JzyspkTllZRPcZU8JtOuk7AuVb0O1269MPfiCSlNR7fVKSyP33i1x//cAjUF/5it65/LXXRJTqvU4pfbmm9R6B8k7eESpN00edfEehvKNTq1eH9vlMbMhp1J3790vGxo3i9IwAOuoccvwXx2XzxM1SilL5IOsDKb+nXFrKWqIWIxFRNDVvaZaPij6SjWkbpf7d+miH0wuGW7G5WwT2jRvxvaIi/HLixIjsMyaJn6aTEmLBtab1L+j23Z/L1b9g3GrV93HddXqtlFdHB/DOO3p7g0svBUpLAbu9Z317O3DllcBHH+lF6k4nkJjYs97h6H0sf58t3HMTJS9VV+Pb+/dj34UXYorPeRFN0LShCVW/q0Lt2lpIt8A+w46CbxVg5NdHIqkgKWoxExENBhFB5f9U4tD9h5BYkIjz3jgPaTPSoh1WL8Ou2LzO6US3CMYlJ0c7FPN4L1n58l7KCuXBvd7Leb68l/kAPYkaqKnmqlX6PnyTKECfv+kmYOpUYMuW3kkUoM9v2aI37PRezvPlvcwX7LOFItztTeD9t1jR3d1rubIoZH8xG1P/OBWXVF2Cs58+G5ZECw4/cBibijZh57U7Uf1SNVwtroF2S0QU17qru/HZgs9w8O6DyPpCFkq2lsRcEhXQQMNU0ZoieWmvorNTL+49dSpi+4wpwR7M63aH92Dg7u6evk/JyfrlOu+8zdb7kllHR+/5urre8+3tveebmnou63kv5/nOd3eH99BhEx9aHI5NTU2C0lJ5q64upPe37WuTw48clk3jNkkpSmVD0gbZfeNuqXmtRlxtLpOjJSIyl+bWpPL5Svkg+wPZkLRBTjx1QjR37PZ6xHB7aHGbyyUoLZXHjh2L2D5jSih3pgWqEwp2115BQe8kSqR3MhXOFOyuPe+xjd51F4N37YmIvFlbKygtlU1NTZ9rO03TpOmjJjnw/QNnGn2+n/K+7L5pt1S/Ui3OJqdJERMRmaNla4uUzS2TUpTKtku3Sdu+tmiHFNSwS6RERMZ8/LHc+tlnEd1nzNC0nmQp0HJN653EeJe73Xoy5U2ivLzLu7v1DuTOPl/STqfI+eeLpKb2H4nq6NCXNzfryVDfkaj2dn15W5vIxIk9SZSXw6Ev7+4O7bOFe24G2c+PHhWUlkpj38/9OWguTRpKG6T8nnL5qFBPqjYkbJCd1+2UU/9zSrpOdUUwYiKiyOo42iF7/3mvlKJUPsz7UCqfq4zpUShf/hIpU4vNlVLXAVgBwApgpYg8Eej9ke5s/p19+/BGfT1qLrlkaDXjDJX43PbvtWgRsHx5+EXXwfbtra/q6upZn5wMtLb27oY+jFxUVgaXCMr6PozZINEELZtaULeuDrVra9F1WD/XaSVpyP1KLkZcPwJp56dBWfhcSSKKrq4TXTjxxAlUrayCsioULSrC2KVjYcuMn++DQS82V0pZATwN4EsApgL4mlJqqlnHG8jX8vPR5HLh9dOnB/OwscE30Yn0g3uD7dvp7Emi+j60OD29f0fzYWBbayu2tLbim327wYdBWRQy52Ziwi8m4KKDF+HCzy7EWcvOgiXRgmM/PYayWWXYVLQJ+2/fj9Ovn4azgd3UiWhwte9tx/479uOTCZ+gamUVCv6lABcduggTnpgQV0lUIKaNSCmlLgbwExG51jO/FABEZJm/bSI9IqWJYMbWrejWNHx24YXDa1Rq7Vr9DjrfUSLfBGjNGuDGG83Z98SJwKFDvUegfEeoZs8GPvkksp83xn1l92580NSEY3PmIMu3xYNJHKcd9hP6dgAAB1lJREFUaPhrA+rfqkfju41wNboAC5AxOwPZ12Qj+5+ykXFRBiwJw+j/CSIaFKIJGt9rxMnfnETD+gZYUiwovKMQox8cjeQx8Xsnvb8RKTMTqVsAXCcid3rm/xnARSLyPX/bmPHQ4rfr6/Gd/fvxtxkzcF5aHN1OGS4JsY+UGfv29pHy9ovycrn01gd9lw9xjU4nLt62DXcUFuLBMWMG/fiaS0Prp61oeLsBDe82oPXTVkADxjwyBuMfGz/o8RDR0Na8qRnbL9mOhPwEFN1dhFF3j0JibmLwDWNcNBKpWwFc2yeRmi0i3+/zvrsA3OWZPRfAZ6YENPTlAqiLdhBxiufOOJ4743juwsPzZxzPnTFjRSSv70IzhwVOAhjtM18MoLLvm0TkWQDPAoBSautA2R4Fx3NnHM+dcTx3xvHchYfnzzieu8gys0DiUwBnK6XOUkolArgNwJsmHo+IiIhoUJk2IiUiLqXU9wD8FXr7g+dFZI9ZxyMiIiIabKZW/IrIegDrP8cmz5oVyzDAc2ccz51xPHfG8dyFh+fPOJ67CDK1IScRERHRUMYmMkREREQGxUQipZS6TilVrpQ6pJR6ONrxxBOl1PNKqdNKKbaN+JyUUqOVUqVKqX1KqT1KqUXRjileKKWSlVJblFI7Pefup9GOKd4opaxKqe1Kqb9EO5Z4opQ6ppTarZTaoZSKbOPBIU4plaWUWqWU2u/5vXdxtGMaCqJ+ac/zKJkDAP4JesuETwF8TUT2RjWwOKGUuhxAG4CXROTcaMcTT5RShQAKRWSbUiodQBmABfy3F5xSSgGwi0ibUioBwIcAFonI5iiHFjeUUosBzAKQISLXRzueeKGUOgZgloiwD9LnpJR6EcAHIrLSczd9qog0RTuueBcLI1KzARwSkSMi4gDwKoD5UY4pbojIRgAN0Y4jHolIlYhs8/zcCmAfgKLoRhUfPA9Db/PMJngmFlyGSClVDODLAFZGOxYaHpRSGQAuB/AcAIiIg0lUZMRCIlUEoMJn/iT4ZUaDTCk1DsD5AIbXQwDD4Lk0tQPAaQDviQjPXeh+DeAhAFq0A4lDAuBdpVSZ58kYFJrxAGoBvOC5pLxSKWWPdlBDQSwkUgM98I1/2dKgUUqlAVgN4D4RaYl2PPFCRNwiMhP6UwtmK6V4aTkESqnrAZwWkbJoxxKn5orIBQC+BOAeT3kDBWcDcAGA34rI+QDaAbAmOQJiIZEK6VEyRGbw1PesBvCKiKyJdjzxyHN5YAOA66IcSryYC+AGT63PqwC+qJT6Q3RDih8iUul5PQ1gLfTyEAruJICTPiPHq6AnVhSmWEik+CgZigpPwfRzAPaJyFPRjieeKKXylFJZnp9TAFwNYH90o4oPIrJURIpFZBz033f/EJFvRjmsuKCUsntuDIHnstQ14IPuQyIi1QAqlFKTPYuuAsAbayLA1M7moeCjZMKjlPojgC8AyFVKnQTwYxF5LrpRxY25AP4ZwG5PrQ8APOLpyE+BFQJ40XPXrQXA6yLC2/jJbPkA1up/A8EG4P9E5J3ohhRXvg/gFc+gxREAt0c5niEh6u0PiIiIiOJVLFzaIyKi/9/e/YRYWcVhHP8+RKDhYFCraCEKueiPRgopuXBRiyRDKQJbJMQsAiEEF0EUk7poEQQircVWIRYJrooCZ5EliLUpCRdtkqI2WbnRfi3eQ0x3mhk7Bjfnfj9wufc95z3nnnf38Htf3iPplmSQkiRJ6mSQkiRJ6mSQkiRJ6mSQkiRJ6mSQkvS/kWQmyYH2+1iSZzrnWZNk0fcLtXP2zDnem+Roz/9JmlwGKUmTag2wZ6mTJGkxBilJY5Xk1SQXk3wMrB/pvre9PHChsTNJ3k3ySZJvk0yP9K9tlafZJOfbZ2vrfhPYluRCkv0j43Yk+SzJ3Ummk5xL8mWSk0nu+C+uW9LyYJCSNDZJHmHYJuVhYDeweU73ytY2tcQ0DwE7gC3A60nuaWPXAY8BPwKPt41unwOOtHGvALNVtbGq3p6zpl2t78mq+gl4v6o2V9UG4GvgxZu4ZEnLzNi3iJE00bYBH1TV7wBJTrXvZxlC0MtV9fMSc3xYVVeBq0k+BR4FpoFLVXU8yWrgaJKNwHXgvkXm2g5sAp6oql9a2wNJDgN3AqsYtrOSJMCKlKTxm7dPVVWdAD7qHH8deGnO8X7gB2ADQ0ha8FYhw/5jU/w9bB0D9lXVg8AbwIobXJekCWCQkjROZ4BdSVYmmQKe6pjj6SQrktzFsIH3uZH+1cDlqvqDYZPq21r7FebfNvyO4Xbi8ST3t7Yp4HKS24HnO9YnaRkzSEkam6o6D7wHXABOArP/dF6Sg0l2LjDNF8Bp4CxwqKq+H+l/B3ghyVmGStNvrf0r4Fp7iPyvh82r6iJDYDqRZB3wGvA5Q4Xsm39/lZKWs1TNq6pL0i0hyQzwa1W9Ne61SJpMVqQkSZI6WZGSJEnqZEVKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSpk0FKkiSp05+Caai4goLvXAAAAABJRU5ErkJggg==\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(Xpl, Ypl, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n",
|
||
"plot_decision_boundary(fig, theta, Xpl)\n",
|
||
"plot_decision_boundary_bayes(fig, X_mean, X_std)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Kiedy naiwny Bayes nie działa?"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 34,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Wczytanie danych\n",
|
||
"import pandas\n",
|
||
"import numpy as np\n",
|
||
"\n",
|
||
"alldata = pandas.read_csv('bayes_nasty.tsv', sep='\\t')\n",
|
||
"data = np.matrix(alldata)\n",
|
||
"\n",
|
||
"m, n_plus_1 = data.shape\n",
|
||
"n = n_plus_1 - 1\n",
|
||
"Xn = data[:, 1:]\n",
|
||
"\n",
|
||
"Xbn = np.matrix(np.concatenate((np.ones((m, 1)), Xn), axis=1)).reshape(m, n_plus_1)\n",
|
||
"Xbnp = powerme(data[:, 1], data[:, 2], n)\n",
|
||
"Ybn = np.matrix(data[:, 0]).reshape(m, 1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 35,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(Xbn, Ybn, xlabel=r'$x_1$', ylabel=r'$x_2$')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 36,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"liczba przykładów: {0: 69, 1: 30}\n",
|
||
"prior probability: {0: 0.696969696969697, 1: 0.30303030303030304}\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"classes = [0, 1]\n",
|
||
"count = [sum(1 if y == c else 0 for y in Ybn.T.tolist()[0]) for c in classes]\n",
|
||
"prior_prob = [float(count[c]) / float(Ybn.shape[0]) for c in classes]\n",
|
||
"\n",
|
||
"print('liczba przykładów: ', {c: count[c] for c in classes})\n",
|
||
"print('prior probability:', {c: prior_prob[c] for c in classes})"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 37,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"średnia: [matrix([[1. , 0.03949835, 0.02825019]]), matrix([[1. , 0.09929617, 0.06206227]])]\n",
|
||
"odchylenie standardowe: [matrix([[0. , 0.52318432, 0.60106092]]), matrix([[0. , 0.61370281, 0.6081128 ]])]\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"XY = np.column_stack((Xbn, Ybn))\n",
|
||
"XY_split = [XY[np.where(XY[:,3] == c)[0]] for c in classes]\n",
|
||
"X_split = [XY_split[c][:,0:3] for c in classes]\n",
|
||
"Y_split = [XY_split[c][:,3] for c in classes]\n",
|
||
"\n",
|
||
"X_mean = [np.mean(X_split[c], axis=0) for c in classes]\n",
|
||
"X_std = [np.std(X_split[c], axis=0) for c in classes]\n",
|
||
"print('średnia: ', X_mean) \n",
|
||
"print('odchylenie standardowe: ', X_std)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 38,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"<ipython-input-10-793ac8294852>:11: UserWarning: The following kwargs were not used by contour: 'lw'\n",
|
||
" plt.contour(x1, x2, p, levels=np.arange(0.0, 1.0, 0.1),\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(Xbn, Ybn, xlabel=r'$x_1$', ylabel=r'$x_2$')\n",
|
||
"draw_means(fig, X_mean, xmin=-1.0, xmax=1.0, ymin=-1.0, ymax=1.0)\n",
|
||
"plot_prob(fig, X_mean, X_std, classes, xmin=-1.0, xmax=1.0, ymin=-1.0, ymax=1.0)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 39,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"<ipython-input-15-da039958d168>:8: UserWarning: The following kwargs were not used by contour: 'lw'\n",
|
||
" plt.contour(x1, x2, p_diff, levels=[0.0], colors='c', lw=3);\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlwAAAFmCAYAAAC4FUTmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deXxT15k38N8jW5JtWWbfl7CGhBDigNu0WaCTNBkCDWkSWqbbdDq0mUmbsKUFOuk2bbM0nRdC2mmnKW3nnTbT0jdAlkKzDglk2iaBFBIIIRiCWcxiFmN50WLpvH9cXUuWtdpXPpLv7/v5+BNbkq8eKzb3p3POfY4opUBERERE+ePQXQARERFRX8fARURERJRnDFxEREREecbARURERJRnDFxEREREecbARURERJRnpboL6I7BgwercePG6S6DyNYUgMN+P86FQri4ogLekhLdJRWdsFJ4u6UFThFcXFEBp4jukoioh3bu3HlGKTUk8faiDFzjxo3Djh07dJdBZFuhSASf3rcPbzY04KEJE7By7FjdJRWtbY2NmPf222h1ufBydTVGud26SyKiHhCRumS3c0qRiHLSHongs/v24YmGBvyfiRMZtnpoVv/+eH76dJwKBvE3u3ahPhDQXRIR5QEDFxFlLaIUFu3fj983NOCHEyZg+ZgxukvqEz7crx+enT4dJ4JB3Lh7NxqCQd0lEZHFGLiIKCtKKSyprcV/nTqF744bh69yZMtSV/frh2emTcMhvx9z3noLTe3tuksiIgsxcBFRVr5XV4cfHz+Oe0ePxjcuukh3OX3SRwYMwIbLLsPu5mZ8fM8eBCIR3SURkUUYuIgoo1+cOIFvHz6Mvx82DD+cOBHCq+nyZu6gQfjVJZdga2Mj/uHddxFRSndJRGSBorxKkYh6z/PnzuGf9u/HTQMGYN2UKQxbveBzw4ejPhjEqkOHMK6sDA9OmKC7JCLqIQYuIkppb0sLPrF3Ly7zePDEZZfB6eCgeG9ZMWYMDvv9eOjIEUwqL8eiESN0l0REPcB/PYkoqTPBIG55+21UlJTgD5dfDm8p35/1JhHBjyZNwk0DBuCu997DtsZG3SURUQ8wcBFRF+2RCD75zjuoDwTw5LRpGFNWprskWyp1OLB+6lSMLyvDHXv3os7v110SEXUTAxcRdbHi0CFsbWzEY1Om4KqqKt3l2Fp/pxNPX345gpEIbt+zB23hsO6SiKgbGLiIqJP1p09jzbFjuHvUKPz98OG6yyEAUyoq8JtLL8Wbzc24+8AB3eUQUTcwcBFRh/2trfji/v24uqoKqydO1F0Oxbll8GDcN3YsfnnyJH514oTucogoRwxcRAQAaAuHsWDvXpRF1w3xisTC86/jx+P6/v3x5QMHsKe5WXc5RJQD/otKRACAZbW12NPSgl9fcglGc5F8QSoRwX9PnYp+JSVY+M47aOV6LqKiwcBFRNjY0ICfnTiBr40ZgzmDBukuh9IY5nLh15deindaW7G8tlZ3OUSUJQYuIpurDwTwpf37UeP14vvjx+suh7Jw48CB+NqYMfjZiRN4+swZ3eUQURYYuIhsTCmFL7z7LvyRCH5z6aVwcd1W0fje+PGorqzEov37cToY1F0OEWXAf12JbOyn9fV4/vx5/NvEiZhSUaG7HMqB2+HA45deCl97O+7cvx+Km1wTFTQGLiKbOtTWhq8dPIibBgzAP48cqbsc6oapHg/unzABT509i9+cOqW7HCJKg4GLyIYiSuGL+/ejVATrpkyBiOguibpp6ejRuLqqCktqa3EiENBdDhGlwMBFZEM/P3ECWxsb8W8TJ3KfxCJXIoJfXnIJ2iIRfIVd6IkKFgMXkc3UBwJYcfAgru/fH18cMUJ3OWSBKRUV+M64cdh05gw2NjToLoeIkmDgIrKZew4cQFAp/OziizmV2IcsHz0a1ZWVuPvAATS1t+suh4gSMHAR2cjms2ex8cwZfOuiizCJVyX2KU6HA49dfDFOBoP4xvvv6y6HiBIwcBHZRGs4jLsPHMDUigrcO2aM7nIoDz5QVYUvjxyJfz9+HDt9Pt3lEFEcBi4im3joyBEc9vvxk4svZoPTPuz748djsNOJr7z3HiLszUVUMPivLpENHGxrw8NHjuDTQ4didv/+usuhPOrvdOLhiRPxms+H/3vypO5yiCiKgYvIBu6trYXT4cDDEyfqLoV6weeGDcPVVVVYdegQF9ATFQgGLqI+7qXz5/HU2bO4b+xYjHK7dZdDvcAhgrWTJqEhFML9dXW6yyEiMHAR9WlhpbCsthbjy8qwdPRo3eVQL6qpqsLnhw/HI8eO4WBbm+5yiGyPgYuoD/vViRN4u6UFP5gwAWUlJbrLoV52//jxKBXBqkOHdJdCZHsMXER9VEs4jG8ePowPV1VhwZAhusshDUa63fjamDF4oqEBf75wQXc5RLamPXCJSJmIvC4iu0Vkr4j8q+6aiPqCNUeP4mQwiH+bOJEd5W3sq2PGYLjLhRWHDkGxTQSRNtoDF4AAgOuVUlcAqAYwR0Q+pLkmoqJ2JhjEw0eP4uODB+Pqfv10l0MaVZaW4tsXXYRXL1zA5rNndZdDZFvaA5cyNEe/dEY/+DaMqAceOHIELeEw7h8/XncpVAAWjRiByeXl+Jf332czVCJNtAcuABCREhHZBeA0gBeUUq/promoWB0PBPCT48fx98OHY6rHo7scKgBOhwPfHTcOb7e0YP3p07rLIbKlgghcSqmwUqoawGgAHxSRaYmPEZE7RWSHiOxoaGjo/SKJisT9dXWIAPjWRRfpLoUKyCeHDsXlHg++c/gw2iMR3eUQ2U5BBC6TUqoRwMsA5iS57zGlVI1SqmYIr7giSqrO78e6EyewaMQIjC8v110OFRCHCL47bhzea2vD4xzlIup12gOXiAwRkf7Rz8sBfBTAu3qrIipOD9TVQQD8y9ixukuhAnTr4MG4srIS3+MoF1Gv0x64AIwAsFVE3gLwBow1XH/QXBNR0Tni9+NXJ09i0YgRGFNWprscKkAigm+PG4eDfj9HuYh6WanuApRSbwG4UncdRMXuB0eOAABWcXSL0pg/aBCu8HjwQF0dPjtsGErYo42oVxTCCBcR9dCJQAC/OHECnx8+HGM5ukVpiAjuu+givNfWhg28AImo1zBwEfUBa44dQ0gprBwzRncpVARuHzIEl1RU4IG6OnafJ+olDFxERa4xFMJP6+uxcOhQTKqo0F0OFYESEawcMwa7W1rw7LlzusshsgUGLqIi99P6ejSHw1jB0S3KwaeHDcNot7tj7R8R5RcDF1ER84fDWHvsGG4aMADVXq/ucqiIuBwOLBs9Gq9cuIDXm5p0l0PU5zFwERWx/z59GqdCIXyNo1vUDV8aMQL9Skrwf44e1V0KUZ/HwEVUpJRSWH30KK7weHDDgAG6y6Ei5C0txZ0jR2JDQwPq/H7d5RD1aQxcREXqhfPnsbe1FcvGjIGwlxJ10z2jRgEAHj12THMlRH0bAxdRkVp77BiGOZ34u6FDdZdCRWxMWRk+MXQofnHiBJrb23WXQ9RnMXARFaEDra3Ycu4c7ho1Cm4H/4ypZ5aMGoUL4TD+69Qp3aUQ9Vn8l5qoCP34+HE4RfBPI0boLoX6gKuqqlDj9eLHx4+zESpRnjBwERWZ5vZ2/OfJk/jEkCEY7nbrLof6ABHBPaNGYV9rK/6nsVF3OUR9EgMXUZF5/PRpNIXDuDu62JnICp8cMgSDSkvxk+PHdZdC1CcxcBEVEaUUfnr8OK7wePChqird5VAfUlZSgkUjRuCpM2dwPBDQXQ5Rn8PARVREXmtqwu6WFvzzyJFsBUGW+6eRIxEGsO7ECd2lEPU5DFxEReRnJ06gsqQEnxk2THcp1AdNKC/HTQMG4BcnTiDMxfNElmLgIioSF9rbsf70aXxq6FB4S0t1l0N91JdGjMDRQADPnTunuxSiPoWBi6hI/PbUKbRFIvgSW0FQHs0fPBhDnU78nNOKRJZi4CIqEutOnMB0jwc1Xq/uUqgPczkc+Pzw4XjmzBmcCgZ1l0PUZzBwERWBt5ubsbO5GYtGjOBiecq7fxw+HGEAvz55UncpRH0GAxdREfjVyZNwiuDT3DeResEl0bYj/3nyJDvPE1mEgYuowIUiEfzm1Cl8bNAgDHa5dJdDNvGF4cOxt7UVO3w+3aUQ9QkMXEQF7tlz59AQCuELw4frLoVs5JNDhqDM4eCG1kQWYeAiKnC/PnUKg51OzBk4UHcpZCP9nU7MHzQIvzt9GqFIRHc5REWPgYuogF1ob8fTZ87g74YOhdPBP1fqXZ8bNgxnQiE8y55cRD3Gf8GJCtiGhgYElMJn2VmeNPjbgQMx2OnEbzitSNRjDFxEBey/T53CpPJyfJC9t0gDp8OBTw4ZgqfPnoWvvV13OURFjYGLqECdDASwtbERnxo6lL23SJtPDR0KfySCp86c0V0KUVFj4CIqUL9vaEAExgmPSJer+/XDWLcbvzt9WncpREWNgYuoQK0/fRrTPR5c6vHoLoVszCGCTw4diufOn8e5UEh3OURFS3vgEpExIrJVRPaJyF4RWaK7JiLdjvr9+FNTExZydIsKwMIhQ9CuFJ7ktCJRt2kPXADaAdyrlLoUwIcAfEVEpmquiUirDQ0NAIBPDBmiuRIiYKbXi/FlZfh/0d9LIsqd9sCllDqhlHoz+rkPwD4Ao/RWRaTX/2towBUeDyZXVOguhQgiggVDhuDF8+dxntOKRN2iPXDFE5FxAK4E8JreSoj0OR4I4E9NTVjA0S0qIAui04q8WpGoewomcIlIJYANAJYqpZqS3H+niOwQkR0NHNamPsxcJ8PARYXkA14vxrjd2MjARdQtBRG4RMQJI2w9rpTamOwxSqnHlFI1SqmaITwRUR+2qaEBl1RU4BJenUgFRERw2+DBeP7cOTSzCSpRzrQHLjE6Ov4CwD6l1Grd9RDpdC4UwsuNjbht8GDdpRB1cdvgwQgohefOn9ddClHR0R64AFwD4HMArheRXdGPubqLItJh89mzCAO4lYGLCtC1/fphYGkpNnFZB1HOSnUXoJR6FQD3LSEC8NSZMxjpcuED3DuRClCpw4FbBg3CU2fPIhSJwOkohPfsRMWBfy1EBSIQieC58+fxsUGD4ODeiVSg5g8ejMb2dvzvhQu6SyEqKgxcRAXilcZGNIfDmM/pRCpgNw0YAJcInjl7VncpREWFgYuoQDxz9izKHQ5c37+/7lKIUqosLcXf9O+PPzBwEeWEgYuoACilsPnsWdwwYADKS0p0l0OU1rxBg/BeWxsOtLbqLoWoaDBwERWAd1tb8b7fj3kDB+ouhSijjw0aBADYcu6c5kqIigcDF1EBeDZ64ro5eiIjKmTjy8sxpbwcf+S0IlHWGLiICsAfz53DpRUVuKisTHcpRFm5edAgvNzYiNZwWHcpREWBgYtIs5ZwGNsaGzGH04lUROYMHIiAUnilsVF3KURFgYGLSLNXGhsRUIqBi4rKrH79UOZwdEyHE1F6DFxEmj1/7hzKHA7M6tdPdylEWSsvKcHsfv3wPPdVJMoKAxeRZi+cP4/r+vVDGdtBUJG5ceBAvNvaimN+v+5SiAoeAxeRRvWBAN5pbcWNAwboLoUoZ+bv7Ysc5SLKiIGLSCPzRMXARcVomseDoU4nXmDgIsqIgYtIo5fOn8eg0lJMr6zUXQpRzhwiuGHAAPxPYyOUUrrLISpoDFxEmiil8D+Njbh+wAA4RHSXQ9QtNwwYgJPBIPZxmx+itBi4iDSpbWvDsUCAm1VTUfub6O/v/3BakSgtBi4iTV6ONoz8CAMXFbHxZWUY63Z3/D4TUXIMXESavNzYiOEuF6ZUVOguhajbRAQf6d8fr1y4wHVcRGkwcBFpoJTCy42N+Ej//hCu36Ii95H+/XEmFMI7XMdFlBIDF5EGB9vaUB8MYja7y1MfMDs6Lc5pRaLUGLiINNh+4QIAYBbXb1EfML6sDKNcLmxn4CJKiYGLSIPtFy5gUGkpLuH6LeoDRATX9e+PV7mOiyglBi4iDV69cAHX9OvH/lvUZ1zXrx+OB4M4zH0ViZJi4CLqZaeCQRxoa8O1XL9Ffcg10d/nV6PT5UTUGQMXUS/7U/SEdA0DF/Uh0zweVJWU4H8ZuIiSYuAi6mV/amqCWwQzvV7dpRBZpkQEH6qqwp+amnSXQlSQGLiIetmfL1zATK8Xbgf//KhvubpfP+xpaUFTe7vuUogKDv/FJ+pFwUgEO3w+fLiqSncpRJb7cFUVFIDXOcpF1AUDF1Ev2t3cjIBSuIqBi/qgD0anyf/CwEXUBQMXUS8yT0QfYuCiPqi/04lLKirwms+nuxSigqM9cInIL0XktIjs0V0LUb697vNhhMuF0W637lKKn1LApk3Gf7O5PdNjlAI2bjQ+Em/PdDzqcJXXi9eamtgAlSiB9sAF4D8BzNFdBFFveL2pCR/0erlhtRWefBK4/XZg2bJYGFLK+Pr22437c/neTZuAO+4wPjZtyu141OGqqio0hEKoYwNUok60By6l1DYA53TXQZRvjaEQ3mtrwwc5nWiNj38cWLIEWLs2FpyWLTO+XrLEuD+X733lldj9r7yS2/GKiC/gw7o312HlCyux7s118AWsnf4zf7/f4LQiUSelugsgsoudzc0AgBr237KGCLBmjfH52rXGB2CEozVrjPtz/d7Fi43/Pvqo8ZHqeEoZI14f/3h2t+eJL+DD+r3rceDsAUweNBkLL1sIrzv179erR17F3MfnIqIiaAm1wOP0YPlzy7HlM1tw7dhrLanpco8HLhG84fPhE0OHWnJMor5ACmGeXUTGAfiDUmpamsfcCeBOABg7duzMurq63imOyCI/OHIEqw4dwplrrsEgp1N3OcUlXcAxpwJNkUj2YUcpIL4fWiRi/DfxtsTjbdpkTDPGh7H4EbGNG4HbbsuqhFxDkylZeHKIA0984gkcaTrS5Xi+gA+jVo+CL9h15Mnr8qL+3npUuiqzqjmTD+zcCW9JCf6nutqS4xEVExHZqZSqSby9aEa4lFKPAXgMAGpqavSnRKIc7fT5ML6sjGGrO8w1V4kBZ+nS2EiUadmyzCNcQCwgxVu6tOvjkh0vfkoSMO7vxvRjd0ecfAEf5j4+t1N4agm1AAD+9vG/RUVpBVrbWzsd790z7yKiIkmPF1ERrN+zHotmLMqq7kxqvF789tQpKKW4XpEoSvsaLiK72OnzcTuf7kq25io+bC1ebIxEJT4mlcT1WZGIcQxzKjHT8cwpSfN+hyN2rGzCHjqHJjMstYRa4AsatzcHm1N+7/q961OGJwBobW/tcrx3Gt7peJ5ELaEW1J6rzVhztmZUVuJCOIyDbW2WHZOo2GkPXCLyWwB/BjBFRI6JiDVvsYgKSGMohEN+P2ZUWjNlYxvmlCHQNeDEh61HHukagjJdpZgYkGbPjt0/e3bm48WvAzNlGbaA9KHJHHFK5cDZAynDU6rjnW09C4/Tk/R+j9ODSQMnZX28TMw3Fm82pw6NRHajPXAppT6llBqhlHIqpUYrpX6huyYiq/01euK5spgDV0/6XnVXfPsGoGvAWbEiFraAWAjauDHzVYobN3YOSLfdBmzYYHyY66/SHS/ZlGSmkbU46UJTphGnyYMmpwxPqY43qHwQHJL8n3yHOLBw2sKsj5fJZR4PnCIdv/dEVACBi8gOzBPPjGKeUuxJ3ytTtqHN/PrWW2MjTEuXGp/HS9brScQITJmuUkx8jIjxc9x+e9fbEx+bbEoy2+nMqHShKdOI08LLFqYMT6mON3HgRNxVcxdcDhfcJe6O270uL7Z8ZotlC+YBwO1wYGpFBf7K1hBEHYpm0TxRMdvd3IzhLheGuly6S+m+ni4UVwpYtQp4+OHOU3mRCDB/PrB5c+zqvvhF8qtXG98bvzh+3jxg4kTjNnMUqjcXZyebkoxvMzF7dsarFBdethDLn1ue9L5MI05etxGS4hfcVzgr0BpqTfp4BYVVL66CgkIwEoSrxAWnw4kvzfgSJg6ciGf2P4N3z7yb9RWS2aiurMSz59hikchUEG0hclVTU6N27NihuwyirF3xxhsY6Xbjj9On6y6lZ+JHdkzpForHt3MwQ1R1NbBrlxGannoKqKmJff3MM11bLCxZAlx3HbBgQey44bDxuFzbMMTXA2T+PFWIs6gPV6rWDtn2xWoONmP9nvWoPVeLSQMnYUy/MVjw+wWdjiciCEfCaGtPvoDd4/R067kzWXP0KJYfPIiTV1+NYcX8RoMoR6naQjBwEeVZMBJB5fbtWD56NB6aOFF3OT2XrHdVqnAR369q9Wpg+XIjIA0eDJw5E3tcdTWwc2fn4yYLdyYz5AG5NRqNr2fWLKN/V3yz0w0bgG3bOoe4NOHKt+G3WD++BQfO1WJynQ8LP/sQvGVVnR6Tqb7E0LRw2sIeTe8lHq+tvQ2rXlyV9SJ7q3pybT1/Htfv3o3npk/HTQMH9uhYRMWk6PtwERWr/a2tCCmF6cW8YN6UaqF4qhGuxGnI1auNbXN27er8uJ07je/ftCkWTkSMx8cHrnA4FtoA43mzbDDapR6lYq0gAOPzV14xvo6fIk3RA+zVr34Sc91PIPKOGy0qAE8AWP7QOmz5wku49qLrsm6EWumqtKz/VbLjrXxhZc5XNFrRk+tyj7E+7a3mZgYuIjBwEeXdWy3GyW66J/urygpS4jRf/BouIHnoSrWFTqLly2MjTvGjV/Pnd33c6tWx42WxViptPfFSbeWTZO2ab9lXMLfiCfjcAFQAANDiBoAQ5v7qBtR//SwqV36zIPZhNBfnZxu6rOrJNdjlwgiXq+P3n8juGLiI8uzt5mY4RTClokJ3KT3T3YXi5uNSha3q6s4jTubngLGQHgDuucc4TvxI2ezZ3QsymepJDI5JQuP6GUDkllIA7V2+PRIMYf2Hq7Dor8ipEWq+pFucn4yVPbmmezzYw8BFBICBiyjv3m5pwSUVFXA6irwLi9m7Kn49khlG0oWfZNOQgwcDJ08C995rhJjq6tgaqvhgBcQam5rP152RrUz1xEs2RZoQ0g4MBFqka9gCjJGuWnMGLe443d0zsafMKxpv/s3NCEaCCIaDcDqcCEVCSR9vZU+uaR4Pfnz8OMJKoYRb/JDNMXAR5dnelhZ8uF8/3WX0nNmPKtvbgc7TkPPmGSNW48YBhw8bYSt+enDFCuM4t93WOXDFNzZdvRpwu43+XInPk83i+fh64hfLA7Gvk02RJoS0yecAjypNGro8AWCS2Q0hGt5ePfq/3doz0VICCIyfxyEOlJeWQ0QgkC5XKVrVk2uax4OAUqhtayv+EV6iHiryt9xEha25vR11gQCmFcL6LV2d4s1pyKefNkbIDh6MrYl66qlYJ/eHHjJquOWWzsdYtsy4EnLTJuN4Dz9srOXqTvPV+Hpmz47tm2gunp89u+tWPkmanC687i44gslHuBwuJxb+uanjOL5lX+n2nolWMPdsbA42IxA21psFwgG0tbfBAQd+cOMPsOqaVVg7Zy3q7623NABeFv2938tpRSIGLqJ82tdqNKKcWgjv7nPpFG9VOIvfQsfhMEavHI7O2+XEj5CZDVCrq40rEs3wM3OmUSPQtaN7Ls1X4+u57Tbj80ceMT7MKwkTt/JJsnbNu+bfsSWwAN4A4JFo1/YA4FVObPnCS6h0ezv2YVy//aeIhIJJy8m0Z6IV0u3ZqKBQVlKGBz/6IBbNWGRpt3kAuDT6e/8OAxcRAxdRPr1jBq5CGOGKv9ouU1ixYhsfIPU2O8luf/LJWNjatSt2RWJ8o1QzEMVvYp24kN+ULByKxJqwArEa4utJrC3ZvosiuPbffo/6GY9j7cd+jFXXrMTaiV9G/dfPGi0hoo/xPfRdPPHparREr2RMZNUVgen0ZM/GnqosLcVYt7vjjQeRnXENF1Ee7WtpgVMEE8vKdJeSukVDsrDS0218usMMNrfeGuu1ZT7/vHnGlKRZY+JVhsmuBEzRPyvn7vRp1q5VLvg0UnWrMrvIm9N4yVh5RWAq6dpC9MbzT/V4Ot54ENkZR7iI8ujd1lZMLi9HaaFcoRgfukzp+mdlM5JkZW3xU47xnnkm1oU+VfPVxGnOXEb0LGaum/IFfQiGk08nAtZeEZhKuo2ue+P5L6mowP7WVkSKcFcTIisVyFmAqG96t7UVlxTC+i1TtmEFSB7OZs1KfkwrF92nqzHJAvYuoSqx/t4MjVHp1k0BgLvEDa/La+kVgamYbSG8Li88TmNq2+P09NrzX1pRgbZIBEf8/rw+D1GhY+AiypNQJIKDfn/hBK50YeWWW4yv40UiXa8YvOMOYOnSnq3r6m6Ny5YZwS5Z89XEKwtN2Y7oWSzduikAuH789ZZfEZjOtWOvRf299Vg7Z23erkhMxWwHsb8t+ebZRHbBNVxEeXLI70e7UoXTfyhVp/jaWmOx+vz5xtSdiBF0Zs6MLVZ/5hkjaD36aKxv1SOPWD9Fl6mb/axZuTVfzXXvR4tkWjd1x6V35HVkKVWTVSv3bMzWlPJyAMaeon/LPRXJzpRSRfcxc+ZMRVTonm5oUNi6Vf25sVF3KYZIRKmNG43/xguHlZo3z5iwW7LEuN/8urrauN/8/sWLzYm92If5PVbUlc3n2f5s8fUuXmx8vWSJNTVn0ORvUt4HvArfQZcP7wNe5Qv48vbc2+u2K+8DXuW536PwHSjP/R7lfcCrttdtz9tzphOJRFTVtm3qK/v3a3l+ot4GYIdKkl04pUiUJ+9Fp1AuLpQRrlQtGhwOYwQrfq3T5s3GyNbOnbHF6iLGqNaGDZ2/v6ejRfEtKIDYFYHxU5Wpajdt2mQ8Nn66c9Om2GjcrFmZpx8t1N11U76AD+veXIeVL6zEujfXwRfw5fS88Yv1dTRZTUZEMLm8HAc4pUg2xylFojypbWvDwNJSDHQ6dZeSWbINnc3pxUTbtnX+uqdTdFa2oIif7nz55a73mz/nrFmxMbo8TS2a66bW71mP2nO1mDRwEhZOW5gybJltJHqy/c/6Pb9L3WQ1FMT6Pb/Dohlf7PbP1F2TKyrwWlNTrz8vUSHhCBdRnhxobcWk6PqVgpfN1Yu5XCGYCyuuJrztts57IzocwI9+FLt/2y5ufAgAACAASURBVLbO9W3bZlwAkMdRLgCodFVi0YxFGTu5WzUydeC1LambrKoAav+ypXs/SA9NLi9Hnd+PYOKFGUQ2wsBFlCe1bW3FEbiyDVKpFrRbMUXX06sJzelOM3SZ7rkntk9iL/fiykW6NhLZbP9jTkXurmqDSyX/Z92jSjHpQ3N7XGt3TCwvRwTAYbaGIBvjlCJRHgQjERwNBIojcGW6MnD2bGMEyewEn+0VgrnI19WEZn0imbvra9ST7XcSpyKR4kdyuMuxcNrfWVFuzsy/g9q2tsJZ00jUyzjCRZQHh/1+RGC8sy94iXsFKmWEsNWrO2/inEqmBe2ZWDFVqVSsbUU8c2Rr9erOtxdQ2AJibSSSSbf9TrKpyA7Rl80TgLFYf8wqVKZ4jnwzt7Y6yIXzZGMMXER5cCh6YplQCHsoZpIYmMyrBpcvj41mWd3gNJ4VU5XxVyQuXmyEtvg1XfPnd358T9acdVO6KxC7tf2OUlj/65UppyLdYeDm94C1zwL1G8bh2s/dl/c1a6kMc7lQ4XDgEKcUycYYuIjywDyxTCiGEa5Evb0HYeIIGxALXdmMsMVbvNhYy2Wu6brnHuP2zZuzGj3raVuGVF498ipGrR6Fpc8uxcN/ehhLn12KUatH4dUjrwLoZhuJJ5/EgfU/TTkVGSgFrviHlVikqlG5822gutr4+RODptVbMyUhIphQXt7xRoTIjkQV4YaiNTU1aseOHbrLIErpawcP4kfHjqF11iw4CmjqKi1zKtEMOGbIMsWHmZ4cO/77U91u1fE3bjSuRoyvPT5AbtzY0fcrWVsGhzhyasuQjC/gw6jVo+ALdg1vXpcX9ffWdwSq5mBz1m0koBTWrbwRS0tfQou7692egDG6teivMMLWrl3GHfEjiSlei3yY//bbOOz3460PfCBvz0FUCERkp1KqJvF2jnAR5cFhvx8XlZUVT9gCujYgTbxqcPbs7oei+GPnYx/GVOvIbrvNCBLxQTHJ6Fk+G4bmcgVitm0kzJ9j4Xc3wuFK3ufNAWDh3ugXO3fC9/vfYN3XrsfKvWuxbuWN8PmbevWKzXFlZTjs96MY3+QTWYGBiygPDvv9GFcM67fixU8lLl1qfMR75ZXuTztlmqa89dbk01o9ne5KFcQSbreqLUOyqcieXIGYibesClu+8BK8AWNEC4hORSontjwOVEZ7oL76tYUYVXsXlvZ/DQ9fCywtfQmjvtsPr27Ksd9ZD1xUVgZfOIzz7e15fR6iQsW2EER5UOf3Y8bgwbrLyI058qNU56v94hefx7dZ6M6xgeTtGcwRMCumu7oxfZk5FB1I+XSZOsRn2sg61RWIWVEK167ZgPqfAusvA2oHApMqB2LhH4+i8i7jtfQt+wrmun8KX1wDenMKcu5ngPpvfw+VgBFs8zXlC3S8Aanz+4tj9wUiixXECJeIzBGR/SJSKyKrdNdD1BOt4TAaQiGMLbYRLsA4qc6e3fm2Rx4xPnra4DRdc1MrF+p3Y/pycp2vY4QokScATKpLvng+m6nIbl2BmI2416jyriVYtDOCB8vmYdFTR1E5tdpohSGC9Z+7EhFX8vfWEQDrv3lbbC/KfE35ArjIbaS8Ol6pSDaVdeASkRtF5OciUh39+k4rChCREgD/DuBmAFMBfEpEplpxbCIdjgaMM/dYd5KVzIVOKWPqMF78mq5crxpMPHZic9NbbjGunLNiex9TN8Lbws8+lHotlMuJhZ99KOl92UxFdncj64yStdN4+mlj0/Fdu4CnngIAHDhXixZJPo3X4gZq33zJ+H++eHFer0w134CYfx9EdpPLlOKXAXwBwDdEZCCAaotq+CCAWqXUIQAQkd8BuBXAOxYdn6hXHY2+gy+6ES7zJPvoo7GTePyVimvWdP8qtsQT+Jo1RtjavBmYORPYudMIWatXd74yMkXY8gV8WL93PQ6cPYDJgyZj4WUL4XV7jTszTV8mOZ65Fmrur25AJBhCi9sY2XK4nNjyhZdQaR47Qbbrs3LdyDoryTr/OxzGpuNxV5tmnNKc8SHgh48CGzbktSP/EKcTZQ4HjjBwkU1l3RZCRB5TSt0Z/fwhADcopXp8fa+ILAAwRyn1xejXnwNwlVLq7lTfw7YQVMh+eeIEFu3fj0NXXYXxxdSHy5xWykfbgGTHjkSMsLVrlzEq8/TTsa9NSU74WbdvUMoIICZzJC2N5oAP6z9cZayFOgcs/HNTyrAFAOveXIelzy5NGWbWzlmLRTMWZX59uiuL9Wq+YHP6thTLj6Nyy4uxUawcX7NcTH7tNcysrMTvLrvMsmMSFRor2kJsNj9RSq0C8F9WFIbkO391SYEicqeI7BCRHQ0NDRY9NZH1jkXfwY8stilFKxuQZnNsh8MY2Zo3zxjpKikxwlZ1NRAOJ21QmnX7hlR7M6Z7g6kUKld+E4v+Cjz4ktG/qnLlN9N+T97WZ2Uri/VqGac03d5YkM71NcvRGLebU4pkWxkDl4g8IiKilHoq/nal1I8squEYgDFxX48GUJ/4IKXUY0qpGqVUzZAhQyx6aiLrHQ0EMNTphNtRENekZC/LFgrdPbZv7kex7q+/6Nw6wZwCi2dOLybZ3ier9g3d2Zuxm/s55m19VrayXK9mTmmunbMWq65ZhbVz1qL+3vrYiKAV+1lmYbTb3fGGhMh2lFJpPwB8H8AzACqiX98E4H8zfV+2HzDWkR0CMB6AC8BuAJel+56ZM2cqokJ18+7dasYbb+guI78iEaU2bjT+m8Xt2+u2K+8DXuW536PwHSjP/R7lfcCrth/eptSSJUoZp3TjY8mS2PcnHG/F8ysUvoOUH3N+PUet+PePq5/PgGpaclfn45jPs3Fj15pXrOj63OGwUvPmJf+eBL6AT63buU6temGVWrdznfIFfN16Wbsl/mdL9hpmY+PG5K99qtesm1YdPKhKX35ZhXOpjajIANihkuWdZDd2eRDwaQBvAHgVwHMArsvm+7L9ADAXwHsADgK4L9PjGbiokE1//XV1y1tv6S4jv3I4QTf5m5T3AW/SgOT9tlP5XHHHMb8/RWD4+c6fd4S2ZB+u77mMQPevbiPQ1W2PfXOyMBgftubNM0KWUp3D1ooVuYUXHSKRzoErU72Jr4X5dTic/HaLfv4fHT2qsHWrOhkIWHI8okKUKnBlM6V4A4AvAWgBMATAYqXUdkuG16KUUluUUhcrpSYqpe638thEva0+GMRIl0t3GfmVQ+uFtNOAwRDWL7khtrYryTRivHRrpgAgGDa6e7aoQNd1XfFToyrawX7TJuDhh411Y5s3Gz/Dhg3AjBnG1/PmAQ89lPcu7D0SiRhXfMZbtsy4PVWX/sS1X2YvtOXLO/fdsmI6Oc6o6LrG45xWJBvKZpHJfQC+qZT6CIAFANaLyPV5rYqoSAUjEZwJhYpvwXyucuiblbZ1ghuovakm4yJ9c+uc72/7Pu6quQuVrsqONVPuktSvdcpteczAYfaf2rULuOIKoyXGggXA7t1GCHv66cIOW0oB8+cb4TDxYoOZM1M3LbWy0WwORkTfiJwIBjM8kqjvydiHSyl1fdznb4vIzQA2ALg6n4URFaOT0RPJiL4+wgXEwlGGvlmZt7aZ3PW4ce0nkrWBEAju/uDdEAh2ndyFZw8+m7TElHsVxgeOxYuNj/jtjIDY4v1C9uSTsbC1a5cxQrV6tREkzXYbycJTN3qVWcF8I1LPES6yoZz/NVFKnQBwQx5qISp65jv34XYIXFm2XuhJ64RUbSCaQ834yRs/wX2z7sMdU+/oGO1KlHKvwvgRukcf7Rq2ACO8WNgSIS/Mdhs7d8YCpNlew+xtlio8pdtqKU+GcYSLbKxbb9+UUm1WF0LUF9hmhCuHNgI9aZ2QTRuIbge6ZIHDVF1teUuEvDBHA802GvGeeSb9CF13epX1kNvhwMDSUpxi4CIbKvDxcqLicsouI1zJ9vFLs+A9Yx+oFLLZOifnQGcumI9EgKVLO983bx5wzz2xBqzZbtZtHjMxrKS63Wq5hqde6ruVzDCXq+ONCZGd5LKXIhFlYAauoX09cCXbx88MXbNnJ103VOmqzHmbm8zrv4zpwpz2KjQXzJvrngDg5puBEydiVyaaa7pWrMhuAbl5zHxsi5RJYnhKtgdm4jRhqsAMGLfPnp23eoe5XBzhIntK1iui0D/Yh4sK1Vf271f9t2/P/EDKStoeXg94u9dgNBKJ9diqrlbqiSeUWrw49jWg1IYNufWfStZDLENPMct0p2lpjo1rrbRwzx416S9/ydvxiXRDij5cHOEistDpUAjDnE7dZRQtX8CH9XvX48DZA5g8aDIWXrYQWz6zJeVm1d3aOkfEWExutlNYsMC4fckS4wq/p57quhl0Nse0+qo/lXlj6o7+WYmjjQAwa5bxET9CF/+9yUawEq4QzYehLhcaOMJFNiSqkBeEplBTU6N27NihuwyiLv5m1y60K4XtV16pu5Sik6z9gxmsqodXZzddmAulOi8qj0R6foWelcfctKn705Q9+d48+97hw/jW4cMIzJoFV6G33SDqBhHZqZSqSbydv+1EFmoIBjGEI1w5S9X+wewWDwCLZizCgx99EItmLLImbPXkCr1ki+GV6roIvycL0HvSnFRTY9NsmOsbG0IhbTUQ6cDARWShhlCIgasbsmn/YBkrrtBL3BrHDFtmP68NG3p+1V8O3fwt/d48Gxz9++C0ItkNAxeRRZRSOBsKdZxQKHvZtH/o0NMWDDm2tEgqcQRp06ZY2Fq82Jiuy/WYyfSkOamGxqbZMP8+zra3a62DqLcxcBFZ5EJ7O8IABjFw5cxs/5BMl27xiaNLQGzUKtXegfHMRebx4SPFHo4pJYa0O+4wbl+8GHjkEeP+XI+ZTE+mPjU0Ns2GGbjOcEqRbIaBi8gi5jt2Bq7c5dQtvqfrk8wr8RJHelLdnu44iSNIZtjq7jHj9WTqM9333nKL8XXi43ujQSuAQaXGxfHnGLjIZhi4iCxinkAGlrLbSq5y6hZfKOuTujuClO2UaE+mPlN977x5RiuM+fO7NzpogYHmlCIDF9lNsuZchf7BxqdUiJ49e1Zh61b1amOj7lKKli/gU+t2rlOrXlil1u1cl76xaSRiLlc3PsLh3mvm2ZNGp5kala5YYXwdX3c2n8cLh43jhMNdbzebvvZ2g9Y4nldeUcsOHOiV5yLqbUjR+FR7eOrOBwMXFaLfnjypsHWreqe5WXcpRaPJ36R+vvPnasXzK9TPd/5cNfmbsrqvU1AwPxKDROLjknVc767udHdPVnti6DF/hnnzYmEpWRjrSR3JXrteDFtKKTXmT39S/7BvX689H1FvYuAiyrOfHDumsHWrOuH36y6lKGyv2668D3iV536PwnegPPd7lPcBr9petz3tfWkDi7k1T75Hb3q6NU6q0BM/AlVdbXyd+LPFh6jujrQljg72YthSSqnLX39d3frWW736nES9JVXgYqd5Ios8UFeH+95/H63XXYfykhLd5RQ0X8CHUatHwRf0dbmv0lkJCNAcbO5yn9flRf3k/0DlJz6Tuou6uU7JVAC9p5JSKbrSRyLAzJmxjbWB2EbbyX6W+J/dlO5nzvXxeTDrr3+FA8DL3JGB+iB2mifKswvt7XCLMGyl4Av4sO7NdVj5wkrcveVuhCPhpI8LRoIIhZMvqI6oCNZPaE3f1uHppzt/U6GGrVQL7h0OYOfOzvelCltAbv224sNWd5u+WqB/aSka2YeLbIaXUxFZpLG9HVVFfoViss2jvW5vj4+buE+i0+FEKJI8VAXDqTuQG01QDwK3fbHrneZGzsmCTCGFrsTQs2ZN5xGn1auB5cu7ft/q1elDVLxUP3OqqxcB4/bZs3tlj8V+paW4EE4euIn6quI+OxAVkKZwGP2KOHAl2zx6+XPLseUzW3Dt2GuzOkaywAagY59EU6qwBQCuEhcEgkA40OW+Lk1Q42UKMoUSujKFntpaY0rUnEY0zZxpjHzFT0Pm+jObTV8//vGuo4OzZ/faHotVJSVo4ggX2Uzxnh2ICkxTezuqinQ6MX7zaJO51c7cx+ei/t76jBtGpwpsd33grpT7JCbjcrgAQdLA1aUJarzEIAMAs2YZoSR+9EYp47HxoaM3pQs9bjfw8MOd12ytXh1b0zV/PvDMM7Hvy3XEymzEmijV7XnSr7QUF9rbjYXEhRCCiXoB13ARWaQpHC7oKcX4NVTr3lwHXyAWrnq6eXR8YDODWkuoBb6gD2v+vCblPokAUCrGa2Y2Ov3jZ/+IP37mj9k1QY2XuGXPk0/GttzZsMG43xwR6qUmn0kldp9X0YanAPDQQ8CKFUa4WrzYCIwixsiWeTFAfN1WbFOkQVVJCcIA/Ikd74n6sMI9OxAVGV97Oy4qK9NdRlKZpgv3nt6b/ebRSaQLbCICd4k75RThgqkLMKJyBCYNnISF0xZ2BKr6e+uxfs961J6r7XJfiifqPEoTvwWQeV/iFkCpRrviQ1Di1jxWj5CZe0Oao1QPPQRcdRXwyitGYNy40ajhmWdiz5vqZ850e4HwRt+Y+MJhXmRCtsHARWSR5nAYlQV48sg0XfjEJ5/AT3f8NOX3p103FXXg7IGUgS0YDsJV4kp6n0Mc+PHcHycNUpWuSiyasSjt86aVOL1mrmuKn37btKlz2ElsMZH4+Pj7zCDUU/HBEDCea9s24NFHO+8NWeAhKhfm34kvHMZQzbUQ9RZOKRJZpFADV7rRp3AkjFt/d2vS0SdT2nVTUZMHTe6Y/kvkcXqw7KpluU8RWiFTy4R0G2EvXmx8dHeT7HTMETSler43ZPyxsrm9AHijfyfNvFKRbISBi8gizeEwPAUYuNKNPrW2t6bshwUAZaVlWYWihZcthEOS/3MSCocwut9o7L97P9bOWYtV16zC2jlrUX9vfdZXP2YtMWSk63cFpA87jzxifORjk2xzGjG+luuu6/yYNWuM+1auNPplpfo5448ViRi3RyKd16oVWPjyMHCRDTFwEVlAKYXWSKQgA1e60adSKU3bouHLNV/OKhR53cZoVfwolikYCWLVi6sw5cdTMGXwFDz40QexaMaino9sJQsRZvi45RYgHI6NSFVXG/fPm9e1yWe6UbBcmormInFkbeNGYMGCzo9ZutS4KvHhh43/JoZIM0zFH2v+fOP2mTNj4fDWW/VfKJDAE21t0cLARTbCwEVkAX8kAoXYiaSQpBt9KnGUpJ0KnDpkatbPc+3Ya1F/bz1+8NEfwOlwdrrPvGJx7uNzk27Z0y3JRoluvdUIV5s3GwvPzbBltlh4+ulYODHDR7pRsEwjZN2VOLIWH7buuceYynz00Vg/rs2bU09rxh/L3NJo1y7j+8wmqlZMg1rIfGPSysBFNqL17CAinxCRvSISEZEu+w4RFYvW6JRPRQGOcCUbfTLXUD39qadThrFs1m4lqnRVwl3qTrlIPpsWE1lLtv5q+fJY2DC3x4nfFsfh6NwyId1WN0uXGh/52gYn2ejZPfcAP/qREbZM3/hG5mnNZMfatQsoKbFuGtRC5t9JK9tCkI3ovkpxD4DbAfxMcx1EPWK+U68owBEuIDb6lKzNwpbPbOnSMsIhjm4vaE+3ZiybFhNZS3cV4urVRtgwJYYT82q/TZvSNw41j5ePbXCSjZ4lBqING4znuP32zptNp9rAOpUCCltA7O+kjYGLbETr2UEptU8ptV9nDURWME8chdxTyGyzkLiGygxjVi1oz3TFYqYWEzlJNrKTbC/CVCNS6RqHbthgfOSjqWiykTVzGjHetm2ZpzUTjxUOx9asZfr5NSk3AxenFMlGdI9wEfUJZsfs8gId4cqkxz2v4iy8bCGWP5dk82V0b5oyrWRhxNwGJ5u9BdM1Dr399uTPaUU/rGTbEMXbsMEIW2vXGg1Q0/088ccyw6Y5rbprV+xCgWQ/vyZlHOEiO1JK5fUDwIswpg4TP26Ne8zLAGoyHOdOADsA7Bg7dqwiKiSvXbigsHWr2nzmjO5SCsL2uu3K+4BXee73KHwHynO/R3kf8Krtddute5JIRKklS4yl7UuWGF/Pm2d8XV2tVDjc9XEbN1r3/D0RiRi1RCLG1xs3GvUtXqzUhg3G7fE/z7x5sccm/jzxxzKPs2SJ8fNv3Gj8t8B+/vZIRGHrVvXd99/XXQqR5QDsUElyjKgCGGYWkZcBfFUptSObx9fU1KgdO7J6KFGv2NbYiNm7duHFK67ADQMG6C6nIDQHm3PbmidXybrERyJGa4TNmzt3gte9YXUmqeqLRICvfx148EFjwXymx+d6u0YlL7+MVWPH4v4JE3SXQmQpEdmplOpyISADF5EFXjh3Dje99Ra2V1fj2v79dZdjD0UULqgrz7ZtuGvkSPzbJAvX9BEVgFSBS3dbiNtE5BiADwPYLCLP6ayHqLsC0bUoriJdw1WUzLVUiaEq1e1UUFwOBwIF8IafqLdoXTSvlNoEYJPOGoisEIyeONwMXERZcYkgxEXzZCM8OxBZIBQNXE6OqhBlxeVwdLxRIbIDBi4iC5jv1Bm4iLLjFOl4o0JkBwxcRBZoj544Shm4iLJSKtLxd0NkBwxcRBZg4CLKDQMX2Q0DF5EFGLiIcsPARXbDwEVkAXNHuBIGLqKslIggzMBFNsLARWQB88TBwEWUHQeACAMX2QgDF5EFzNMG4xZRdhwiYBcushMGLiILmO/U+QdFlB1B7I0KkR3w/EBkgY4RLk4pEmVFABTCXr5EvYWBi8hCjFtE2eEIF9kNAxeRhXgCIcoe36CQnTBwEVnAPHFwioQoO/xLIbth4CKyQEfg0loFUfGIgGseyV4YuIgsYJ44GLiIsqOU4gmIbIW/70QWKIn+l52zibITgdGLi8guGLiILGCeONjIkSg7YaU63qgQ2QEDF5EFzC19OMJFlJ2wUhzhIlth4CKyQGn0xNHOwEWUlTBifzdEdsDARWQBBi6i3LQrxcBFtsLARWQBZ/TEEWLgIspKKBLp+LshsgMGLiILdASuCJfNE2UjqBQDF9kKAxeRBTjCRZSbkFJwOXgKIvvgbzuRBdzRE0eAI1xEWQlGInBxhItshIGLyALmO/UgR7iIshKIRDreqBDZAX/biSzgjr5T93OEiygjpRQCSjFwka3wt53IAmWcUiTKmjkSzMBFdsLfdiILmIGrjYGLKCNzJLicgYtshL/tRBYoLzF2heOUIlFmDFxkR/xtJ7JAOUe4iLLWGg4DYOAie9H62y4iPxSRd0XkLRHZJCL9ddZD1F0V0ROHeSIhotTMNybmyDCRHeh+e/ECgGlKqekA3gPwdc31EHVLRfTE0cLARZSR+XdSwREushGtv+1KqeeVUu3RL/8CYLTOeoi6y+VwoFQErZxSJMrIDFwejnCRjRTS24t/BPBH3UUQdZfH4eAIF1EWWqJvTBi4yE5K8/0EIvIigOFJ7rpPKfVU9DH3AWgH8Hia49wJ4E4AGDt2bB4qJeqZypISNDNwEWVkvjGpZOAiG8l74FJKfTTd/SLyeQAfA3CDUqn3RVFKPQbgMQCoqanh/ilUcBi4iLLji/6deBm4yEbyHrjSEZE5AFYCmK2UatVZC1FPeUtLO04kRJSar91YusvARXaiew3XjwF4AbwgIrtE5D8010PUbd6SEjS1t2d+IJHN+TilSDakdYRLKTVJ5/MTWamqpASHQiHdZRAVvKZwGGUOB5xsC0E2wt92IotUlZZyhIsoC03t7ejH0S2yGQYuIov0Ky1FE9dwEWV0ob0d/Uq1TrAQ9ToGLiKL9CspwYX2dqS52JaIAFwIhxm4yHYYuIgs0r+0FBGAVyoSZXA+FEJ/Bi6yGQYuIouYJ5BGruMiSquxvZ2Bi2yHgYvIIgOcTgDAeQYuorTOt7djAAMX2QwDF5FFBkZPIOfYGoIoJaUUAxfZEgMXkUUGRke4znGEiyillnAYIaU6/l6I7IKBi8giHOEiyuxs9A3JIAYushkGLiKLmCeQMwxcRCmdjf59DOKUItkMAxeRRSpKSlDucDBwEaVhBq7BHOEim2HgIrLQYKez44RCRF01mCNcDFxkMwxcRBYa4nR2nFCIqCvz72MIAxfZDAMXkYWGulwMXERpNASDcAC8SpFsh4GLyEJDnE6cDgZ1l0FUsBpCIQx2OuEQ0V0KUa9i4CKy0FCnE6dDIW5gTZTCqWAQw1wu3WUQ9ToGLiILDXO50BaJoJkbWBMldToUwlBOJ5INMXARWch8536S04pESZ3kCBfZFAMXkYWGR08kpxi4iLpQSuFkMNjxd0JkJwxcRBYyTyQnGLiIuvCFw2iLRBi4yJYYuIgsNIKBiygl8+9iBAMX2RADF5GFBjmdKBVh4CJK4kQgAAAY4XZrroSo9zFwEVnIIYIRLhfqoycWIoqpj74RGckRLrIhBi4ii41yu3GcgYuoC/PvYhRHuMiGGLiILDbK5cJxTikSdXEsEEBlSQmqSkt1l0LU6xi4iCw22u3GMY5wEXVxPBDAaI5ukU0xcBFZbLTbjeZwGBfa23WXQlRQjjFwkY0xcBFZbExZGQDgqN+vuRKiwnI0EMAYBi6yKQYuIouZJ5SjnFYk6hCKRHAiGGTgItti4CKymHlCOcLARdTheCAABWBsdASYyG60Bi4R+Z6IvCUiu0TkeREZqbMeIiuMdLtRKoI6TikSdaiLvgEZyxEusindI1w/VEpNV0pVA/gDgG9proeox0pEMNrtxhEGLqIO5huQizjCRTalNXAppZrivvQAULpqIbLSRW43DjNwEXUw/x44wkV2pb37nIjcD+DvAVwA8DeayyGyxLiyMrx4/rzuMogKRp3fj+EuF8pKSnSXQqRF3ke4RORFEdmT5ONWAFBK3aeUGgPgcQB3pznOnSKyQ0R2NDQ05Ltsoh4ZV1aG+mAQgUhEdylEBeF9vx/jOZ1INpb3ES6l1EezfOh/A9gM4NspjvMYgMcAoKamhlOPVNDGl5dD2upiaQAACWZJREFUwXhXf3FFhe5yiLR73+/H1VVVussg0kb3VYqT476cD+BdXbUQWWli9J38obY2zZUQ6ReKRHDU78eE8nLdpRBpo3sN10MiMgVABEAdgH/WXA+RJcwTyyEunCdCnd+PMGJvRIjsSGvgUkrdofP5ifJlhMuFcocDtRzhIsLB6BsPjnCRnenuw0XUJ4kIJpSV4SADF1HHG49JDFxkYwxcRHkyqbwcBxi4iFDb1oYKhwMjXC7dpRBpw8BFlCeTKypwqK0NYcWLasneDrS2YlJ5OUREdylE2jBwEeXJ5PJyBJTCUS6cJ5s70NaGyZxOJJtj4CLKk4ujJxhOK5KdhSIRHPL7MZn96MjmGLiI8sRseLq/tVVzJUT6HPb70a4UpnCEi2yOgYsoT0a4XPCWlGA/R7jIxt6NvuHgjgtkdwxcRHkiIphSUdFxwiGyI3OE9xIGLrI5Bi6iPLqkogL7Wlp0l0Gkzb7WVgx1OjHQ6dRdCpFWDFxEeXRpRQWOB4PwtbfrLoVIi32trRzdIgIDF1FeTY2eaPZxWpFsSCmFfa2tmOrx6C6FSDsGLqI8Mk8073BakWzoZDCIxvb2jjceRHbGwEWURxPKyuASwV6OcJEN7Y2+0eAIFxEDF1FelTocuKSiouPEQ2Qn5huNyzjCRcTARZRv0zwe7GHgIhva09KCQaWlGMZNq4kYuIjy7XKPB0cDAVzglYpkM283N+PyykpuWk0EBi6ivLu8shIAOMpFthJRCntaWnA5128RAWDgIso784Szu7lZcyVEved9vx8tkQimM3ARAWDgIsq7MW43BpSW4i0GLrIR8w3GFdERXiK7Y+AiyjMRwXSPB7sYuMhGdjc3wwHgMo5wEQFg4CLqFVdUVuLtlhaEldJdClGv2N3cjMnl5agoKdFdClFBYOAi6gXVlZVojURQ29amuxSiXvHX5mZc6fXqLoOoYDBwEfWCK6PrWN70+TRXQpR/50IhHAkEUM31W0QdGLiIesFUjwcuEfyV67jIBsw3FjMYuIg6MHAR9QKXw4HLPR7s5AgX2cDO6BuLGZxSJOrAwEXUS2q8XrzZ3AzFhfPUx73p82FcWRkGOZ26SyEqGAxcRL1kpteLxvZ2HOTCeerjdvh8mMnpRKJOGLiIeklNdHplB6cVqQ87FwrhkN/f8ftORAYGLqJeMs3jgVuEgYv6NPP3+wNVVZorISosDFxEvcTpcOBKrxevMXBRH/Z6UxME4AgXUYKCCFwi8lURUSIyWHctRPl0ldeLN30+tEciukshyovXfD5MqahAv9JS3aUQFRTtgUtExgC4EcAR3bUQ5dtVVVVojUSwp6VFdylEllNK4bWmJlzF0S2iLrQHLgBrAKwAwGvlqc+7Krqu5S9NTZorIbLe+34/GkKhjt9zIorRGrhEZD6A40qp3TrrIOot48vKMMTpxL7WVt2lEFnunZYWCIAPMXARdSH5bsIoIi8CGJ7krvsA/AuAm5RSF0TkMIAapdSZFMe5E8Cd0S+nAdiTh3KL2WAASV87G+Nrkhxfl674mnTF1yQ5vi5d8TXp7CKl1JDEG/MeuFIRkcsBvATAfKs/GkA9gA8qpU5m+N4dSqmaPJdYVPiadMXXJDm+Ll3xNemKr0lyfF264muSHW2XkSil3gYw1Pw60wgXERERUbEqhEXzRERERH1awTRKUUqNy+Hhj+WrjiLG16QrvibJ8XXpiq9JV3xNkuPr0hVfkyxoW8NFREREZBecUiQiIiLKs6IOXNwSqDMR+Z6IvCUiu0TkeREZqbsm3UTkhyLybvR12SQi/XXXpJuIfEJE9opIRERsfWWRiMwRkf0iUisiq3TXUwhE5JciclpE2HonSkTGiMhWEdkX/dtZorsm3USkTEReF5Hd0dfkX3XXVOiKNnBxS6CkfqiUmq6UqgbwBwDf0l1QAXgBwDSl1HQA7wH4uuZ6CsEeALcD2Ka7EJ1EpATAvwO4GcBUAJ8Skal6qyoI/wlgju4iCkw7gHuVUpcC+BCAr/B3BQEA1yulrgBQDWCOiHxIc00FrWgDF7glUBdKqfj9YjzgawOl1PNKqfbol3+B0e/N1pRS+5RS+3XXUQA+CKBWKXVIKRUE8DsAt2quSTul1DYA53TXUUiUUieUUm9GP/cB2AdglN6q9FKG5uiXzuiH7c856RRl4OKWQKmJyP0ichTAZ8ARrkT/COCPuouggjEKwNG4r4/B5idRykxExgG4EsBreivRT0RKRGQXgNMAXlBK2f41Sadg2kIkymZLoN6tqDCke12UUk8ppe4DcJ+IfB3A3QC+3asFapDpNYk+5j4Y0wKP92ZtumTzmhAkyW18h04piUglgA0AlibMKNiSUioMoDq6NnaTiExTSnHtXwoFG7iUUh9Ndnt0S6DxAHaLCGBMEb0pIhm3BOoLUr0uSfw3gM2wQeDK9JqIyOcBfAzADcomfVBy+D2xs2MAxsR9bW4vRtSFiDhhhK3HlVIbdddTSJRSjSLyMoy1fwxcKRTdlKJS6m2l1FCl1Lhos9RjAGbYIWxlIiKT476cD+BdXbUUChGZA2AlgPlKqdZMjydbeQPAZBEZLyIuAH8H4GnNNVEBEuPd/S8A7FNKrdZdTyEQkSHmVd8iUg7go+A5J62iC1yU1kMiskdE3oIx5Wr7S5cB/BiAF8AL0XYZ/6G7IN1E5DYROQbgwwA2i8hzumvSIXoxxd0AnoOxCPr3Sqm9eqvST0R+C+DPAKaIyDERWaS7pgJwDYDPAbg++u/ILhGZq7sozUYA2Bo937wBYw3XHzTXVNDYaZ6IiIgozzjCRURERJRnDFxEREREecbARURERJRnDFxEREREecbARURERJRnDFxEREREecbARURERJRnDFxEZCsislVEbox+/n0ReVR3TUTU9xXsXopERHnybQDfFZGhAK6EsQ0WEVFesdM8EdmOiLwCoBLAR5RSPhGZAOA+AP2UUgv0VkdEfRGnFInIVkTkchj7wAWUUj4AUEodUkpxz0AiyhsGLiKyDREZAeBxALcCaBGRv9VcEhHZBAMXEdmCiFQA2AjgXqXUPgDfA/AdrUURkW1wDRcR2Z6IDAJwP4AbAaxTSj2ouSQi6mMYuIiIiIjyjFOKRERERHnGwEVERESUZwxcRERERHnGwEVERESUZwxcRERERHnGwEVERESUZwxcRERERHnGwEVERESUZwxcRERERHn2/wElZsMRSg3i1QAAAABJRU5ErkJggg==\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(Xbn, Ybn, xlabel=r'$x_1$', ylabel=r'$x_2$')\n",
|
||
"plot_decision_boundary_bayes(fig, X_mean, X_std, xmin=-4.0, xmax=4.0, ymin=-4.0, ymax=4.0)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 40,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"theta = [[-0.31582268]\n",
|
||
" [ 0.43496774]\n",
|
||
" [-0.21840373]\n",
|
||
" [-7.88802319]\n",
|
||
" [22.73897346]\n",
|
||
" [-4.43682364]]\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Uruchomienie metody gradientu prostego dla regresji logistycznej\n",
|
||
"theta_start = np.matrix(np.zeros(Xbnp.shape[1])).reshape(Xbnp.shape[1], 1)\n",
|
||
"theta, errors = GD(h, J, dJ, theta_start, Xbnp, Ybn, \n",
|
||
" alpha=0.05, eps=10**-7, maxSteps=100000)\n",
|
||
"print(r'theta = {}'.format(theta))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 41,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"<ipython-input-21-f44dd646c57d>:10: UserWarning: The following kwargs were not used by contour: 'lw'\n",
|
||
" plt.contour(xx, yy, z, levels=[0.5], colors='m', lw=3);\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(Xbnp, Ybn, xlabel=r'$x_1$', ylabel=r'$x_2$')\n",
|
||
"plot_decision_boundary(fig, theta, Xbnp, xmin=-4.0, xmax=4.0)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 42,
|
||
"metadata": {
|
||
"scrolled": true,
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"<ipython-input-15-da039958d168>:8: UserWarning: The following kwargs were not used by contour: 'lw'\n",
|
||
" plt.contour(x1, x2, p_diff, levels=[0.0], colors='c', lw=3);\n",
|
||
"<ipython-input-21-f44dd646c57d>:10: UserWarning: The following kwargs were not used by contour: 'lw'\n",
|
||
" plt.contour(xx, yy, z, levels=[0.5], colors='m', lw=3);\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(Xbn, Ybn, xlabel=r'$x_1$', ylabel=r'$x_2$')\n",
|
||
"plot_decision_boundary_bayes(fig, X_mean, X_std, xmin=-4.0, xmax=4.0, ymin=-4.0, ymax=4.0)\n",
|
||
"plot_decision_boundary(fig, theta, Xbnp, xmin=-4.0, xmax=4.0)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Naiwny klasyfikator Bayesa nie działa, jeżeli dane nie różnią się ani średnią, ani odchyleniem standardowym."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"## 8.2. Algorytm $k$ najbliższych sąsiadów"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### KNN – intuicja"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "fragment"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Do której kategorii powinien należeć punkt oznaczony gwiazdką?"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 43,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Przydatne importy\n",
|
||
"\n",
|
||
"import ipywidgets as widgets\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"import numpy as np\n",
|
||
"import pandas\n",
|
||
"\n",
|
||
"%matplotlib inline"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 44,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Wczytanie danych (gatunki kosaćców)\n",
|
||
"\n",
|
||
"data_iris = pandas.read_csv('iris.csv')\n",
|
||
"data_iris_setosa = pandas.DataFrame()\n",
|
||
"data_iris_setosa['dł. płatka'] = data_iris['pl'] # \"pl\" oznacza \"petal length\"\n",
|
||
"data_iris_setosa['szer. płatka'] = data_iris['pw'] # \"pw\" oznacza \"petal width\"\n",
|
||
"data_iris_setosa['Iris setosa?'] = data_iris['Gatunek'].apply(lambda x: 1 if x=='Iris-setosa' else 0)\n",
|
||
"\n",
|
||
"m, n_plus_1 = data_iris_setosa.values.shape\n",
|
||
"n = n_plus_1 - 1\n",
|
||
"Xn = data_iris_setosa.values[:, 0:n].reshape(m, n)\n",
|
||
"\n",
|
||
"X = np.matrix(np.concatenate((np.ones((m, 1)), Xn), axis=1)).reshape(m, n_plus_1)\n",
|
||
"Y = np.matrix(data_iris_setosa.values[:, 2]).reshape(m, 1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 45,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Wykres danych (wersja macierzowa)\n",
|
||
"def plot_data_for_classification(X, Y, xlabel, ylabel): \n",
|
||
" fig = plt.figure(figsize=(16*.6, 9*.6))\n",
|
||
" ax = fig.add_subplot(111)\n",
|
||
" fig.subplots_adjust(left=0.1, right=0.9, bottom=0.1, top=0.9)\n",
|
||
" X = X.tolist()\n",
|
||
" Y = Y.tolist()\n",
|
||
" X1n = [x[1] for x, y in zip(X, Y) if y[0] == 0]\n",
|
||
" X1p = [x[1] for x, y in zip(X, Y) if y[0] == 1]\n",
|
||
" X2n = [x[2] for x, y in zip(X, Y) if y[0] == 0]\n",
|
||
" X2p = [x[2] for x, y in zip(X, Y) if y[0] == 1]\n",
|
||
" ax.scatter(X1n, X2n, c='r', marker='x', s=50, label='Dane')\n",
|
||
" ax.scatter(X1p, X2p, c='g', marker='o', s=50, label='Dane')\n",
|
||
" \n",
|
||
" ax.set_xlabel(xlabel)\n",
|
||
" ax.set_ylabel(ylabel)\n",
|
||
" ax.margins(.05, .05)\n",
|
||
" return fig"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 46,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def plot_new_example(fig, x, y):\n",
|
||
" ax = fig.axes[0]\n",
|
||
" ax.scatter([x], [y], c='k', marker='*', s=100, label='?')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 47,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(X, Y, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n",
|
||
"plot_new_example(fig, 2.8, 0.9)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Wydaje się sensownym przyjąć, że punkt oznaczony gwiazdką powinien być czerwony, ponieważ sąsiednie punkty są czerwone. Najbliższe czerwone punkty są położone bliżej niż najbliższe zielone."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "fragment"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Algorytm oparty na tej intuicji nazywamy algorytmem **$k$ najbliższych sąsiadów** (*$k$ nearest neighbors*, KNN)."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "fragment"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Idea (KNN dla $k = 1$):\n",
|
||
" 1. Dla nowego przykładu $x'$ znajdź najbliższy przykład $x$ ze zbioru uczącego.\n",
|
||
" 1. Jego klasa $y$ to szukana klasa $y'$."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 48,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from scipy.spatial import Voronoi, voronoi_plot_2d\n",
|
||
"\n",
|
||
"def plot_voronoi(fig, points):\n",
|
||
" ax = fig.axes[0]\n",
|
||
" vor = Voronoi(points)\n",
|
||
" ax.scatter(vor.vertices[:, 0], vor.vertices[:, 1], s=1)\n",
|
||
" \n",
|
||
" for simplex in vor.ridge_vertices:\n",
|
||
" simplex = np.asarray(simplex)\n",
|
||
" if np.all(simplex >= 0):\n",
|
||
" ax.plot(vor.vertices[simplex, 0], vor.vertices[simplex, 1],\n",
|
||
" color='orange', linewidth=1)\n",
|
||
" \n",
|
||
" xmin, ymin = points.min(axis=0).tolist()[0]\n",
|
||
" xmax, ymax = points.max(axis=0).tolist()[0]\n",
|
||
" pad = 0.1\n",
|
||
" ax.set_xlim(xmin - pad, xmax + pad)\n",
|
||
" ax.set_ylim(ymin - pad, ymax + pad)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 49,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(X, Y, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n",
|
||
"plot_new_example(fig, 2.8, 0.9)\n",
|
||
"plot_voronoi(fig, X[:, 1:])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "fragment"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Podział płaszczyzny jak na powyższym wykresie nazywamy **diagramem Woronoja** (*Voronoi diagram*)."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Taki algorytm wyznacza dość efektowne granice klas, zwłaszcza jak na tak prosty algorytm. "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Niestety jest bardzo podatny na obserwacje odstające:"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 50,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"X_outliers = np.vstack((X, np.matrix([[1.0, 3.9, 1.7]])))\n",
|
||
"Y_outliers = np.vstack((Y, np.matrix([[1]])))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 51,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "fragment"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(X_outliers, Y_outliers, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n",
|
||
"plot_new_example(fig, 2.8, 0.9)\n",
|
||
"plot_voronoi(fig, X_outliers[:, 1:])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Pojedyncza obserwacja odstająca dramatycznie zmienia granice klas."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "fragment"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Aby temu zaradzić, użyjemy więcej niż jednego najbliższego sąsiada ($k > 1$)."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Algorytm $k$ najbliższych sąsiadów dla problemu klasyfikacji\n",
|
||
"\n",
|
||
"1. Dany jest zbiór uczący zawierajacy przykłady $(x_i, y_i)$, gdzie: $x_i$ – zestaw cech, $y_i$ – klasa.\n",
|
||
"1. Dany jest przykład testowy $x'$, dla którego chcemy określić klasę.\n",
|
||
"1. Oblicz odległość $d(x', x_i)$ dla każdego przykładu $x_i$ ze zbioru uczącego.\n",
|
||
"1. Wybierz $k$ przykładów $x_{i_1}, \\ldots, x_{i_k}$, dla których wyliczona odległość jest najmniejsza.\n",
|
||
"1. Jako wynik $y'$ zwróć tę spośrod klas $y_{i_1}, \\ldots, y_{i_k}$, która występuje najczęściej."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Algorytm $k$ najbliższych sąsiadów dla problemu klasyfikacji – przykład"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 52,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "fragment"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Odległość euklidesowa\n",
|
||
"def euclidean_distance(x1, x2):\n",
|
||
" return np.linalg.norm(x1 - x2)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 53,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Algorytm k najbliższych sąsiadów\n",
|
||
"def knn(X, Y, x_new, k, distance=euclidean_distance):\n",
|
||
" data = np.concatenate((X, Y), axis=1)\n",
|
||
" nearest = sorted(\n",
|
||
" data, key=lambda xy:distance(xy[0, :-1], x_new))[:k]\n",
|
||
" y_nearest = [xy[0, -1] for xy in nearest]\n",
|
||
" return max(y_nearest, key=lambda y:y_nearest.count(y))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 54,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Wykres klas dla KNN\n",
|
||
"def plot_knn(fig, X, Y, k, distance=euclidean_distance):\n",
|
||
" ax = fig.axes[0]\n",
|
||
" x1min, x2min = X.min(axis=0).tolist()[0]\n",
|
||
" x1max, x2max = X.max(axis=0).tolist()[0]\n",
|
||
" pad1 = (x1max - x1min) / 10\n",
|
||
" pad2 = (x2max - x2min) / 10\n",
|
||
" step1 = (x1max - x1min) / 50\n",
|
||
" step2 = (x2max - x2min) / 50\n",
|
||
" x1grid, x2grid = np.meshgrid(\n",
|
||
" np.arange(x1min - pad1, x1max + pad1, step1),\n",
|
||
" np.arange(x2min - pad2, x2max + pad2, step2))\n",
|
||
" z = np.matrix([[knn(X, Y, [x1, x2], k, distance) \n",
|
||
" for x1, x2 in zip(x1row, x2row)] \n",
|
||
" for x1row, x2row in zip(x1grid, x2grid)])\n",
|
||
" plt.contour(x1grid, x2grid, z, levels=[0.5]);"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 55,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Przygotowanie interaktywnego wykresu\n",
|
||
"\n",
|
||
"slider_k = widgets.IntSlider(min=1, max=10, step=1, value=1, description=r'$k$', width=300)\n",
|
||
"\n",
|
||
"def interactive_knn_1(k):\n",
|
||
" fig = plot_data_for_classification(X_outliers, Y_outliers, xlabel=u'dł. płatka', ylabel=u'szer. płatka')\n",
|
||
" plot_voronoi(fig, X_outliers[:, 1:])\n",
|
||
" plot_knn(fig, X_outliers[:, 1:], Y_outliers, k)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 56,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "6e20fc55e2ad4e59874fd59b9f128073",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"interactive(children=(IntSlider(value=1, description='$k$', max=10, min=1), Button(description='Run Interact',…"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<function __main__.interactive_knn_1(k)>"
|
||
]
|
||
},
|
||
"execution_count": 56,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"widgets.interact_manual(interactive_knn_1, k=slider_k)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 58,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Wczytanie danych (inny przykład)\n",
|
||
"\n",
|
||
"alldata = pandas.read_csv('classification.tsv', sep='\\t')\n",
|
||
"data = np.matrix(alldata)\n",
|
||
"\n",
|
||
"m, n_plus_1 = data.shape\n",
|
||
"n = n_plus_1 - 1\n",
|
||
"Xn = data[:, 1:].reshape(m, n)\n",
|
||
"\n",
|
||
"X2 = np.matrix(np.concatenate((np.ones((m, 1)), Xn), axis=1)).reshape(m, n_plus_1)\n",
|
||
"Y2 = np.matrix(data[:, 0]).reshape(m, 1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 59,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmwAAAFmCAYAAADQ5sbeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3df4wc533f8c/nJJ5QHw+JSVEyLYmREx6CWmosq1vlh4meZZuudKjD4yHFyRVcpSVKCK3QM6UEYOE0NZoWdR3Y7DlRbNCOALlQrEth8kQk58iyGkRhDKc6GvpBWpbvrPoHfaxEU459uhQilf32j5kVR8fdu70fu/Ps3vsFLHbmeWaW3x3u7X1u5pkZR4QAAACQrp6yCwAAAMDSCGwAAACJI7ABAAAkjsAGAACQOAIbAABA4ghsAAAAibu87ALKcOWVV8b1119fdhkAAABvcOLEiR9GxLbF7RsysF1//fWanp4uuwwAAIA3sP3deu0cEgUAAEgcgQ0AACBxBDYAAIDEEdgAAAASR2ADAABIHIENAAAgcQQ2AACAxBHYAAAAEkdgAwAA3SdCOno0e26mPXEENgAA0H0mJ6WREenAgYvhLCKbHxnJ+jvIhrw1FQAA6HLDw9LYmDQ+ns0fOpSFtfHxrH14uNz6VojABgAAuo+dhTQpC2m14DY2lrXb5dW2Co4OO4a7HiqVSnDzdwAANoAIqacwAqxaTTqs2T4REZXF7YxhA8rSZQNiASA5tTFrRcUxbR2EwAaUpcsGxAJAUmrfp7Uxa9XqxTFtHRjaGMMGlKXLBsQCQFImJy9+n9bGrBXHtA0OSnv3llvjCjCGDShT8S/Amg4dEAsASYnIQtvw8Bu/Txu1J6LRGDYCG1C2DhsQCwBoHU46AFLURQNiAQCtQ2ADytJlA2IBAK3DSQdAWbpsQCwAoHUIbEBZhoelI0feOPC1FtoGBzlLFADwOgIbUBa7/h60Ru0AgA2LMWwAAACJSyKw2b7N9vO2Z20frNP/m7afyh8nbf+d7S1533dsP5v3ca0OAADQdUo/JGr7Mkn3S9ot6bSkJ20fi4hv1JaJiN+V9Lv58h+QdCAiXi68zK0R8cM2lg0AANA2Kexhu0XSbES8EBHnJT0sac8Sy39Q0hfaUhkAAEACUghs10j6fmH+dN52CdtvknSbpC8WmkPSl22fsL2/ZVUCAACUpPRDopLq3YOn0RVDPyDprxYdDn1XRMzZvkrSY7a/GRFPXPKPZGFuvyTt2LFjrTUDAAC0TQp72E5Luq4wf62kuQbL3qFFh0MjYi5/fknSUWWHWC8REYcjohIRlW3btq25aAAAgHZJIbA9KWnA9tts9yoLZccWL2T7pyQNSnqk0NZnu782Len9kk62pWoAAIA2Kf2QaES8ZvseSY9KukzSAxFxyvbdef9n8kX3SvpyRCwUVr9a0lFnV4m/XNIfRcSfta96AACA1nNswBtMVyqVmJ7mkm0AACAttk9ERGVxewqHRAEAALAEAhsAAEDiCGwAAACJI7ABAAAkjsAGAACQOAIbAABA4ghsAAAAiSOwAQAAJI7Atl4ipKNHs+dm2gEAAJpEYFsvk5PSyIh04MDFcBaRzY+MZP0AAACrUPq9RLvG8LA0NiaNj2fzhw5lYW18PGsfHi63PgAA0LEIbOvFzkKalIW0WnAbG8vasxvUAwAArBg3f19vEVJP4UhztUpYAwAATeHm7+1QG7NWVBzTBgAAsAoEtvVSC2u1MWvV6sUxbYQ2AACwBoxhWy+TkxfDWm3MWnFM2+CgtHdvuTUCAICORGBbL8PD0pEj2XNtzFottA0OcpYoAABYNQLberHr70Fr1A4AANAkxrABAAAkjsAGAACQOAIbAABA4ghsAAAAiSOwAQAAJI7ABgAAkDgCGwAAQOIIbAAAAIkjsAEAACSOwAYAAJA4AhsAAEDikghstm+z/bztWdsH6/S/2/aPbT+VP3672XUBAAA6Xek3f7d9maT7Je2WdFrSk7aPRcQ3Fi36lxHxT1e5LoAG5l+d18SpCc2cm9HA1gGN3jCq/iv6yy4LAFBQemCTdIuk2Yh4QZJsPyxpj6RmQtda1gU2vOPfO66hh4ZUjaoWLiyob1Of7n30Xk3dOaVdO3aVXR4AIJfCIdFrJH2/MH86b1vsl20/bftLtm9Y4boAFpl/dV5DDw1p/vy8Fi4sSJIWLixo/nzW/sr5V0quEABQk0Jgc522WDT/dUk/ExHvkPR7kiZXsG62oL3f9rTt6bNnz666WKBbTJyaUDWqdfuqUdXEyYk2VwQAaCSFwHZa0nWF+WslzRUXiIifRMQr+fSUpE22r2xm3cJrHI6ISkRUtm3btp71Ax1p5tzM63vWFlu4sKDZl2fbXBEAoJEUAtuTkgZsv812r6Q7JB0rLmD7LbadT9+irO5zzawLoL6BrQPq29RXt69vU592btnZ5ooAAI2UHtgi4jVJ90h6VNJzkv44Ik7Zvtv23flivybppO2nJX1K0h2Rqbtu+98F0HlGbxhVj+t/BfS4R6M3jra5IgBAI46oO+Srq1UqlZieni67DKB09c4S7XEPZ4kCQElsn4iIyuL2FC7rAaAku3bs0tx9c5o4OaHZl2e1c8tOjd44qs29m8suDQBQQGADNrjNvZu17+Z9ZZcBAFhC6WPYAAAAsDQCGwAAQOI4JAoAieC+rgAaIbABQAK4ryuApXBIFABKxn1dASyHwAYAJeO+rgCWQ2ADgJJxX1cAyyGwAUDJuK8rgOUQ2ACgZNzXFcByCGwAULL+K/o1deeU+nv7X9/T1repT/29WTu3CgPAZT0AIAHc1xVIUIQ0OSkND0v28u0tRGADgERwX1cgMZOT0siINDYmHTqUhbMI6cABaXxcOnJE2ru3LaVwSBTNi5COHs2em2kHAKCTDQ9nYW18PAtpxbA2Npb1twmBDc2r/aVR+9BKFz+8IyNZPwAA3cLO9qzVQltPz8WwVtvj1iYENjQvob80AABoi1poK2pzWJMIbFiJhP7SAACgLWo7J4qKR5rahMCGlUnkLw0AAFpu8ZGkavXSI01tQmDDyiTylwYAAC03OXnpkaTikaY2jt0msKF5Cf2lAQBAyw0PZ5fuKB5JqoW2I0faOnab67CheY3+0pCy9sHBtl2PBgCAlrPr/15r1N5CBDY0r/aXRvHKzrXQNjjIWaIAALQIgQ3NS+gvDQAANhLGsAEAACSOwAYAAJA4AhsAAEDiCGwAAACJI7ABAAAkjsAGAACQuCQCm+3bbD9ve9b2wTr9d9p+Jn981fY7Cn3fsf2s7adsT7e3cgAAgNYr/Tpsti+TdL+k3ZJOS3rS9rGI+EZhsf8jaTAifmT7dkmHJf1iof/WiPhh24oGAABooxT2sN0iaTYiXoiI85IelrSnuEBEfDUifpTPfk3StW2uEQAAoDQpBLZrJH2/MH86b2tkn6QvFeZD0pdtn7C9v9FKtvfbnrY9ffbs2TUVDAAA0E6lHxKV5DptUXdB+1ZlgW1XofldETFn+ypJj9n+ZkQ8cckLRhxWdihVlUql7usDAACkKIU9bKclXVeYv1bS3OKFbP+CpM9J2hMR52rtETGXP78k6aiyQ6wAAABdI4XA9qSkAdtvs90r6Q5Jx4oL2N4h6YikD0XEtwrtfbb7a9OS3i/pZNsqBwAAaIPSD4lGxGu275H0qKTLJD0QEads3533f0bSb0vaKukPbEvSaxFRkXS1pKN52+WS/igi/qyEtwEAANAyjth4w7kqlUpMT3PJNgAAkBbbJ/KdUm+QwiFRAAAALIHABgAAkDgCGwAAQOIIbAAAYOOKkI4ezZ6baS8JgQ0AAGxck5PSyIh04MDFcBaRzY+MZP0JKP2yHgAAAKUZHpbGxqTx8Wz+0KEsrI2PZ+3Dw+XWlyOwAQCAjcvOQpqUhbRacBsby9pd7w6a7cd12AAAACKknsJIsWq1lLDGddgAAADqqY1ZKyqOaUsAgQ0AAGxctbBWG7NWrV4c05ZQaGMMGwAAWBfzr85r4tSEZs7NaGDrgEZvGFX/Ff1ll7W0ycmLYa02Zq04pm1wUNq7t9waxRg2AACwDo5/77iGHhpSNapauLCgvk196nGPpu6c0q4du8our7GILLQND79xzFqj9hZrNIaNwAYAANZk/tV5XfPJazR/fv6Svv7efs3dN6fNvZtLqKzzcNIBAABoiYlTE6pGtW5fNaqaODnR5oq6D4ENAACsycy5GS1cWKjbt3BhQbMvz7a5ou5DYAMAAGsysHVAfZv66vb1berTzi0721xR9yGwAQCANRm9YVQ9rh8petyj0RtH21xR9yGwAQCANem/ol9Td06pv7f/9T1tfZv61N+btXPCwdpxHTYAALBmu3bs0tx9c5o4OaHZl2e1c8tOjd44SlhbJwQ2AACwLjb3bta+m/eVXUZX4pAoAABA4ghsAAAAiSOwAQAAJI7ABgAAkDgCGwAAQOIIbAAAAInjsh4A0KT5V+c1cWpCM+dmNLB1QKM3jKr/iv6yywKwARDYAKAJx793XEMPDakaVS1cWFDfpj7d++i9mrpzSrt27Cq7PABdjkOiALCM+VfnNfTQkObPz2vhwoIkaeHCgubPZ+2vnH+l5AoBdLskApvt22w/b3vW9sE6/bb9qbz/Gds3N7suAKzVxKkJVaNat68aVU2cnGhzRQA2mtIDm+3LJN0v6XZJb5f0QdtvX7TY7ZIG8sd+SZ9ewboAsCYz52Ze37O22MKFBc2+PNvmigBsNKUHNkm3SJqNiBci4rykhyXtWbTMHkmfj8zXJP207e1NrgsAazKwdUB9m/rq9vVt6tPOLTvbXBGAjSaFwHaNpO8X5k/nbc0s08y6ALAmozeMqsf1vy573KPRG0fbXBGAjSaFwOY6bdHkMs2sm72Avd/2tO3ps2fPrrBEABtZ/xX9mrpzSv29/a/vaevb1Kf+3qx9c+/mkisE0O1SuKzHaUnXFeavlTTX5DK9TawrSYqIw5IOS1KlUqkb6gCgkV07dmnuvjlNnJzQ7Muz2rllp0ZvHCWsAWiLFALbk5IGbL9N0g8k3SHpny9a5pike2w/LOkXJf04Is7YPtvEugCwLjb3bta+m/eVXQaADaj0wBYRr9m+R9Kjki6T9EBEnLJ9d97/GUlTkoYkzUr6W0n/cql1S3gbAAAALeOIjXd0sFKpxPT0dNllAAAAvIHtExFRWdyewkkHAAAAWAKBDQAAIHFNBzbbu21/1vZN+fz+1pUFAACAmpWcdPBvlA32/y3bWyTd1JqSAAAAULSSQ6JnI+JvIuI3JL1f0j9qUU0AAAAoWElg+9PaREQclPT59S8HAAAAiy0b2Gz/d9uOiEeK7RHxe60rCwAAADXN7GF7RdIx22+SJNvvt/1XrS0LAAAANcsGtoj4LUlfkPQXto9Luk/SwVYXBgBA14qQjh7Nnptpx4bXzCHR90r615IWJG2T9O8i4i9bXRgAAF1rclIaGZEOHLgYziKy+ZGRrB8oaOaQ6Eck/YeIeLekX5M0Yfs9La0KAIBuNjwsjY1J4+MXQ9uBA9n82FjWDxQsex22iHhPYfpZ27dL+qKkX2llYQAAdC1bOnQomx4fzx5SFtYOHcr6gYJV3fzd9t+LiP/Xgnragpu/AwCSECH1FA52VauEtQ1uXW/+3slhDQCAJNQOgxYVx7QBBdz8HQCAdls8Zq1avXRMG1CwknuJAgCA9TA5eTGs1casFce0DQ5Ke/eWWyOSQmADAKDdhoelI0ey59qYtVpoGxzkLFFcgsAGAEC72fX3oDVqx4bHGDYAAIDEsYcNQFvMvzqviVMTmjk3o4GtAxq9YVT9V/SXXRYAdAQCG4CWO/694xp6aEjVqGrhwoL6NvXp3kfv1dSdU9q1Y1fZ5QFA8jgkCqCl5l+d19BDQ5o/P6+FCwuSpIULC5o/n7W/cv6VkisEgPQR2AC01MSpCVWjWrevGlVNnJxoc0UA0HkIbABaaubczOt71hZbuLCg2Zdn21wRAHQeAhuAlhrYOqC+TX11+/o29Wnnlp1trggAOg+BDUBLjd4wqh7X/6rpcY9Gbxxtc0UA0HkIbABaqv+Kfk3dOaX+3v7X97T1bepTf2/Wvrl3c8kVAkD6uKwHgJbbtWOX5u6b08TJCc2+PKudW3Zq9MZRwhoANInABqAtNvdu1r6b95VdBgB0pFIPidreYvsx2zP585vrLHOd7T+3/ZztU7bHCn0ftf0D20/lj6H2vgMAAIDWK3sM20FJj0fEgKTH8/nFXpN0X0T8fUm/JOnf2n57of9QRNyUP6ZaXzIAAEB7lR3Y9kh6MJ9+UNLw4gUi4kxEfD2fnpf0nKRr2lYhAABAycoObFdHxBkpC2aSrlpqYdvXS3qnpL8uNN9j+xnbD9Q7pAoAANDpWh7YbH/F9sk6jz0rfJ3Nkr4o6cMR8ZO8+dOSfk7STZLOSPrEEuvvtz1te/rs2bOrfDcAAADt1/KzRCPifY36bL9oe3tEnLG9XdJLDZbbpCysPRQRRwqv/WJhmc9K+pMl6jgs6bAkVSqVWPEbAQAAKEnZh0SPSborn75L0iOLF7BtSX8o6bmI+OSivu2F2b2STraoTgAAgNKUHdg+Jmm37RlJu/N52X6r7doZn++S9CFJ76lz+Y6P237W9jOSbpV0oM31AwAAtFypF86NiHOS3lunfU7SUD59XJIbrP+hlhYIAACQgLL3sAEAAGAZBDYAAIDEEdgAAAASR2ADAABIHIENAAAgcQQ2AACAxBHYAAAAEkdgAwAASByBDQAAIHEENgAAgMQR2AAAABJHYAMAAEgcgQ0AACBxBDYAAIDEEdgAAAASR2ADAABIHIENAAAgcQQ2AACAxBHYAAAAEnd52QUAAIDONv/qvCZOTWjm3IwGtg5o9IZR9V/RX3ZZXYXABgAAVu34945r6KEhVaOqhQsL6tvUp3sfvVdTd05p145dZZfXNTgkCgAAVmX+1XkNPTSk+fPzWriwIElauLCg+fNZ+yvnXym5wu5BYAMAAKsycWpC1ajW7atGVRMnJ9pcUfcisAEAgFWZOTfz+p61xRYuLGj25dk2V9S9CGwAAGBVBrYOqG9TX92+vk192rllZ5sr6l4ENgAAsCqjN4yqx/WjRI97NHrjaJsr6l4ENgAAsCr9V/Rr6s4p9ff2v76nrW9Tn/p7s/bNvZtLrrB7cFkPAACwart27NLcfXOaODmh2ZdntXPLTo3eOEpYW2cENgAAsCabezdr3837yi6jq5V6SNT2FtuP2Z7Jn9/cYLnv2H7W9lO2p1e6PgAAQCcrewzbQUmPR8SApMfz+UZujYibIqKyyvUBAAA6UtmBbY+kB/PpByUNt3l9AACA5JUd2K6OiDOSlD9f1WC5kPRl2yds71/F+gAAAB2r5Scd2P6KpLfU6frICl7mXRExZ/sqSY/Z/mZEPLHCOvZL2i9JO3bsWMmqAAAApWp5YIuI9zXqs/2i7e0Rccb2dkkvNXiNufz5JdtHJd0i6QlJTa2fr3tY0mFJqlQqsfp3BAAA0F5lHxI9JumufPouSY8sXsB2n+3+2rSk90s62ez6AAAAna7swPYxSbttz0janc/L9lttT+XLXC3puO2nJf1vSX8aEX+21PoAAADdpNQL50bEOUnvrdM+J2kon35B0jtWsj4AAEA3KXsPGwAAAJZBYAMAAEgcgQ0AACBxBDYAAIDEEdgAAAASR2ADAABIHIENAAAgcQQ2AACAxBHYAAAAEkdgAwAASByBDQAAIHEENgAAgMQR2AAAABJHYAMAAEgcgQ0AACBxBDYAAIDEEdgAAAASR2ADAABIHIENAAAgcQQ2AACAxBHYAAAAEkdgAwAASByBDQAAIHEENgDoBhHS0aPZczPtADoKgQ0AusHkpDQyIh04cDGcRWTzIyNZP4COdXnZBQAA1sHwsDQ2Jo2PZ/OHDmVhbXw8ax8eLrc+AGtCYAOAbmBnIU3KQlotuI2NZe12ebUBWDPHBhzXUKlUYnp6uuwyAGD9RUg9hdEu1SphDeggtk9ERGVxO2PYgE7AgHI0ozZmrag4pg1Axyo1sNneYvsx2zP585vrLPPztp8qPH5i+8N530dt/6DQN9T+dwG0AQPKsZza56E2Zq1avTimjdAGdLyy97AdlPR4RAxIejyff4OIeD4iboqImyT9Q0l/K+loYZFDtf6ImGpL1UC7FQeU1375MqB8Zbp9L+Xk5MXPQ23M2qFDFz83hHqgo5Ud2PZIejCfflDScr913ivp2xHx3ZZWBaRm8S/fnp5Lfzljad2+l3J4WDpy5I2fh9rn5sgRQj3Q4Uo96cD230TETxfmfxQRlxwWLfQ/IOnrEfH7+fxHJf26pJ9ImpZ0X0T8aLl/l5MO0LEYUL56i/dKLr7sBcEXQAJKO+nA9ldsn6zz2LPC1+mV9KuS/meh+dOSfk7STZLOSPrEEuvvtz1te/rs2bOreCdAyRhQvjbspQTQwVoe2CLifRFxY53HI5JetL1dkvLnl5Z4qduV7V17sfDaL0bE30VEVdJnJd2yRB2HI6ISEZVt27atz5sD2oUB5eujeK2yGsIagA5Q9hi2Y5LuyqfvkvTIEst+UNIXig21sJfbK+nkulYHpIIB5euDvZQAOlTZge1jknbbnpG0O5+X7bfafv2MT9tvyvuPLFr/47aftf2MpFslLfomBroEA8rXjr2UADoYdzpA+0Rke4KGh994CKpRO7Cejh7NzgYt7qUshrgjR6S9e8uuEsAGx50OUL5uv6wC0sZeSgAdjJu/o32KF3+VLr2sAr8w0Up2/T1ojdoBICHsYUP7cFmFztbtdwoAgIQR2NBeXFahc3FIGwBKQ2BDe3FZhc7F/UwBoDQENrQPl1XobBzSBoDScFkPtA+XVegO3M8UAFqGy3qgfFxWofNxSBsASkFgQ/vULp+weG9Mo3akhUPaAFAarsMGoDmN7mcqZe2DgxzSBoAWIbABaE7tkHbxFmK10DY4yCFtAGghAhuA5nCnAAAoDWPYAAAAEkdgAwAASByBDQAAIHEENgAAgMQR2AAAABJHYAMAAEgcgQ0AACBxBDYAAIDEEdgAAAASR2ADAABIHIENAAAgcQQ2AACAxBHYAAAAEkdgAwAASByBDQAAIHEENgAAgMQR2AAAABJXamCz/c9sn7JdtV1ZYrnbbD9ve9b2wUL7FtuP2Z7Jn9/cnsoBKEI6ejR7bqYdALBqZe9hOylpRNITjRawfZmk+yXdLuntkj5o++1590FJj0fEgKTH83kA7TA5KY2MSAcOXAxnEdn8yEjWDwBYF6UGtoh4LiKeX2axWyTNRsQLEXFe0sOS9uR9eyQ9mE8/KGm4NZUCuMTwsDQ2Jo2PXwxtBw5k82NjWT8AYF1cXnYBTbhG0vcL86cl/WI+fXVEnJGkiDhj+6p2FwdsWLZ06FA2PT6ePaQsrB06lPUDANZFy/ew2f6K7ZN1HnuWXzt7iTptKx4cY3u/7Wnb02fPnl3p6gDqKYa2GsIaAKy7lge2iHhfRNxY5/FIky9xWtJ1hflrJc3l0y/a3i5J+fNLS9RxOCIqEVHZtm3bat4KgMVqh0GLimPaAADrouyTDprxpKQB22+z3SvpDknH8r5jku7Kp++S1GwIBLBWi8esVauXjmkDAKyLsi/rsdf2aUm/LOlPbT+at7/V9pQkRcRrku6R9Kik5yT9cUScyl/iY5J2256RtDufB9AOk5MXw1rtMOihQxdDG2eJAsC6cWzAv4IrlUpMT0+XXQbQ2SKyUDY8/MYxa43aAQDLsn0iIi65Nm0nnCUKIEW2tHdv8+0AgFXrhDFsAAAAGxqBDQAAIHEENgAAgMQR2AAAABJHYAMAAEgcgQ0AACBxBDYAAIDEEdgAAAAStyHvdGD7rKTvlvTPXynphyX926lj2zTGtlka26cxtk1jbJvG2DZLa+X2+ZmI2La4cUMGtjLZnq53ywmwbZbCtlka26cxtk1jbJvG2DZLK2P7cEgUAAAgcQQ2AACAxBHY2u9w2QUkjG3TGNtmaWyfxtg2jbFtGmPbLK3t24cxbAAAAIljDxsAAEDiCGwtYHuL7cdsz+TPb66zzM/bfqrw+IntD+d9H7X9g0LfUPvfRWs0s23y5b5j+9n8/U+vdP1O1OTn5jrbf277OdunbI8V+rruc2P7NtvP2561fbBOv21/Ku9/xvbNza7b6ZrYNnfm2+QZ21+1/Y5CX92fr27RxLZ5t+0fF35WfrvZdbtBE9vnNwvb5qTtv7O9Je/r2s+O7Qdsv2T7ZIP+cr9vIoLHOj8kfVzSwXz6oKT/tszyl0n6v8quvSJJH5X0G2W/jzK3jaTvSLpyrdu2kx7NvDdJ2yXdnE/3S/qWpLd34+cm/7n4tqSfldQr6enaey0sMyTpS5Is6Zck/XWz63byo8lt8yuS3pxP317bNvl83Z+vbng0uW3eLelPVrNupz9W+h4lfUDS/9ogn51/LOlmSScb9Jf6fcMettbYI+nBfPpBScPLLP9eSd+OiLIu5ttOK902671+ypZ9bxFxJiK+nk/PS3pO0jVtq7C9bpE0GxEvRMR5SQ8r20ZFeyR9PjJfk/TTtrc3uW4nW/b9RcRXI+JH+ezXJF3b5hrLspb/+27/3Egrf48flPSFtlRWsoh4QtLLSyxS6vcNga01ro6IM1L2C1bSVcssf4cu/YG4J9/l+kA3HfZT89smJH3Z9gnb+1exfida0Xuzfb2kd0r660JzN31urpH0/cL8aV0aThst08y6nWyl72+fsj0DNY1+vrpBs9vml20/bftLtm9Y4bqdrOn3aPtNkm6T9MVCczd/dpZT6vfN5ev9ghuF7a9Iekudro+s8HV6Jf2qpH9faP60pN9R9oPxO5I+Ielfra7S9lunbfOuiJizfZWkx2x/M//rp6Ot4+dms7Iv0Q9HxE/y5o7+3NThOm2LT2tvtEwz63aypt+f7VuVBbZdheau/PnKNbNtvq5sCMor+VjPSUkDTa7b6VbyHj8g6a8iorjXqZs/O8sp9fuGwLZKEfG+Rn22X7S9PSLO5LtLX1ripW6X9PWIeLHw2q9P2/6spD9Zj5rbZT22TUTM5c8v2T6qbJfzE5JWspMnW3AAAALDSURBVG2Tsx7bxvYmZWHtoYg4Unjtjv7c1HFa0nWF+WslzTW5TG8T63ayZraNbP+CpM9Juj0iztXal/j56gbLbpvCHzmKiCnbf2D7ymbW7QIreY+XHP3p8s/Ockr9vuGQaGsck3RXPn2XpEeWWPaS8QH5L+uavZLqnrHSoZbdNrb7bPfXpiW9Xxe3wUq2badpZttY0h9Kei4iPrmor9s+N09KGrD9tnxP9B3KtlHRMUn/Ij9765ck/Tg/nNzMup1s2fdne4ekI5I+FBHfKrQv9fPVDZrZNm/Jf5Zk+xZlvwvPNbNuF2jqPdr+KUmDKnwPbYDPznLK/b4p40yMbn9I2irpcUkz+fOWvP2tkqYKy71J2ZfETy1a/39IelbSM/l/+vay31M7t42yM22ezh+nJH1kufW74dHkttmlbFf7M5Keyh9D3fq5UXZW1reUnYH1kbztbkl359OWdH/e/6ykylLrdtOjiW3zOUk/KnxOpvP2hj9f3fJoYtvck7/3p5WdkPErG+Vz08z2yed/XdLDi9br6s+Osp0nZyRdULY3bV9K3zfc6QAAACBxHBIFAABIHIENAAAgcQQ2AACAxBHYAAAAEkdgAwAASByBDQAAIHEENgAAgMQR2ABgBWz/ue3d+fR/tv2psmsC0P24lygArMx/lPSf8ptfv1PSr5ZcD4ANgDsdAMAK2f4LSZslvTsi5m3/rKSPKLvN3K+VWx2AbsQhUQBYAdv/QNJ2Sa9GxLwkRcQLEbGv3MoAdDMCGwA0yfZ2SQ9J2iNpwfY/KbkkABsEgQ0AmmD7TZKOSLovIp6T9DuSPlpqUQA2DMawAcAa2d4q6b9I2i3pcxHxX0suCUCXIbABAAAkjkOiAAAAiSOwAQAAJI7ABgAAkDgCGwAAQOIIbAAAAIkjsAEAACSOwAYAAJA4AhsAAEDiCGwAAACJ+/9CzPrTpcBktgAAAABJRU5ErkJggg==\n",
|
||
"text/plain": [
|
||
"<Figure size 691.2x388.8 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"fig = plot_data_for_classification(X2, Y2, xlabel=r'$x_1$', ylabel=r'$x_2$')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 60,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Przygotowanie interaktywnego wykresu\n",
|
||
"\n",
|
||
"slider_k = widgets.IntSlider(min=1, max=10, step=1, value=1, description=r'$k$', width=300)\n",
|
||
"\n",
|
||
"def interactive_knn_2(k):\n",
|
||
" fig = plot_data_for_classification(X2, Y2, xlabel=r'$x_1$', ylabel=r'$x_2$')\n",
|
||
" plot_voronoi(fig, X2[:, 1:])\n",
|
||
" plot_knn(fig, X2[:, 1:], Y2, k)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 61,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.jupyter.widget-view+json": {
|
||
"model_id": "db278f40e7fa4fdc90a9fe2f15a917c6",
|
||
"version_major": 2,
|
||
"version_minor": 0
|
||
},
|
||
"text/plain": [
|
||
"interactive(children=(IntSlider(value=1, description='$k$', max=10, min=1), Button(description='Run Interact',…"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"<function __main__.interactive_knn_2(k)>"
|
||
]
|
||
},
|
||
"execution_count": 61,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"widgets.interact_manual(interactive_knn_2, k=slider_k)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Algorytm $k$ najbliższych sąsiadów dla problemu regresji\n",
|
||
"\n",
|
||
"1. Dany jest zbiór uczący zawierajacy przykłady $(x_i, y_i)$, gdzie: $x_i$ – zestaw cech, $y_i$ – liczba rzeczywista.\n",
|
||
"1. Dany jest przykład testowy $x'$, dla którego chcemy określić klasę.\n",
|
||
"1. Oblicz odległość $d(x', x_i)$ dla każdego przykładu $x_i$ ze zbioru uczącego.\n",
|
||
"1. Wybierz $k$ przykładów $x_{i_1}, \\ldots, x_{i_k}$, dla których wyliczona odległość jest najmniejsza.\n",
|
||
"1. Jako wynik $y'$ zwróć średnią liczb $y_{i_1}, \\ldots, y_{i_k}$:\n",
|
||
" $$ y' = \\frac{1}{k} \\sum_{j=1}^{k} y_{i_j} $$"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Wybór $k$\n",
|
||
"\n",
|
||
"* Wartość $k$ ma duży wpływ na wynik działania algorytmu KNN:\n",
|
||
" * Jeżeli $k$ jest zbyt duże, wszystkie nowe przykłady są klasyfikowane jako klasa większościowa.\n",
|
||
" * Jeżeli $k$ jest zbyt małe, granice klas są niestabilne, a algorytm jest bardzo podatny na obserwacje odstające.\n",
|
||
"* Aby dobrać optymalną wartość $k$, najlepiej użyć zbioru walidacyjnego."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Miary podobieństwa"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"#### Odległość euklidesowa\n",
|
||
"$$ d(x, x') = \\sqrt{ \\sum_{i=1}^n \\left( x_i - x'_i \\right) ^2 } $$"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "fragment"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Dobry wybór w przypadku numerycznych cech.\n",
|
||
"* Symetryczna, traktuje wszystkie wymiary jednakowo.\n",
|
||
"* Wrażliwa na duże wahania jednej cechy."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"#### Odległość Hamminga\n",
|
||
"$$ d(x, x') = \\sum_{i=1}^n \\mathbf{1}_{x_i \\neq x'_i} $$"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "fragment"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Dobry wybór w przypadku cech zero-jedynkowych.\n",
|
||
"* Liczba cech, którymi różnią się dane przykłady."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"#### Odległość Minkowskiego ($p$-norma)\n",
|
||
"$$ d(x, x') = \\sqrt[p]{ \\sum_{i=1}^n \\left| x_i - x'_i \\right| ^p } $$"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "fragment"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Dla $p = 2$ jest to odległość euklidesowa.\n",
|
||
"* Dla $p = 1$ jest to odległość taksówkowa.\n",
|
||
"* Jeżeli $p \\to \\infty$, to $p$-norma zbliża się do logicznej alternatywy.\n",
|
||
"* Jeżeli $p \\to 0$, to $p$-norma zbliża się do logicznej koniunkcji."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### KNN – praktyczne porady"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "fragment"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Co zrobić z remisami?\n",
|
||
" * Można wybrać losową klasę.\n",
|
||
" * Można wybrać klasę o wyższym prawdopodobieństwie _a priori_.\n",
|
||
" * Można wybrać klasę wskazaną przez algorytm 1NN."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "fragment"
|
||
}
|
||
},
|
||
"source": [
|
||
"* KNN źle radzi sobie z brakującymi wartościami cech (nie można wówczas sensownie wyznaczyć odległości)."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"## 8.3. Drzewa decyzyjne"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Drzewa decyzyjne – przykład"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 61,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "notes"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Przydatne importy\n",
|
||
"\n",
|
||
"import ipywidgets as widgets\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"import numpy as np\n",
|
||
"import pandas\n",
|
||
"\n",
|
||
"%matplotlib inline"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 64,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
" Day Outlook Humidity Wind Play\n",
|
||
"0 1 Sunny High Weak No\n",
|
||
"1 2 Sunny High Strong No\n",
|
||
"2 3 Overcast High Weak Yes\n",
|
||
"3 4 Rain High Weak Yes\n",
|
||
"4 5 Rain Normal Weak Yes\n",
|
||
"5 6 Rain Normal Strong No\n",
|
||
"6 7 Overcast Normal Strong Yes\n",
|
||
"7 8 Sunny High Weak No\n",
|
||
"8 9 Sunny Normal Weak Yes\n",
|
||
"9 10 Rain Normal Weak Yes\n",
|
||
"10 11 Sunny Normal Strong Yes\n",
|
||
"11 12 Overcast High Strong Yes\n",
|
||
"12 13 Overcast Normal Weak Yes\n",
|
||
"13 14 Rain High Strong No\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"alldata = pandas.read_csv('tennis.tsv', sep='\\t')\n",
|
||
"print(alldata)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 65,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"{'Outlook': {'Overcast', 'Rain', 'Sunny'},\n",
|
||
" 'Humidity': {'High', 'Normal'},\n",
|
||
" 'Wind': {'Strong', 'Weak'}}"
|
||
]
|
||
},
|
||
"execution_count": 65,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Dane jako lista słowników\n",
|
||
"data = alldata.T.to_dict().values()\n",
|
||
"features = ['Outlook', 'Humidity', 'Wind']\n",
|
||
"\n",
|
||
"# Możliwe wartości w poszczególnych kolumnach\n",
|
||
"values = {feature: set(row[feature] for row in data)\n",
|
||
" for feature in features}\n",
|
||
"values"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Czy John zagra w tenisa, jeżeli będzie padać, przy wysokiej wilgotności i silnym wietrze?\n",
|
||
"* Algorytm drzew decyzyjnych spróbuje _zrozumieć_ „taktykę” Johna.\n",
|
||
"* Wykorzystamy metodę „dziel i zwyciężaj”."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 66,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Podziel dane\n",
|
||
"def split(features, data):\n",
|
||
" values = {feature: list(set(row[feature]\n",
|
||
" for row in data))\n",
|
||
" for feature in features}\n",
|
||
" if not features:\n",
|
||
" return data\n",
|
||
" return {val: split(features[1:],\n",
|
||
" [row for row in data\n",
|
||
" if row[features[0]] == val])\n",
|
||
" for val in values[features[0]]}"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 67,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n",
|
||
"\tOutlook\tHumid\tWind\tPlay\n",
|
||
"Day 1:\tSunny\tHigh\tWeak\tNo\n",
|
||
"Day 2:\tSunny\tHigh\tStrong\tNo\n",
|
||
"Day 8:\tSunny\tHigh\tWeak\tNo\n",
|
||
"Day 9:\tSunny\tNormal\tWeak\tYes\n",
|
||
"Day 11:\tSunny\tNormal\tStrong\tYes\n",
|
||
"\n",
|
||
"\tOutlook\tHumid\tWind\tPlay\n",
|
||
"Day 4:\tRain\tHigh\tWeak\tYes\n",
|
||
"Day 5:\tRain\tNormal\tWeak\tYes\n",
|
||
"Day 6:\tRain\tNormal\tStrong\tNo\n",
|
||
"Day 10:\tRain\tNormal\tWeak\tYes\n",
|
||
"Day 14:\tRain\tHigh\tStrong\tNo\n",
|
||
"\n",
|
||
"\tOutlook\tHumid\tWind\tPlay\n",
|
||
"Day 3:\tOvercast\tHigh\tWeak\tYes\n",
|
||
"Day 7:\tOvercast\tNormal\tStrong\tYes\n",
|
||
"Day 12:\tOvercast\tHigh\tStrong\tYes\n",
|
||
"Day 13:\tOvercast\tNormal\tWeak\tYes\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"split_data = split(['Outlook'], data)\n",
|
||
"\n",
|
||
"for outlook in values['Outlook']:\n",
|
||
" print('\\n\\tOutlook\\tHumid\\tWind\\tPlay')\n",
|
||
" for row in split_data[outlook]:\n",
|
||
" print('Day {Day}:\\t{Outlook}\\t{Humidity}\\t{Wind}\\t{Play}'\n",
|
||
" .format(**row))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"Obserwacja: John lubi grać, gdy jest pochmurnie.\n",
|
||
"\n",
|
||
"W pozostałych przypadkach podzielmy dane ponownie:"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 68,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n",
|
||
"\tOutlook\tHumid\tWind\tPlay\n",
|
||
"Day 1:\tSunny\tHigh\tWeak\tNo\n",
|
||
"Day 2:\tSunny\tHigh\tStrong\tNo\n",
|
||
"Day 8:\tSunny\tHigh\tWeak\tNo\n",
|
||
"\n",
|
||
"\tOutlook\tHumid\tWind\tPlay\n",
|
||
"Day 9:\tSunny\tNormal\tWeak\tYes\n",
|
||
"Day 11:\tSunny\tNormal\tStrong\tYes\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"split_data_sunny = split(['Outlook', 'Humidity'], data)\n",
|
||
"\n",
|
||
"for humidity in values['Humidity']:\n",
|
||
" print('\\n\\tOutlook\\tHumid\\tWind\\tPlay')\n",
|
||
" for row in split_data_sunny['Sunny'][humidity]:\n",
|
||
" print('Day {Day}:\\t{Outlook}\\t{Humidity}\\t{Wind}\\t{Play}'\n",
|
||
" .format(**row))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 69,
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n",
|
||
"\tOutlook\tHumid\tWind\tPlay\n",
|
||
"Day 6:\tRain\tNormal\tStrong\tNo\n",
|
||
"Day 14:\tRain\tHigh\tStrong\tNo\n",
|
||
"\n",
|
||
"\tOutlook\tHumid\tWind\tPlay\n",
|
||
"Day 4:\tRain\tHigh\tWeak\tYes\n",
|
||
"Day 5:\tRain\tNormal\tWeak\tYes\n",
|
||
"Day 10:\tRain\tNormal\tWeak\tYes\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"split_data_rain = split(['Outlook', 'Wind'], data)\n",
|
||
"\n",
|
||
"for wind in values['Wind']:\n",
|
||
" print('\\n\\tOutlook\\tHumid\\tWind\\tPlay')\n",
|
||
" for row in split_data_rain['Rain'][wind]:\n",
|
||
" print('Day {Day}:\\t{Outlook}\\t{Humidity}\\t{Wind}\\t{Play}'\n",
|
||
" .format(**row))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"* Outlook=\n",
|
||
" * Overcast\n",
|
||
" * → Playing\n",
|
||
" * Sunny\n",
|
||
" * Humidity=\n",
|
||
" * High\n",
|
||
" * → Not playing\n",
|
||
" * Normal\n",
|
||
" * → Playing\n",
|
||
" * Rain\n",
|
||
" * Wind=\n",
|
||
" * Weak\n",
|
||
" * → Playing\n",
|
||
" * Strong\n",
|
||
" * → Not playing"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"* (9/5)\n",
|
||
" * Outlook=Overcast (4/0)\n",
|
||
" * YES\n",
|
||
" * Outlook=Sunny (2/3)\n",
|
||
" * Humidity=High (0/3)\n",
|
||
" * NO\n",
|
||
" * Humidity=Normal (2/0)\n",
|
||
" * YES\n",
|
||
" * Outlook=Rain (3/2)\n",
|
||
" * Wind=Weak (3/0)\n",
|
||
" * YES\n",
|
||
" * Wind=Strong (0/2)\n",
|
||
" * NO"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Algorytm ID3"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"Pseudokod algorytmu:\n",
|
||
"\n",
|
||
"* podziel(węzeł, zbiór przykładów):\n",
|
||
" 1. A ← najlepszy atrybut do podziału zbioru przykładów\n",
|
||
" 1. Dla każdej wartości atrybutu A, utwórz nowy węzeł potomny\n",
|
||
" 1. Podziel zbiór przykładów na podzbiory według węzłów potomnych\n",
|
||
" 1. Dla każdego węzła potomnego i podzbioru:\n",
|
||
" * jeżeli podzbiór jest jednolity: zakończ\n",
|
||
" * w przeciwnym przypadku: podziel(węzeł potomny, podzbiór)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"Jak wybrać „najlepszy atrybut”?\n",
|
||
"* powinien zawierać jednolity podzbiór\n",
|
||
"* albo przynajmniej „w miarę jednolity”\n",
|
||
"\n",
|
||
"Skąd wziąć miarę „jednolitości” podzbioru?\n",
|
||
"* miara powinna być symetryczna (4/0 vs. 0/4)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Entropia\n",
|
||
"\n",
|
||
"$$ H(S) = - p_{(+)} \\log p_{(+)} - p_{(-)} \\log p_{(-)} $$\n",
|
||
"\n",
|
||
"* $S$ – podzbiór przykładów\n",
|
||
"* $p_{(+)}$, $p_{(-)}$ – procent pozytywnych/negatywnych przykładów w $S$"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "fragment"
|
||
}
|
||
},
|
||
"source": [
|
||
"Entropię można traktować jako „liczbę bitów” potrzebną do sprawdzenia, czy losowo wybrany $x \\in S$ jest pozytywnym, czy negatywnym przykładem."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"Przykład:\n",
|
||
"\n",
|
||
"* (3 TAK / 3 NIE):\n",
|
||
"$$ H(S) = -\\frac{3}{6} \\log\\frac{3}{6} - \\frac{3}{6} \\log\\frac{3}{6} = 1 \\mbox{ bit} $$\n",
|
||
"* (4 TAK / 0 NIE):\n",
|
||
"$$ H(S) = -\\frac{4}{4} \\log\\frac{4}{4} - \\frac{0}{4} \\log\\frac{0}{4} = 0 \\mbox{ bitów} $$"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### *Information gain*\n",
|
||
"\n",
|
||
"*Information gain* – różnica między entropią przed podziałem a entropią po podziale (podczas podziału entropia zmienia się):\n",
|
||
"\n",
|
||
"$$ \\mathop{\\rm Gain}(S,A) = H(S) - \\sum_{V \\in \\mathop{\\rm Values(A)}} \\frac{|S_V|}{|S|} H(S_V) $$"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"Przykład:\n",
|
||
"\n",
|
||
"$$ \\mathop{\\rm Gain}(S, Wind) = H(S) - \\frac{8}{14} H(S_{Wind={\\rm Weak}}) - \\frac{6}{14} H(S_{Wind={\\rm Strong}}) = \\\\\n",
|
||
"= 0.94 - \\frac{8}{14} \\cdot 0.81 - \\frac{6}{14} \\cdot 1.0 = 0.049 $$"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"* _Information gain_ jest całkiem sensowną heurystyką wskazującą, który atrybut jest najlepszy do dokonania podziału.\n",
|
||
"* **Ale**: _information gain_ przeszacowuje użyteczność atrybutów, które mają dużo różnych wartości.\n",
|
||
"* **Przykład**: gdybyśmy wybrali jako atrybut *datę*, otrzymalibyśmy bardzo duży *information gain*, ponieważ każdy podzbiór byłby jednolity, a nie byłoby to ani trochę użyteczne!"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### _Information gain ratio_\n",
|
||
"\n",
|
||
"$$ \\mathop{\\rm GainRatio}(S, A) = \\frac{ \\mathop{\\rm Gain}(S, A) }{ -\\sum_{V \\in \\mathop{\\rm Values}(A)} \\frac{|S_V|}{|S|} \\log\\frac{|S_V|}{|S|} } $$"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "fragment"
|
||
}
|
||
},
|
||
"source": [
|
||
"* _Information gain ratio_ może być lepszym wyborem heurystyki wskazującej najużyteczniejszy atrybut, jeżeli atrybuty mają wiele różnych wartości."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Drzewa decyzyjne a formuły logiczne\n",
|
||
"\n",
|
||
"Drzewo decyzyjne można pzekształcić na formułę logiczną w postaci normalnej (DNF):\n",
|
||
"\n",
|
||
"$$ Play={\\rm True} \\Leftrightarrow \\left( Outlook={\\rm Overcast} \\vee \\\\\n",
|
||
"( Outlook={\\rm Rain} \\wedge Wind={\\rm Weak} ) \\vee \\\\\n",
|
||
"( Outlook={\\rm Sunny} \\wedge Humidity={\\rm Normal} ) \\right) $$"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Klasyfikacja wieloklasowa przy użyciu drzew decyzyjnych\n",
|
||
"\n",
|
||
"Algorytm przebiega analogicznie, zmienia się jedynie wzór na entropię:\n",
|
||
"\n",
|
||
"$$ H(S) = -\\sum_{y \\in Y} p_{(y)} \\log p_{(y)} $$"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Skuteczność algorytmu ID3\n",
|
||
"\n",
|
||
"* Przyjmujemy, że wśród danych uczących nie ma duplikatów (tj. przykładów, które mają jednakowe cechy $x$, a mimo to należą do różnych klas $y$).\n",
|
||
"* Wówczas algorytm drzew decyzyjnych zawsze znajdzie rozwiązanie, ponieważ w ostateczności będziemy mieli węzły 1-elementowe na liściach drzewa."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Nadmierne dopasowanie drzew decyzyjnych\n",
|
||
"\n",
|
||
"* Zauważmy, że w miarę postępowania algorytmu dokładność przewidywań drzewa (*accuracy*) liczona na zbiorze uczącym dąży do 100% (i w ostateczności osiąga 100%, nawet kosztem jednoelementowych liści).\n",
|
||
"* Takie rozwiązanie niekoniecznie jest optymalne. Dokładność na zbiorze testowym może być dużo niższa, a to oznacza nadmierne dopasowanie."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"#### Jak zapobiec nadmiernemu dopasowaniu?\n",
|
||
"\n",
|
||
"Aby zapobiegać nadmiernemu dopasowaniu drzew decyzyjnych, należy je przycinać (*pruning*)."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"Można tego dokonywać na kilka sposobów:\n",
|
||
"* Można zatrzymywać procedurę podziału w pewnym momencie (np. kiedy podzbiory staja się zbyt małe).\n",
|
||
"* Można najpierw wykonać algorytm ID3 w całości, a następnie przyciąć drzewo, np. kierując się wynikami uzyskanymi na zbiorze walidacyjnym.\n",
|
||
"* Algorytm _sub-tree replacement pruning_ (algorytm zachłanny)."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"#### Algorytm _Sub-tree replacement pruning_\n",
|
||
"\n",
|
||
"1. Dla każdego węzła:\n",
|
||
" 1. Udaj, że usuwasz węzeł wraz z całym zaczepionym w nim poddrzewem.\n",
|
||
" 1. Dokonaj ewaluacji na zbiorze walidacyjnym.\n",
|
||
"1. Usuń węzeł, którego usunięcie daje największą poprawę wyniku.\n",
|
||
"1. Powtarzaj, dopóki usuwanie węzłów poprawia wynik."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Zalety drzew decyzyjnych\n",
|
||
"\n",
|
||
"* Zasadę działania drzew decyzyjnych łatwo zrozumieć człowiekowi.\n",
|
||
"* Atrybuty, które nie wpływają na wynik, mają _gain_ równy 0, zatem są od razu pomijane przez algorytm.\n",
|
||
"* Po zbudowaniu, drzewo decyzyjne jest bardzo szybkim klasyfikatorem (złożoność $O(d)$, gdzie $d$ jest głębokościa drzewa)."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Wady drzew decyzyjnych\n",
|
||
"\n",
|
||
"* ID3 jest algorytmem zachłannym – może nie wskazać najlepszego drzewa.\n",
|
||
"* Nie da się otrzymać granic klas (*decision boundaries*), które nie są równoległe do osi wykresu."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"### Lasy losowe"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"#### Algorytm lasów losowych – idea\n",
|
||
"\n",
|
||
"* Algorytm lasów losowych jest rozwinięciem algorytmu ID3.\n",
|
||
"* Jest to bardzo wydajny algorytm klasyfikacji.\n",
|
||
"* Zamiast jednego, będziemy budować $k$ drzew."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"#### Algorytm lasów losowych – budowa lasu\n",
|
||
"\n",
|
||
"1. Weź losowy podzbiór $S_r$ zbioru uczącego.\n",
|
||
"1. Zbuduj pełne (tj. bez przycinania) drzewo decyzyjne dla $S_r$, używając algorytmu ID3 z następującymi modyfikacjami:\n",
|
||
" * podczas podziału używaj losowego $d$-elementowego podzbioru atrybutów,\n",
|
||
" * obliczaj _gain_ względem $S_r$.\n",
|
||
"1. Powyższą procedurę powtórz $k$-krotnie, otrzymując $k$ drzew ($T_1, T_2, \\ldots, T_k$)."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "subslide"
|
||
}
|
||
},
|
||
"source": [
|
||
"#### Algorytm lasów losowych – predykcja\n",
|
||
"\n",
|
||
"1. Sklasyfikuj $x$ według każdego z drzew $T_1, T_2, \\ldots, T_k$ z osobna.\n",
|
||
"1. Użyj głosowania większościowego: przypisz klasę przewidzianą przez najwięcej drzew."
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"celltoolbar": "Slideshow",
|
||
"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.3"
|
||
},
|
||
"livereveal": {
|
||
"start_slideshow_at": "selected",
|
||
"theme": "white"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 4
|
||
}
|