umz21/wyk/06_Naiwny_klasyfikator_bayesowski.ipynb
2022-04-08 09:24:18 +02:00

1482 lines
448 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Uczenie maszynowe zastosowania\n",
"# 6. 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/) (17021761) 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": [
"/home/pawel/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:12: UserWarning: The following kwargs were not used by contour: 'lw'\n",
" if sys.path[0] == '':\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAFkCAYAAADrFNVeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdd3gU5fYH8O8kEBJKaKFDqIYuAQLSlAiIICBIEQveHzYsV6SoKIjl2lAExQJe9ArYG02xIio2LICggNIFAgIh9ARI2T2/Pw7DluxuNtsm5ft5nnmSndmZeXezzB7e97xnDBEBERERERVelNUNICIiIiquGEgRERERBYiBFBEREVGAGEgRERERBYiBFBEREVGAGEgRERERBaiM1Q1wlpCQII0aNbK6GUREREQu1q5dmyEiNdzXF6lAqlGjRlizZo3VzSAiIiJyYRjGbk/rObRHREREFCAGUkREREQBYiBFREREFCAGUkREREQBYiBFREREFCAGUkREREQBYiBFREREFCAGUkREREQBYiBFREREFKCwBVKGYTQ3DGO903LCMIzx4TofERERUaSF7RYxIrIFQDIAGIYRDWAfgCXhOh8RERFRpEVqaK83gB0i4vE+NURERETFUaQCqasAvBOhcxERERFFRNgDKcMwYgBcDuADL9vHGIaxxjCMNYcOHQp3cyjEUhekInVBqtXNICKrpabqQlTKhC1Hykl/AL+JyEFPG0XkZQAvA0BKSopEoD0UQvXj61vdBCIqCurzWkClUyQCqavBYb0S682hb1rdBCIqCt7ktYBKp7AO7RmGUR7AJQAWh/M8RERERFYIa4+UiJwCUD2c5yBrjf9cS4PN6jfL4pYQkaXGny0TOIvXAipdIjG0RyXY+gPrrW4CERUF63ktoNKJt4ghIiIiChADKSIiIqIAMZAiIiIiChBzpCgoSdWTrG4CERUFSbwWUOlkiBSdGpgpKSmyZs0aq5tBRERE5MIwjLUikuK+nkN7RERERAFiIEVBGbNsDMYsG2N1M4jIamPG6EJUyjBHioKy9fBWq5tAREXBVl4LqHRijxQRERFRgBhIEREREQWIgRQRERFRgJgjRUFJrp1sdROIqChI5rWASifWkSIiIiIqAOtIEREREYUYAykKyqjFozBq8Sirm0FEVhs1SheiUoY5UhSU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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": "subslide"
}
},
"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": "notes"
}
},
"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": "fragment"
}
},
"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": "notes"
}
},
"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": [
"/home/pawel/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:8: UserWarning: The following kwargs were not used by contour: 'lw'\n",
" \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": [
"/home/pawel/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:10: UserWarning: The following kwargs were not used by contour: 'lw'\n",
" # Remove the CWD from sys.path while we load stuff.\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": [
"/home/pawel/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:10: UserWarning: The following kwargs were not used by contour: 'lw'\n",
" # Remove the CWD from sys.path while we load stuff.\n",
"/home/pawel/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:8: UserWarning: The following kwargs were not used by contour: 'lw'\n",
" \n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAFkCAYAAADrFNVeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3deZxVdf0/8Nd7NmaHGQYYGFbZXEgQCBHNUksN/QJaamZ9tSyqnwlK4lK2fMuyzCQsW4z2rFQ2K02zGhCFQRhAFoFhHZgZhtmYfblz73n//rj3Ogt349x75tzl9Xw87mO459zzOe97ROft5/M+7yOqCiIiIiI6d0l2B0BEREQUq5hIEREREZnERIqIiIjIJCZSRERERCYxkSIiIiIyiYkUERERkUkpdgfQW0FBgY4fP97uMIiIiIj6KC0trVPVYf23R1UiNX78eGzfvt3uMIiIiIj6EJFyX9u5tEdERERkEhMpIiIiIpOYSBERERGZxESKiIiIyCQmUkREREQmMZEiIiIiMomJFBEREZFJTKSIiIiITGIiRURERGQSEykiIiIik5hIEREREZnERIqIiIjIJCZSRERERCYxkSIiIiIyiYkUERERkUlMpIiIiIhMYiJFREREZBITKSIiIiKTmEgRERERmcREioiIiMgkJlJEREREJjGRIiIiIjKJiRQRERGRSUykiIiIiExiIkVERERkEhMpIiIiIpOYSBERERGZxESKiIiIyCQmUkREREQmMZEiIiIiMomJFBEREZFJTKSIiIiITGIiRURERGQSEykiIiIik5hIEREREZnERIqIiIjIJCZSRERERCYxkSIiIiIyydJESkSGiMhqETkgIvtF5DIrz0dEREQ0kFIsHn8lgFdV9eMikgYg0+LzEREREQ0YyxIpEckFcCWAuwBAVR0AHFadj4iIiGigWbm0dx6AWgC/FZGdIrJKRLL6f0hEFovIdhHZXltba2E4RERERJFlZSKVAmAmgJ+r6iUA2gA83P9Dqvqsqs5W1dnDhg2zMBwiIiKiyLIykaoAUKGqWz3vV8OdWBERERHFBcsSKVWtBnBSRKZ6Nl0D4F2rzkdEREQ00Ky+a+9eAM957tg7CuAzFp+PiIiIaMBYmkip6i4As608BxEREZFd2NmciIiIyCQmUkREREQmMZEiIiIiMomJFBEREZFJTKSIiIiITGIiRURERGQSEykiIiIik5hIEREREZnERIqIiIjIJCZSRERERCYxkSIiIiIyiYkUERERkUlMpIiIiIhMYiJFREREZBITKSIiIiKTmEgRERERmcREioiIiMgkJlJEREREJjGRIiIiIjKJiRQRERGRSUykiIiIiExiIkVERERkEhMpIiIiIpOYSBERERGZxESKiIiIyCQmUkREREQmMZEiIiIiMomJFBEREZFJTKSIiIiITGIiRURERGQSEykiIiIik5hIEREREZnERIqIiIjIJCZSRERERCYxkSIiIiIyKcXKwUXkOIAWAC4ATlWdbeX5iIiIiAaSpYmUx1WqWjcA5yEiIiIaUFzaIyIiIjLJ6kRKAfxLREpFZLHF5yIiIiIaUFYv7V2uqlUiMhzA6yJyQFXf6P0BT4K1GADGjh1rcThEREREkWPpjJSqVnl+1gBYB2COj888q6qzVXX2sGHDrAyHiIiIKKIsS6REJEtEcrx/BnAtgL1WnY+IiIhooFm5tDcCwDoR8Z7nz6r6qoXnIyIiIhpQliVSqnoUwHSrxiciIiKyG9sfEBEREZnERIqIiIjIJCZSRERERCYxkSIiIiIyiYkUERERkUlMpIiIiIhMYiJFREREZBITKSIiIiKTmEgRERERmcREioiIiMgkJlJEREREJjGRIiIiIjKJiRQRERGRSUykiIiIiExiIkVERERkEhMpIiIiIpOYSBERERGZxESKiIiIyCQmUkREREQmMZEiIiIiMomJFBEREZFJTKSIiIiITGIiRURERGQSEykiIiIik5hIEREREZnERIqIiIjIJCZSRERERCYxkSIiIiIyiYkUERERkUlMpIiIiIhMYiJFREREZBITKSIiIiKTmEgRERERmcREioiIiMgkJlJEREREJqWE+kERGQ4g3fteVU9YEhERERFRjAg6IyUiC0TkEIBjADYCOA7gn6GeQESSRWSniPzDdJREREREUSiUpb3vAJgLoExVJwC4BsBb53COpQD2m4iNiIiIKKqFkkh1q2o9gCQRSVLVYgAzQhlcREYDuAHAqjBiJCIiIopKodRINYpINoA3ADwnIjUAnCGO/2MADwLIMRkfERERUdQKZUZqIYB2APcDeBXAEQA3BjtIRG4EUKOqpUE+t1hEtovI9tra2hDCISIiIooOoSRSV6qqoapO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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": "iVBORw0KGgoAAAANSUhEUgAAAlwAAAFkCAYAAAD13eXtAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3de5hddX3v8c83Fy5NhqIkNUiIEYj4CAeHTIppC0XwjjZMpkBQT4XWFm21DsE2EM55WvWcGk/a43SqeKFowR4vARkCtVQq4jniaVGTkAARERRSYkAuXphETyaz9/f8sfZ29szsvdea2eu31tp7v1/Ps56Zdfv9vusXH+fLWr+1vubuAgAAQDhz8g4AAACg05FwAQAABEbCBQAAEBgJFwAAQGAkXAAAAIGRcAEAAAQ2L+8AZmrRokW+fPnyvMMAAACYZPv27c+4++J6+9ou4Vq+fLm2bduWdxgAAACTmNmeRvt4pAgAABAYCRcAAEBgJFwAAACBkXABAAAERsIFAAAQGAkXAABAYCRcAAAAgZFwAQAABEbCBQAAEBgJFwAArXCXbrkl+plke6g+sogDsxYs4TKz483sa2b2oJntNrPBOse80sx+ZmY7K8tfhIoHAIAgtm6VBgak9esnkhr3aH1gINqfRR9ZxIFZC1lLcVzSe919h5n1SNpuZl9x9+9MOe5ud39TwDgAAAinv18aHJSGh6P1oaEoyRkejrb392fXR+g4MGvBEi53f0LSE5XfR83sQUnHSZqacAEA0L7MouRGipKbasIzOBhtN8uuj9BxYNbMM3ima2bLJX1d0qnu/lzN9ldKulnSXkn7JP2Zu++uc/5lki6TpGXLlvXt2dOwGDcAAPlwl+bUzNQpl9NPcpL0kUUcqMvMtrv7qnr7gk+aN7OFipKqy2uTrYodkl7k7i+X9BFJdR8wu/u17r7K3VctXrw4bMAAAMxUda5Urdq5VFn1kUUcmJWgCZeZzVeUbH3W3Uem7nf359x9f+X32yXNN7NFIWMCACBV1SSnOleqXJ6YS5VWspOkjyziwKwFm8NlZibpU5IedPcPNzhmiaQfubub2RmKEsBnQ8UEAEDqtm6dSHKqc6Vq51Kdfba0dm34Pqq/h4wDsxZsDpeZnSnpbkn3SypXNl8taZkkufsnzOzdkv5Y0RuNv5B0hbv/W7N2V61a5du2bQsSMwAAM+YeJUT9/ZPnSjXaHqoPKXwcaKrZHK5MJs2niYQLAAAUUa6T5gEAALodCRcAAEBgJFwAgOy1S92/clm68sroZ5LtQAMkXACA7LVL3b+NG6XNm6W+vonkqlyO1jdvjvYDCZBwAQCyV1sbsJp0FbHu36ZNUm+vtHPnRNLV1xet9/ZG+4EEQhavBgCgvizqD6Zhzhxp+/aJJGvu3Gh7b2+0fQ73LZAMn4UAAOSnXer+lcsTyZYklUokW5iGz0IAAIqnXer+VR8j1qqd0wUkQMIFAMheu9T9mzpnq1SaPqcLSICECwCQvUa1AatJV5HeUqwmW9U5W9u3TyRdvKWIhJjDBQDIXhb1B9NQLkdJ1aZN0+ea1duOrkYtRQAAgMCYNA8AAJAjEi4AQPbiSvuUy/Glf9JoI4trSdJPUdroFEUcC3dvq6Wvr88BAG1uZCRKmQYH3cvlaFu5HK1L7hs2NN8/MpJOG1lcS5J+itJGp8hpLCRt8wb5S+4J1EwXEi4A6AC1f/yqfxRr10ul5vvL5XTayOJakvRTlDY6RU5jQcIFACie2j+C1aXRHYl6+9NqI4traac2OkUOY9Es4eItRQBAfjymtE/c/rTaSEMa/RSljU6R8VjwliIAoHg8prRP3P602khDGv0UpY1OUbSxaHTrq6gLjxQBoAMwh6uYbXQK5nCRcAEAnLcUi9pGp+AtRRIuAIBHf/xGRqbfaahuL5Wa76/e4Wq1jSyuJendqSK00SlyGotmCReT5gEAAFLApHkAAIAckXABAAAERsIFAEAjnkJNvjTa6DYdOGYkXAAANLJ1qzQwUP/bXgMD0f4s2ug2HThm8/IOAACAwurvlwYHpeHhaH1oKPqjPzwcbe/vz6aNbtOBY8ZbigAANFO9s1L94y9Ff/SHhpKXiUmjjW7ThmPW7C1FEi4AAOI4NQ5z0WZjxmchAACYreqdllrUOAyvw8aMhAsAgEZqH2sNDkZ3WKpzi5L+8U+jjW7TgWPGpHkAABrZunXij3517tDQULRveFg6+2xp7drwbXSbDhwz5nABANCIe/THv79/8tyhRttDtdFt2nTMmDQPAAAQGJPmAQAAckTCBQAAEBgJFwCgMyWpxxd3TLncehvUW5ysm661BgkXAKAzJanHF3fMxo2tt0G9xcm66VpruXtbLX19fQ4AQKxy2X1wMLoHNThYfz3umFKp9TbK5XRi7RQdfK2StnmD/CX3BGqmCwkXACCx2j/m1WXqH/W4Y9JoI61YO0WHXmuzhIvPQgAAOpsnqMcXd0wabaQVa6fowGvlsxAAgO7kCerxxR2TRhtpxdopuulaqxrd+irqwiNFAEAizOEqpg6+VjGHCwDQdUZGpv8Rr/3jPjISf8yGDa23MTKSTqydooOvtVnCxRwuAEBn8gT1+KTmx5x/vnTrra21Qb3FyTr4WqmlCAAAEBiT5gEAAHJEwgUAmBnPoGROkpI6yF6Sf/t26idDwRIuMzvezL5mZg+a2W4zG6xzjJnZ35nZI2Z2n5mtDBUPACAlWZTMSVJSB9nLqixPJ5b/aTSbvtVF0rGSVlZ+75H0PUkvm3LMeZL+RZJJWi3pm3Ht8pYiAOQsi88tJPkcA7KX1Scd2vTTESrCZyEk3SrpNVO2fVLSm2vWH5J0bLN2SLgAoACyKJnToeVf2l5W/y5t+O/fLOHK5C1FM1su6euSTnX352q2f0nSh9z9G5X1r0q60t23TTn/MkmXSdKyZcv69uzZEzxmAEAMz6BkTpI+kL2s/l3a7N8/17cUzWyhpJslXV6bbFV31zllWgbo7te6+yp3X7V48eIQYQIAZqI6n6ZW2iVzkvSB7GX179Jp//6Nbn2lsUiaL+kOSVc02M8jRQBoN8zh6l7M4WpKeczhUnT36jOS/rbJMW/U5Enz34prl4QLAHKWRcmcJCV1kL2syvK0afmfZglXsDlcZnampLsl3S+pXNl8taRllTtrnzAzk/RRSa+X9HNJv+9T5m9NxZfmASBnnqA0i9RayZwkJXUKPJenYyX5t0/j3yWrflJGaR8AAIDAKO0DAACQIxIuAACAwEi4AADp85haeKWSdOWV0XeVapXL9bfPpo82mzLTMsaj0Ei4AADpi6uFd8EF0ubNUl/fRHJVLkfrmzdHtRRb7aMd6+21gvEotkavLxZ14bMQANAG4r6jND7u3tsbrff2Rt/dmrreah8F/VZTMIxH7pR3aZ808ZYiALSJ6t2V4eGJbYOD0tBQ9Ep/9Y7Wzp0T+3t7pe3bJ5dzaaWPbsN45IrPQgAA8uExtfDKZWnu3In1Uil5spW0j27DeOSGz0IAALJXvdtSq3Z+UfUOV63aOV1p9NFtGI/CIuECAKSv9tHW4GCURA0ORuvr10d3sqqPE3t7o/Xe3mg9adIV10e3JRmMR7E1mtxV1IVJ8wDQBuJq4fX3T58gXztxfsOG1vsoaL29YBiP3IlJ8wCATHlMLbw1a6Srr5Y2bZo+32jjxunbZ9NHQevtBcN45I5J8wAAAIExaR4AACBHJFwAAACBkXABACYrlaS1a6Of9bYfOtQ5dRAbxVzdXiq1Hmca15rVeBXl36UTNZpNX9SFtxQBILDqG4SLFkUleNyjn4sWRdtPOqlz3jDcsKH5tVTHopU407jWrMarKP8ubUpN3lLMPYGa6ULCBQCB1SZX1aSrdn1srHPqINaLvXZ9fLz1ONO41qzGqyj/Lm2KhAsAMDO1SVZ1qb3jVZuYVJekyVZV7R/z6pLHH/W4a0kjzqK0UaR+OlCzhIvPQgAA6iuVpHnzJtbHxyfXPeykOohx15JGnEVpo0j9dBg+CwEAmJlSSVqyZPK2JUsmJtJ3Uh3EuGtJI86itFGkfrpNo1tfRV14pAgAgTGHa2KdOVzM4ZoBMYcLAJAYbynylmLe/y5tioQLAJDc+HiUaFSTranbx8aiRGXqnaxSqf72esrl6I/31DsmjbaH0ijm6vbx8dbjTONasxqvovy7tKlmCReT5gEAAFLApHkAAIAckXABQLvwNiq70k6xAhkg4QKAdrF1qzQwMPkVfa+8wj8wEO0vinaKFcjAvPhDAACF0N8vDQ5Kw8PR+tBQlMAMD0fb+/vzja9WO8UKZIBJ8wDQTqp3iaqJjBQlMENDxfsSeDvFCqSg2aR5Ei4AaDfeRmVX2ilWoEW8pQgAnaJ616hWUcuutFOsQGAkXADQLmof0Q0ORneLqvOkipbItFOsQAaYNA8A7WLr1okEpjoPamgo2jc8LJ19trR2bb4xVrVTrEAGmMMFAO3CPUpk+vsnz4NqtD1P7RQrkBImzQMAAATGpHkAAIAckXABAAAERsIFAO0ijfqERalxWJQ4stBN14qGSLgAoF2kUZ+wKDUOixJHFrrpWtGYu7fV0tfX5wDQlcpl98FBdyn6WW89izbSUJQ4stBN19rlJG3zBvkLbykCQDtJoz5hUWocFiWOLHTTtXYxPgsBAJ0kjfqERalxWJQ4stBN19ql+CwEAHSKNOoTFqXGYVHiyEI3XSvqIuECgHaRRn3CotQ4LEocWeima0VjjSZ3FXVh0jyArjUyMn2ide0E7JGRbNpIQ1HiyEI3XWuXE5PmAaADeAr1CdNoIw1FiSML3XStXY5J8wAAAIExaR4AACBHJFwAAACBJU64zOzXzGxZdUlw/KfN7Ckze6DB/lea2c/MbGdl+YuZBA4AheIZ1Ms7dEhasSL62Wh7XBzlcutxlsvSlVdGPxttzyIOoJ00mk1fXSStkfSwpAOSHpVUlrQ7wXm/LWmlpAca7H+lpC/FtTN14S1FAIWUxZtoJ50UtTV3rvvYWLRtbCxal6L9cXFs2NB6nNU2envdS6VoW6kUrVf7yCIOoGDU5C3FJAnXLknHSLq3sn6OpGvjzqscu5yEC0BXyKJeXm1yVU26pq7HxVEqtR5nbXJVTbqmrmcRB1AwrSZc23wi8ZpT+f1bced5soTr2Uq7/yLplCRtknABKKzapKG6pJ081CZZ1aX2jleSONKIszbJqi61d7yyigMokGYJV+xnIczsTkn9kjZJWiTpKUm/7u6/Gfe40syWV+5inVpn31GSyu6+38zOkzTs7isatHOZpMskadmyZX179uyJ6xoA8uEZ1Ms7dEg67LCJ9bExaf78mcWRRpzlsjR37sR6qTS5zaziAAqi1c9CnC/p55LWS/qypO9LelOrQbn7c+6+v/L77ZLmm9miBsde6+6r3H3V4sWLW+0aAMLwDOrlHTokHXnk5G1HHjl5In1cHGnEWS5LfX2Tt/X1TZ5In0UcQLtodOurukh6Q51t74w7z+MfKS7RxIdXz5D0H9X1ZguPFAEUEnO4Jq8zhwtdSC3O4fo3SefWrG+Q9C8Jzvu8pCckHZK0V9LbJb2zmqxJerek3YrmcN0j6Tfj2nQSLgBFxVuKvKWIrtdqwrWokhCdJemvJN0saX7ceaEWEi4AhVQuR0nC1DszjbbPxthYlFTVTpCfuj0ujlKp9ThLpShhqp0gP3V7FnEABdMs4UpUS9HMfk3SnZK2S/oDT3JSINRSBAAARdRs0vy8JieNSnJJVvl5mKQTJF1gZu7uR4UIFgAAoNM0fEvR3Xvc/aian0e4+8LqepZBAsCsubdPCZkkJXPixF1vqdR6WZ4ijVlojAVSEvtZCDP7apJtAFBIW7dKAwP1P0cwMBDtL4qNG6XNmyd/XqH6+YXNm6P9ceKu94IL4vtopzELjbFAWhpN7pJ0hKKSPrskPU/S8yvLckkPNjov9MKkeQAzksXnGtKS5HMLceKud3y89U86FGnMQmMsMAOazVuKkgYVFas+KOkHld8frSRg7250XuiFhAvAjLVTCZkkJXPixF1vGmV5ugljgYSaJVxJSvv8qbt/JP17a7PDW4oAZsXbqIRMkpI5ceKuN42yPN2EsUACLZX2cfePmNmpZnaRmb2tuqQfJgAEUp1zU6uoJWSSlMyJE3e9aZTl6SaMBVKQZNL8X0r6SGU5R9JmSWsCxwUA6aj+sRwelgYHo6RicDBaL9ofzWoitHOn1Nsb3XXq7Y3WkyZdcddbKsX30U5jFhpjgbQ0etZYXSTdrygx21VZf4Gkf4o7L9TCHC4AM5JFyZ20JCmZEyfuevv74/topzELjbHADKjF0j7fqvzcLukoRR9C3R13XqiFhAvAjGRRcictSUrmxIm73vHx1svyFGnMQmMsMAPNEq4kk+Y/JulqSRdLeq+k/ZJ2uvvvp3+/LR6T5gEAQBHNqrRPlbv/iZnNd/dPmNmXJR3l7velHiUAAECHalZLcWXl1xMkXWxmf6XocaLMbKW778ggPgAAgLbX7C3F/1lZ3iVpqaQv12z7m/ChAeh4XpA6daWStHZt9LPe9kOH4usPxtVBHB9vvYZhuRw/XkUZUwCTNZrcNXWR9J6kx4ZcmDQPdJCivAFWfXNv0aJoUrl79HPRomj7SSfFv9kX94bhGWe0/nZgtY9m41WUMQW6kFp8S/EISVdIukXSzZIul3RE3HmhFhIuoIMUpU5dbXJVTbpq18fG4usPxtVBPHSo9RqGpVL8eBVlTIEu1GrCdaOkTyn66Ok5kq6VdFPceaEWEi6gwxSlTl1tklVdau94Jak/GHdMGjUMk4xXUcYU6DLNEq4kn4XY5e4vj9uWFT4LAXQgL0idulJJmlfzLtH4+OR6g0nqD8Ydk0YNwyTjVZQxBbpIS7UUJd1rZqtrGnuFpP+bVnAAupwXpE5dqSQtWTJ525IlExPpk9QfjDsmjRqGScarKGMKYEKjW1/VRdKDksqSHqssZUm7FZX8uS/u/LQXHikCHaQo842YwwUgBWpxDteLmi1x56e9kHABHaQob9TxliKAFLSUcBVtIeECOkhR6tSNj0dJVzXZmrp9bCy+/mBcHcRDh1qvYVgqxY9XUcYU6ELNEq7YSfNFw6R5AABQRK1OmgcAAEALSLgAdDZPUOomyTFp9JNFG0XoA8A0s0q4zOzatAMBgCC2bpUGBup/WmFgINqf5Jg0+smijSL0AWC6RpO7mi2S+mZzXhoLk+YBzEiSzySk8SmForRRhD6ALqXZvqUoaa6kv252TNYLCReAGcuqHE5R2ihCH0AXapZwJSntc5ekV3ncgRnhLUUAs+IZlcMpShtF6APoMi2X9pF0q5n9npkNVJd0QwSAgDyjcjhFaaMIfQCYJEnC9XxJz0o6V9LvVJY3hQwKAFJTTS6Gh6XBwehOzuBgtF5NMpIck0Y/WbRRhD4ATNfoWWNRF+ZwAZiRJKVu0iiHU5Q2itAH0KXU4hyul0j6uKQXuPupZnaapDXu/t8zyAenYQ4XgBlxjz510N8/eY5S7XYp/pi4+U1J+smijThZ9AF0qWZzuJIkXP9H0p9L+qS7n17Z9oC7n5p6pAmQcAEAgCJqddL8r7j7t6ZsG289LAAAgO6QJOF6xsxOlOSSZGYXSHoiaFQAAAAdJEnC9S5Jn5T0UjP7oaTLJf1x0KgANObUwpskbjzKZcYLQO5iEy53/4G7v1rSYkkvdfcz3f2x4JEBqI9aeJPFjcfGjYwXgNzNizvAzEqS/lrSxsorjzKzHe6+MnRwAOro75/4bpIkDQ1N/q5S9a27bhE3Hps2SQcPMl4AcpXkLcX7JH1Z0umS1rn7j83s3uobi1njLUVAkz9eWTU4GCUT3fhKf9x4MF4AMtDqZyF2uPtKM7tI0l9Kepukv8/rDhcJF1BBLbzJ4saD8QIQWKufhTBJcvcbJV0k6R8knZBeeABmjFp4k8WNB+MFIGdJEq4/rP7i7rslnSnpPcEiAtActfAmixuPcpnxApC72Enzkk4ws++5+6iZ/VdJKyXlUtYHgKK36qrJQ3UO0tBQtG94WDr7bGnt2nxjzFLceBx+OOMFIHeJJs27+2lmdqakTZL+RtLV7v6KLAKcijlc6HrUwpssbjzOP1+69VbGC0BwrU6av9fdTzezTZLud/fP8ZYiAADAZK1Omv+hmX1S0YT5283s8ITnAQAAQMkSp4sk3SHp9e7+U0nPl/TnQaMCAADoIElK+/zc3Ufc/eHK+hPu/q9x55nZp83sKTN7oMF+M7O/M7NHzOw+M+PL9UCRlMvSlVdGP5NsT/t8Kbu6kdRjBBBYyEeD10t6fZP9b5C0orJcJunjAWMBMFMbN0qbN0t9fRPJUbkcrW/eHO0Peb6UXd1I6jECCM3dgy2Slkt6oMG+T0p6c836Q5KOjWuzr6/PAWSgVHLv7XWXop/11kOe7+5eLrsPDkbnDA7WX09DXD+lUjZxAGhrkrZ5g/wlyXe4QjlO0uM163sr257IJxwAk8yZI23fHt2R2rlTmjs32t7bG22fE3ODvNXzpenfzKrWQky7DmKSfrKIA0DHiv0sREuNmy2X9CV3P7XOvn+WtMndv1FZ/6qkDe6+vc6xlyl67Khly5b17dmzJ1jMAKYolyeSJUkqlZIlS2mdL2VXB5F6jABa0OpnIULZK+n4mvWlkvbVO9Ddr3X3Ve6+avHixZkEB0ATc65q1c7JCn2+lF0dROoxAggoz4TrNklvq7ytuFrSz9ydx4lAUVSTpZ07o8eApVL0c+fOZElTq+dL2dWNpB4jgNAaTe5qdZH0eUXzsQ4pupv1dknvlPTOyn6TdI2k70u6X9KqJO0yaR7IyIYN0ye4105837Ah7Pnu7iMj0yem105YHxmZ/fXNpJ/qtYSOA0BbU5NJ80HncIVAaR8gI+Vy9DmETZumz1uqtz3t86Xs6kbG9UM9RgAJtFRLsWhIuAAAQBEVddI8AABAVyDhAgAACIyECwAAIDASLgAAgMBIuAAAAAIj4QIAAAiMhAsAACAwEi4AAIDASLgAAAACI+ECAAAIjIQLAAAgMBIuAACAwEi4AAAAAiPhAgAACIyECwAAIDASLgAAgMBIuAAAAAIj4QIAAAiMhAsAACAwEi4AAIDASLgAAAACI+ECAAAIjIQLAAAgMBIuAACAwEi4AAAAAiPhAgAACIyECwAAIDASLgAAgMBIuAAAAAIj4QIAAAiMhAsAACAwEi4AAIDASLgAAAACI+ECAAAIjIQLAAAgMBIuAACAwOblHQDCGj04qi27t+jhZx/WimNWaN0p69RzeE/eYQEA0FVIuDrYN/7jGzrvs+ep7GUdOHRAC+Yv0BV3XKHb33q7zlx2Zt7hAQDQNXik2KFGD47qvM+ep9GxUR04dECSdODQAY2ORdv3j+3POUIAALoHCVeH2rJ7i8perruv7GVteWBLxhEBANC9SLg61MPPPvzLO1tTHTh0QI/8+JGMIwIAoHuRcHWoFces0IL5C+ruWzB/gU56/kkZRwQAQPci4epQ605ZpzlW/593js3RulPXZRwRAADdi4SrQ/Uc3qPb33q7eg7r+eWdrgXzF6jnsGj7wsMW5hwhAADdg89CdLAzl52pfe/dpy0PbNEjP35EJz3/JK07dR3JFgAAGSPh6nALD1uot698e95hAADQ1XikCAAAEBgJFwAAQGBBEy4ze72ZPWRmj5jZVXX2X2pmT5vZzsryhyHjQX2jB0d13Y7rdOVXrtR1O67T6MHRvEMCAKCjBJvDZWZzJV0j6TWS9kr6tpnd5u7fmXLoFnd/d6g40Bz1FgEACC/kHa4zJD3i7j9w9zFJX5B0fsD+MEPUWwQAIBshE67jJD1es763sm2q3zWz+8zsi2Z2fMB4MAX1FgEAyEbIhMvqbPMp6/8kabm7nybpTkk31G3I7DIz22Zm255++umUw+xe1FsEACAbIROuvZJq71gtlbSv9gB3f9bdD1ZW/15SX72G3P1ad1/l7qsWL14cJNhuRL1FAACyETLh+rakFWb2YjM7TNLFkm6rPcDMjq1ZXSPpwYDxYArqLQIAkI1gCZe7j0t6t6Q7FCVSN7r7bjP7gJmtqRz2HjPbbWa7JL1H0qWh4sF01FsEACAb5j51WlWxrVq1yrdt25Z3GB1l/9h+6i0CANAiM9vu7qvq7aOWIqi3CABAYJT2AQAACIyECwAAIDAeKeZo9OCotuzeooeffVgrjlmhdaesU8/hPTNq43vPfE+Xbr1Uj/70Ub346Bfr+v7r9ZJFL5lRH2nEkUYbAAB0KibN56ReDcM5NmdGNQyvuOMKDd0zNG37+tXr9eHXfThRH2nEkUYbAAC0u2aT5km4cjB6cFTHffg4jY6NTtvXc1iP9r13X+xbgt975ns6+ZqTG+7fedlOnXX9WU37cPeW40jjWgAA6ATNEi7mcOUgjRqGl269tOn+gZsGYvtIIw7qMQIAEI85XDlIo4bhoz99tOn+H+3/UWwf1UeArcRBPUYAAOJxhysHadQwfPHRL266/wULXxDbRxpxUI8RAIB4JFw5SKOG4fX91zfdP3LhSGwfacRBPUYAAOKRcOUgjRqGL1n0Eq1fvb7uvvWr1+vlx748to804qAeIwAA8XhLMUdp1DD8/o+/r7fd8jY99tPHtPzo5frM2s/oxOefOKM+0oiDeowAgG7HZyEAAAAC47MQAAAAOeKzEDna99w+bfzqRn33me/qpYteqk2v2qQXHvXCScekUbonDmV5AAAIi0eKOfnYtz+md93+rmnbrznvGv3Jr/+JpHRK98ShLA8AAOlgDlfB7Htun44bOq7h/ife+4Se+3/PtVy6h7I8AABkhzlcBbPxqxub7r/qzqtSKd0Th7I8AABkgzlcOfjuM99tuv+hZx7SYz99rOkxSUr3xKEsDwAA2eAOVw5euuilTfefvOjkVEr3xKEsDwAA2SDhysGmV21quv9Dr/5QKqV74lCWBwCAbJBw5eCFR71Q15x3Td1915x3jZYsXJJK6Z44lOUBACAbvKWYoyf3P6mr7rxKDz3zkE5edLI+9OoPacnCJZOOSaN0TxzK8gAA0Do+CwEAABAYn4UAAADIEQkXAABAYBO+/18AAArUSURBVCRcDYweHNV1O67TlV+5UtftuE6jB6d/jT3Ovuf26ZJbLtEr/v4VuuSWS7TvuX2T9u/Yt0MnDp+oBX+1QCcOn6gd+3ZMa+Nzuz6n+R+YL3u/af4H5utzuz43af8dD9+hng/2aM7756jngz264+E7Ju2/+7G7tXjzYs3/wHwt3rxYdz92d5BrTaMNAAA6FXO46kijvmBcrcR1N63Tjd+5cdr+i152kbZcGH3h/fgPH6+9o3unHbO0Z6kev+JxrfzkSt375L3T9p++5HTteMcOnXvDufraY1+btv+c5eforkvuSu1aqccIAACT5mckjfqCcbUS73jrHXrdZ1/XcP+ud+zSAz96QG/d+taGx2xcvVGb7mn8Pa+h1w5p/b/W/6yEJP37H/y7Tvm1U1q+VuoxAgAQYdL8DKRRXzCuVuLv3vS7TfcP3DigS269pOkxzZItSU2TLUla84U1qVwr9RgBAIhHwjVFGvUF42olHhir337Vk/uf1LiPx/bTip/84iepXCv1GAEAiEfCNUUa9QXjaiUuOKx++1VLFi7RPAtbV/x5Rz4vlWulHiMAAPFIuKZIo75gXK3Emy+8uen+kYtGdMP5NzQ9ZuPq5o8th1471HT/bRfflsq1Uo8RAIB4JFxTpFFfMK5W4mtPeq0uetlFdfdf9LKLdNqS0/SWl79FS3uW1j1mac9SffB1H9TpS06vu//0Jafr8t+4XOcsP6fu/nOWn6PVx69O5VqpxwgAQDzeUmwgjfqCcbUS73vyPg3cOKAn9z+pJQuXaOSiEZ225LRJbXzxgS/qzSNv1riPa57N0+cHPq8LTr3gl/vv+sFdOn/L+TowdkALDlugW9fdqnNPOPeX++95/B6t+cIa/eQXP9Hzjnyebrv4Nq0+fnXq10o9RgBAt+OzEAAAAIHxWQgAAIAchX0VroONHhzVlt1b9PCzD2vFMSu07pR16jm8J/N+duzboQtvuvCXjyVvuvAmrXzhytTjAAAAs8cjxVnIqpRNXD9JygMBAIBsMIcrRVmVsonr5/a33K6zrj+r4fm73rFr2gR8AAAQDnO4UpRVKZu4ftZuWdv0/IEbB1KJAwAAtI45XDOUVSmbuH4Ojh9sev6T+59MJQ4AANA67nDNUFalbOL6OfqIo5ueX/u9LwAAkC8SrhnKqpRNXD+3rLul6fkjF42kEgcAAGgdCdcMZVXKJq6fM190Zmx5IAAAUAy8pThLWZWyiesnSXkgAAAQHp+FAAAACIzPQgAAAOSIhAsAACAwEi4AAIDAgiZcZvZ6M3vIzB4xs6vq7D/czLZU9n/TzJaHjAcAACAPwRIuM5sr6RpJb5D0MklvNrOXTTns7ZJ+4u4nSRqS9D9CxQMAAJCXkHe4zpD0iLv/wN3HJH1B0vlTjjlf0g2V378o6VVmZgFjAgAAyFzIhOs4SY/XrO+tbKt7jLuPS/qZpGOmNmRml5nZNjPb9vTTTwcKFwAAIIyQCVe9O1VTP/qV5Bi5+7XuvsrdVy1evDiV4AAAALISMuHaK+n4mvWlkvY1OsbM5kn6VUk/DhgTAABA5kImXN+WtMLMXmxmh0m6WNJtU465TdIlld8vkHSXt9un7wEAAGLMC9Wwu4+b2bsl3SFprqRPu/tuM/uApG3ufpukT0n6RzN7RNGdrYtDxQMAAJCXtqulaGZPS9qTYZeLJD2TYX+djvFMH2OaPsY0fYxpuhjP9KUxpi9y97qTzdsu4cqamW1rVIgSM8d4po8xTR9jmj7GNF2MZ/pCjymlfQAAAAIj4QIAAAiMhCvetXkH0GEYz/QxpuljTNPHmKaL8Uxf0DFlDhcAAEBg3OECAAAIjISrATP7tJk9ZWYP5B1LJzCz483sa2b2oJntNrPBvGNqd2Z2hJl9y8x2Vcb0/XnH1AnMbK6Z3WtmX8o7lk5gZo+Z2f1mttPMtuUdTycws6PN7Itm9t3K/6f+Rt4xtTMzO7nyv8/q8pyZXZ56PzxSrM/MflvSfkmfcfdT846n3ZnZsZKOdfcdZtYjabukfnf/Ts6htS0zM0kL3H2/mc2X9A1Jg+5+T86htTUzu0LSKklHufub8o6n3ZnZY5JWuTvfjEqJmd0g6W53v65SyeVX3P2necfVCcxsrqQfSnqFu6f6zU/ucDXg7l8XdR1T4+5PuPuOyu+jkh6UdFy+UbU3j+yvrM6vLPwXVAvMbKmkN0q6Lu9YgHrM7ChJv62oUovcfYxkK1WvkvT9tJMtiYQLOTCz5ZJOl/TNfCNpf5XHXzslPSXpK+7OmLbmbyVtkFTOO5AO4pL+1cy2m9lleQfTAU6Q9LSkf6g8+r7OzBbkHVQHuVjS50M0TMKFTJnZQkk3S7rc3Z/LO5525+4ld++VtFTSGWbG4+9ZMrM3SXrK3bfnHUuH+S13XynpDZLeVZmugdmbJ2mlpI+7++mSDki6Kt+QOkPl8ewaSTeFaJ+EC5mpzDO6WdJn3X0k73g6SeWRwv+W9PqcQ2lnvyVpTWXO0RcknWtm/yvfkNqfu++r/HxK0i2Szsg3ora3V9LemrvZX1SUgKF1b5C0w91/FKJxEi5kojLB+1OSHnT3D+cdTycws8VmdnTl9yMlvVrSd/ONqn25+0Z3X+ruyxU9VrjL3f9zzmG1NTNbUHlJRpXHXq+VxJvfLXD3JyU9bmYnVza9ShIvH6XjzQr0OFGKbk2iDjP7vKRXSlpkZnsl/aW7fyrfqNrab0n6PUn3V+YcSdLV7n57jjG1u2Ml3VB5q2aOpBvdnU8ZoEheIOmW6L+3NE/S59z9y/mG1BH+VNJnK4/AfiDp93OOp+2Z2a9Ieo2kdwTrg89CAAAAhMUjRQAAgMBIuAAAAAIj4QIAAAiMhAsAACAwEi4AAIDASLgAtBUze5+Z/Vnl9+vN7IJZtrPczJp+E6pyzFtq1i81s4/Opj8A3Y2ECwAaWy7pLXEHAUAcEi4AhWdm/8XMHjKzOyWdPGX30soHIBud+z4z+0czu8vMHjazP5qy/4TKnay7zWxHZfnNyu4PSTrLzHaa2fop573RzP7dzBaZ2e+Y2TcrxYTvNLMXpHHdADoHCReAQjOzPkWldk6XNCDp12t2H1nZ1hPTzGmS3ijpNyT9hZm9sHLuiZLOlPSUpNdUiiyvk/R3lfOuknS3u/e6+1BNTGsr+85z92ckfUPS6kox4S9I2jD7KwbQiSjtA6DozpJ0i7v/XJLM7LbKzwsVJUuD7v5sTBu3uvsvJP3CzL4mabWkP5L0fXf/jJn9qqSPmlmvpJKklzRp6xxJqyS91t2fq2xbKmmLmR0r6TBJj87mQgF0Lu5wAWgH02qQuftNkr4yy/NLkv64Zn29pB9JermiZKrhI0pFtet6NDkp+4ikj7r7f1JUi+2IhHEB6BIkXACK7uuS1prZkWbWI+l3ZtHG+WZ2hJkdo6go/ben7P9VSU+4e1lRkfW5le2jmv64co+ix5ifMbNTas7/YeX3S2YRH4AOR8IFoNDcfYekLZJ2SrpZ0t31jjOzD5jZmgbNfEvSP0u6R9J/c/d9U/Z/TNIlZnaPojtXByrb75M0bma7aifNu/tDkt4q6SYzO1HS+yq/3y3pmZlfJYBOZ+7T7tQDQMcws/dJ2u/uf5N3LAC6F3e4AAAAAuMOFwAAQGDc4QIAAAiMhAsAACAwEi4AAIDASLgAAAACI+ECAAAIjIQLAAAgsP8Ppsr4ScesF0EAAAAASUVORK5CYII=\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": "notes"
}
},
"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": [
"/home/pawel/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:12: UserWarning: The following kwargs were not used by contour: 'lw'\n",
" if sys.path[0] == '':\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAFkCAYAAADrFNVeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdd3gU5fYH8O8kEBJKaKFDqIYuAQLSlAiIICBIEQveHzYsV6SoKIjl2lAExQJe9ArYG02xIio2LICggNIFAgIh9ARI2T2/Pw7DluxuNtsm5ft5nnmSndmZeXezzB7e97xnDBEBERERERVelNUNICIiIiquGEgRERERBYiBFBEREVGAGEgRERERBYiBFBEREVGAGEgRERERBaiM1Q1wlpCQII0aNbK6GUREREQu1q5dmyEiNdzXF6lAqlGjRlizZo3VzSAiIiJyYRjGbk/rObRHREREFCAGUkREREQBYiBFREREFCAGUkREREQBYiBFREREFCAGUkREREQBYiBFREREFCAGUkREREQBYiBFREREFKCwBVKGYTQ3DGO903LCMIzx4TofERERUaSF7RYxIrIFQDIAGIYRDWAfgCXhOh8RERFRpEVqaK83gB0i4vE+NURERETFUaQCqasAvBOhcxERERFFRNgDKcMwYgBcDuADL9vHGIaxxjCMNYcOHQp3cyjEUhekInVBqtXNICKrpabqQlTKhC1Hykl/AL+JyEFPG0XkZQAvA0BKSopEoD0UQvXj61vdBCIqCurzWkClUyQCqavBYb0S682hb1rdBCIqCt7ktYBKp7AO7RmGUR7AJQAWh/M8RERERFYIa4+UiJwCUD2c5yBrjf9cS4PN6jfL4pYQkaXGny0TOIvXAipdIjG0RyXY+gPrrW4CERUF63ktoNKJt4ghIiIiChADKSIiIqIAMZAiIiIiChBzpCgoSdWTrG4CERUFSbwWUOlkiBSdGpgpKSmyZs0aq5tBRERE5MIwjLUikuK+nkN7RERERAFiIEVBGbNsDMYsG2N1M4jIamPG6EJUyjBHioKy9fBWq5tAREXBVl4LqHRijxQRERFRgBhIEREREQWIgRQRERFRgJgjRUFJrp1sdROIqChI5rWASifWkSIiIiIqAOtIEREREYUYAykKyqjFozBq8Sirm0FEVhs1SheiUoY5UhSU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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": 29,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/pawel/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:8: UserWarning: The following kwargs were not used by contour: 'lw'\n",
" \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": [
"/home/pawel/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:10: UserWarning: The following kwargs were not used by contour: 'lw'\n",
" # Remove the CWD from sys.path while we load stuff.\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAFkCAYAAADrFNVeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3de3wU9bk/8M+zu7lfSEJCAgREQIKgiCQqCmqtVi0q4KWltVd/tvZUWxGsXOyx7TmeqsdaKW1pT621HqynUrnaSq2XgqhFkHBTQO4gmAC5EHLPZnef3x+zSzZkb8xmsrvJ5/16zWszMzsz393a5MPMM8+IqoKIiIiIzp4t1gMgIiIiSlQMUkREREQmMUgRERERmcQgRURERGQSgxQRERGRSQxSRERERCY5Yj0Af/n5+Tps2LBYD4OIiIiok/Ly8mpVLThzeVwFqWHDhmHTpk2xHgYRERFRJyJyONByXtojIiIiMolBioiIiMgkBikiIiIikxikiIiIiExikCIiIiIyiUGKiIiIyCQGKSIiIiKTGKSIiIiITGKQIiIiIjKJQYqIiIjIJAYpIiIiIpMYpIiIiIhMYpAiIiIiMolBioiIiMgkBikiIiIikxikiIiIiExikCIiIiIyiUGKiIiIyCQGKSIiIiKTGKSIiIiITGKQIiIiIjKJQYqIiIjIJAYpIiIiIpMYpIiIiIhMYpAiIiIiMolBioiIiMgkBikiIiIikxikiIiIiExikCIiIiIyiUGKiIiIyCQGKSIiIiKTGKSIiIiITGKQIiIiIjKJQYqIiIjIJAYpIiIiIpMYpIiIiIhMYpAiIiIiMolBioiIiMgkS4OUiOSIyFIR+VhEdonI5VYej4iIiKgnOSze/0IAr6nqHSKSDCDd4uMRERER9RjLgpSIZAO4CsA3AUBVnQCcVh2PiIiIqKdZeWlvOIAqAH8UkS0i8qyIZJz5JhG5R0Q2icimqqoqC4dDRERE1L2sDFIOABMA/FZVLwbQBGDemW9S1WdUtUxVywoKCiwcDhEREVH3sjJIHQVwVFU3eOeXwghWRERERL2CZUFKVY8BOCIiJd5F1wLYadXxiIiIiHqa1XftfR/Ai9479g4AuMvi4xERERH1GEuDlKpuBVBm5TGIiIiIYoWdzYmIiIhMYpAiIiIiMolBioiIiMgkBikiIiIikxikiIiIiExikCIiIiIyiUGKiIiIyCQGKSIiIiKTGKSIiIiITGKQIiIiIjKJQYqIiIjIJAYpIiIiIpMYpIiIiIhMYpAiIiIiMolBioiIiMgkBikiIiIikxikiIiIiExikCIiIiIyiUGKiIiIyCQGKSIiIiKTGKSIiIiITGKQIiIiIjKJQYqIiIjIJAYpIiIiIpMYpIiIiIhMYpAiIiIiMolBioiIiMgkBikiIiIikxikiIiIiExikCIiIiIyiUGKiIiIyCQGKSIiIiKTGKSIiIiITGKQIiIiIjKJQYqIiIjIJIeVOxeRQwAaALgBuFS1zMrjEREREfUkS4OU1zWqWt0DxyEiIiLqUby0R0RERGSS1UFKAbwuIuUico/FxyIiIiLqUVZf2pukqhUiMgDAGyLysaqu83+DN2DdAwBDhw61eDhERERE3cfSM1KqWuF9PQFgBYBLA7znGVUtU9WygoICK4dDRERE1K0sC1IikiEiWb6fAVwP4COrjkdERETU06y8tFcIYIWI+I7zf6r6moXHIyIiIupRlgUpVT0A4CKr9k9EREQUa2x/QERERGQSgxQRERGRSQxSRERERCYxSBERERGZxCBFREREZBKDFBEREZFJDFJEREREJjFIEREREZnEIEVERERkEoMUERERkUkMUkREREQmMUgRERERmcQgRURERGQSgxQRERGRSQxSRERERCYxSBERERGZxCBFREREZBKDFBEREZFJDFJEREREJjFIEREREZnEIEVERERkEoMUERERkUkMUkREREQmMUgRERERmcQgRURERGQSgxQRERGRSQxSRERERCYxSBERERGZxCBFREREZBKDFBEREZFJDFJEREREJjFIEREREZnEIEVERERkEoMUERERkUkMUkREREQmOSJ9o4gMAJDqm1fVTywZEREREVGCCHtGSkSmisheAAcBvA3gEIC/R3oAEbGLyBYR+ZvpURIRERHFoUgu7T0KYCKAPap6LoBrAbx3FseYCWCXibERERERxbVIglS7qtYAsImITVXXABgfyc5FpBjATQCejWKMRERERHEpkhqpOhHJBLAOwIsicgKAK8L9/wLAHABZJsdHREREFLciOSM1DUAzgFkAXgOwH8DN4TYSkZsBnFDV8jDvu0dENonIpqqqqgiGQ0RERBQfIglSV6mqR1Vdqvq/qvpLAF+M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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": 33,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/pawel/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:10: UserWarning: The following kwargs were not used by contour: 'lw'\n",
" # Remove the CWD from sys.path while we load stuff.\n",
"/home/pawel/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:8: UserWarning: The following kwargs were not used by contour: 'lw'\n",
" \n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAFkCAYAAADrFNVeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeZwU9Zk/8M+3u+fsuZlhZhguAQFBAR0EFG9dNcQAXkGTbBJX1+xqIopRxMTNZrOKaxIJyWo2xiPR+IsXhyai0ZhBPEBkOOUYbhiYg7lneq6e7np+f1Q303P0YXXXdPfM5/161aunqrqqni5x+plvPfWUEhEQERER0ZdniXYARERERPGKiRQRERGRQUykiIiIiAxiIkVERERkEBMpIiIiIoOYSBEREREZZIt2AL5yc3Nl7Nix0Q6DiIiIqIfS0tJaEcnrvTymEqmxY8diy5Yt0Q6DiIiIqAel1LH+lvPSHhEREZFBTKSIiIiIDGIiRURERGQQEykiIiIig5hIERERERnERIqIiIjIICZSRERERAYxkSIiIiIyiIkUERERkUFMpIiIiIgMYiJFREREZBATKSIiIiKDmEgRERERGcREioiIiMggJlJEREREBjGRIiIiIjKIiRQRERGRQUykiIiIiAxiIkVERERkEBMpIiIiIoOYSBEREREZxESKiIiIyCAmUkREREQGMZEiIiIiMoiJFBEREZFBTKSIiIiIDGIiRURERGQQEykiIiIig5hIERERERnERIqIiIjIICZSRERERAYxkSIiIiIyiIkUERERkUFMpIiIiIgMYiJFREREZBATKSIiIiKDmEgRERERGcREioiIiMggUxMppVSWUuoNpdQ+pdRepdQFZh6PiIiIaCDZTN7/SgDvishNSqlEAKkmH4+IiIhowJiWSCmlMgBcAuC7ACAiTgBOs45HRERENNDMvLQ3DkANgBeUUtuUUs8qpey936SUulMptUUptaWmpsbEcIiIiIgiy8xEygbgPAC/FZFzAbQCeKj3m0TkGRGZKSIz8/LyTAyHiIiIKLLMTKROADghIp955t+AnlgRERERDQqmJVIiUgWgXCk1ybPoSgB7zDoeERER0UAz+669HwB42XPH3mEAt5l8PCIiIqIBY2oiJSLbAcw08xhERERE0cLO5kREREQGMZEiIiIiMoiJFBEREZFBTKSIiIiIDGIiRURERGQQEykiIiIig5hIERERERnERIqIiIjIICZSRERERAYxkSIiIiIyiIkUERERkUFMpIiIiIgMYiJFREREZBATKSIiIiKDmEgRERERGcREioiIiMggJlJEREREBjGRIiIiIjKIiRQRERGRQUykiIiIiAxiIkVERERkEBMpIiIiIoOYSBEREREZxESKiIiIyCAmUkREREQGMZEiIiIiMoiJFBEREZFBTKSIiIiIDGIiRURERGQQEykiIiIig5hIERERERnERIqIiIjIICZSRERERAYxkSIiIiIyiIkUERERkUE2M3eulDoKoAWAG4BLRGaaeTwiIiKigWRqIuVxuYjUDsBxiIiIiAYUL+0RERERGWR2IiUA3lNKlSql7jT5WEREREQDyuxLe3NFpEIpNRzA+0qpfSKywfcNngTrTgAYPXq0yeEQERERRY6pI1IiUuF5PQVgDYBZ/bznGRGZKSIz8/LyzAyHiIiIKKJMS6SUUnalVLr3ZwBXA/jCrOMRERERDTQzL+3lA1ijlPIe5/+JyLsmHo+IiIhoQJmWSInIYQDTzdo/ERERUbSx/QERERGRQUykiIiIiAxiIkVERERkEBMpIiIiIoOYSBEREREZxESKiIiIyCAmUkREREQGMZEiIiIiMoiJFBEREZFBTKSIiIiIDGIiRURERGQQEykiIiIig5hIERERERnERIqIiIjIICZSRERERAYxkSIiIiIyiIkUERERkUFMpIiIiIgMYiJFREREZBATKSIiIiKDmEgRERERGcREioiIiMggJlJEREREBjGRIiIiIjKIiRQRERGRQUykiIiIiAxiIkVERERkEBMpIiIiIoOYSBEREREZxESKiIiIyCAmUkREREQGMZEiIiIiMoiJFBEREZFBTKSIiIiIDGIiRURERGSQLdQ3KqWGA0j2zovIcVMiIiIiIooTQUeklFLzlVIHABwB8CGAowDeCfUASimrUmqbUuqvhqMkIiIiikGhXNr7GYA5APaLyBkArgTwyZc4xmIAew3ERkRERBTTQkmkukSkDoBFKWURkRIAM0LZuVJqJICvAng2jBiJiIiIYlIoNVKNSqk0ABsAvKyUOgXAFeL+fwXgQQDpBuMjIiIiilmhjEgtANAG4D4A7wI4BOC6YBsppa4DcEpESoO8706l1Bal1Jaa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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": [
"### 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": "iVBORw0KGgoAAAANSUhEUgAAAmwAAAFmCAYAAADQ5sbeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3df5BcZ33v+c93jEZUWp1gCQFmYGKzms3GElvGmnWSi2qHEANi/rAHAxkTUzF7xXp9E64lpBskimygnGsgvlWS5brUTewJAXa1MARGwlkmVoT5qSWwjLQGJCgzg3MtfMfBjgShNcDM2P3dP8450lFP96hnuvv86verqqu7n3O65zn9Y863n+f7PI+5uwAAAJBdPWlXAAAAAMsjYAMAAMg4AjYAAICMI2ADAADIOAI2AACAjCNgAwAAyLjnpV2BNLzwhS/0q6++Ou1qAAAAXOLEiRP/4u4ba8u7MmC7+uqrNTU1lXY1AAAALmFmT9Qrp0sUAAAg4wjYAAAAMo6ADQAAIOMI2AAAADKOgA0AACDjCNgAAAAyjoANAAAg4wjYAAAAMo6ADQAAIOMyEbCZ2UfN7GkzO9Vgu5nZ/WY2Y2bfMbPrY9tuN7Pp8HJ7crUGAABIRiYCNkkfk7R9me1vlDQQXu6Q9F8kyczWS3q/pN+SdIOk95vZlR2tKYCVc5cOHw6umynPi04cV1FfKwAtyUTA5u5flXRumV1ulvQJD3xD0gvM7CpJb5B0zN3PuftPJB3T8oEfgDQcOSLdcov07ndfDDjcg/u33BJsz6NOHFdRXysALcnL4u99kn4Uu/9kWNaoHECWjIxIO3dKBw8G9w8cCAKQgweD8pGRdOu3Wp04rqK+VgBakpeAzeqU+TLlS5/A7A4F3anq7+9vX80AXJ5ZEHhIQeARBSM7dwblVu+rnAOdOK6ivlYAWmKekXwIM7ta0v/t7lvqbPsrSV9290+G9x+T9Jro4u7/W739GhkcHPSpqal2Vh9AM9ylnlgmRrVajACkE8dV1NcKwLLM7IS7D9aWZyKHrQkPSfrDcLTob0v6V3d/StJRSa83syvDwQavD8sAZE2UhxUXz9PKq04cV1FfKwCrlomAzcw+KekfJf2GmT1pZjvM7E4zuzPcZVLS45JmJD0o6Y8kyd3PSfpzSd8KL3eHZQCyJApAojysavVinlaeA5FOHFdRXyugzSrzFY2dHNPeY3s1dnJMlflK2lXqLHfvusvWrVsdQIImJtwl95073avVoKxaDe5LwfY86sRxFfW1Atroa098zcsfLHvpnpLrA/LSPSUvf7DsX3via2lXrWWSprxO7JKZHLYkkcMGJMw9mI5iZOTSPKxG5XnRieMq6msFtEllvqK+/X2qLCxtUSv3ljW7Z1bretelULP2yHsOG4A8M5Pe9KalgUaj8rzoxHEV9bUC2mT89LiqXq27repVjZ8aT7hGycjLtB4AAKBDKvMVjZ8e1/TZaQ1sGNDo5lGV15bTrlZd02enNbc4V3fb3OKcZs7NJFyjZBCwAQCWRzdtoR0/c1zDh4ZV9armFudUWlPS7qO7NXnbpLb1b0u7eksMbBhQaU2pbtBWWlPSpvWbUqhV59ElCgBYHstlFVZlvqLhQ8OqLFQuBEBzi3OqLATl5xfOp1zDpUY3j6rH6ocvPdaj0S2jCdcoGQRsAOpjEXJE4stlRUEby2UVQjvzwZKaZqO8tqzJ2yZV7i2rtKYkKWhZK/cG5XkecLAcukQB1Be1qsSXRIqfqCcmgiR4FB/LZV2Qp1yvZrQrHyzpbtVt/ds0u2dW46fGNXNuRpvWb9LoltHCBmtShpamShLTegBNqG1FqV2EvMtO1FDXL5dVLyjpsZ7M5no1Y+zkmHY9vKthPtjB7Qe14/odyz5H0afZSBrTegBYmahVJeoK6+khWOtmXb5cVh5zvZrRjnywbp1mI2kEbAAai3eFRQjWug/LZRU2KGlHPli3TrORNHLYADTWqFWFoK27HDmytHU1ntM2NFT4fMYiByWt5oN16zQbSSNgA1DfcjlsEkFbNxkZCQaZxOdbi4K2oaGuGCVa9KBkXe+6y+aqNTK6eVS7j+6uu63I02wkjS5RAPU1alWJusKYe6t7sFxW18791YxunWYjaYwSBVAfs9sDlyjiKNF2Or9wvqum2eiURqNECdgAAGgSQQk6rVHARg4bAABNaiXXC2gFOWwAAAAZR8AGgHVDASDjCNgAXFw3ND4JajStxy23MCIUAFJGDhuAYMRnNF2HtHTd0C6YZwsAsoyADcDSmeujwI11QwEgE5jWA8BF7sEi75FqlWANABLUaFoPctjQGSSx50+jdUN5rwAgdQRs6AyS2LOjmeC5dt3QavViThtBGwCkjhw2dAZJ7NkRBc/xfLR4gDYxEexXb93QqHxoKFgzEgASUpmvaPz0uKbPTmtgw4BGN4+qvLacdrVSQw4bOiceFES6IYk9a2tw1rae1QbPUWCWpToD6GrdvG4ra4nGELAlqBuT2A8fvnyLVtKtVd0aPAPIncp8RX37+1RZqCzZVu4ta3bPbKHXb830oAMz225mj5nZjJntq7P9gJk9Gl5+YGY/jW17LrbtoWRrjmV1axJ7vDs4Ot60u4PjXZwRgjUAGTR+elxVr9bdVvWqxk+NJ1yjbEg9h83MrpD0EUmvk/SkpG+Z2UPu/r1oH3d/d2z/fy/pVbGn+IW7X5dUfdGk5brhpGIHC1mc06xR8Fzk9wFALk2fndbc4lzdbXOLc5o5N7Oi5ytKLlwWWthukDTj7o+7+4KkT0m6eZn93ybpk4nUDKt35Ej9JPao5alIo0TrjcI0k/bvv3S/tIM1RoACyIGBDQMqrSnV3VZaU9Km9Zuafq7jZ46rb3+fdj28S/d+/V7teniX+vb36fiZ4+2qbmKyELD1SfpR7P6TYdkSZvbrkq6R9MVY8fPNbMrMvmFmDD3MipGRIFcrHqREQdvERH5GiTYzJUa9KUyqVWnr1ksfk1Zw1E3BM4DcG908qh6rH570WI9Gt4w29TyV+YqGDw2rslC50GI3tzinykJQfn7hfNvqnIQsBGz1mhwandVulfQZd38uVtYfJuf9gaT7zOy/q/tHzO4IA7upZ555prUa4/LMgsT62halRuVZ1cx8crU5a1Gw9uij0nXXSc89l26LVlGC5zQwATSQuPLasiZvm1S5t3yhpa20pqRyb1De7ICDouXCZSFge1LSy2P3XyZptsG+t6qmO9TdZ8PrxyV9WZfmt8X3e8DdB919cOPGja3WGd2imQEEtS1WV1xxMVg7cSIYJZtmi1ZRguc0rHYCaAI9oCXb+rdpds+sDm4/qH2v3qeD2w9qds/siqb0aHcuXOrcPdWLgoEPjyvo6uyV9G1Jm+vs9xuS/qvCqUjCsislrQ1vv1DStKRrL/c3t27d6kDTqlX3nTuj9QCCy86dQXntfvF9nntu6faJiaWPQ3bF3/voPa+9X8/ExNJ94o+dmEjuGIAu9eCJB710T8n1AS25lO4p+diJsbSrWJekKa8Tu6Tewubuz0p6l6Sjkr4v6dPuftrM7jazm2K7vk3Sp8KDifympCkz+7akL0n6sMdGlwJt0cyUGPVGYe7evXQgAi1a+VLbetrTszQfsJ6sTO3S5pa+ynxFYyfHtPfYXo2dHFNlfuk8WUBWtCsXLjPqRXFFv9DChhW5XAvbalthkB+1rafNvKfNtsx2Uhtb+r72xNe8/MHyhRaL0j0lL3+w7F974muNH9SoVZnWZiRkVZ/blKlBC1vqwVMaFwI2NK2ZYIzur2JrJfBaTaDXTm36MfGzX/7Myx8s1+1aKn+w7JX5Sv0H8t1ABlTmKz52Ysz3HdvnYyfGGn9eM4KAjYANq9HMCYdWhOJqJeDJQgtbm+qx6lwgWp+BFWsUsKWewwZkWjNTYjAKs7hWO4edZ2iy4jYsS7bq0XarzQEEsAQBG7CcLAdjztQRHbfaOeyyNFlxFDzGrTBobGnmedaxBdqCgA3Iq9XOEYbmrTZgz8pkxW1q6WtptF0bAkYABGxAfmVl6ggslZWW2Ta19K165vksdQ0DOWfehV+YwcFBn5qaSrsaQOviJ8QI+UGIuF9cPq123sB65ZdxfuG8xk+Na+bcjDat36TRLaPLLxN0+HDQ2hv/TMY/sxMTQQAL4AIzO+HBkpuXlhOwATnnHiRzR6pVgjVkQ5sDRqAbNArY6BIF8oz8IGRZVrqGgQIgYAPyivwgAOgaz0u7AgBWqVFCuRSUDw2RHwQABUHABuRVNHVEPA8oCtqGhhglCgAFQsAG5FWUB9RsOQAgtwjYAABAplXmKxo/Pa7ps9Ma2DCg0c2jKq8tp12tRBGwAQAKhZN7sRw/c1zDh4ZV9armFudUWlPS7qO7NXnbpLb1b0u7eolhHjYAQGHUO7n3WE/XndyLojJfUd/+PlUWKku2lXvLmt0zu/zkzTnEPGwA2o8F6JEhlfmKhg8Nq7JQ0dzinCRpbnFOlYWg/PzC+ZRriJUaPz2uqlfrbqt6VeOnxhOuUXoI2ACsHgvQI0M4uRfP9NnpC8F3rbnFOc2cm0m4RukhYAOweixAjwzh5F48AxsGVFpTqruttKakTes3JVyj9BCwAVi9aN63KGjr6Vk6mS+QEE7uxTO6eVQ9Vj9U6bEejW4ZTbhG6SFgA9Ca+AoLEYI1pICTe/GU15Y1edukyr3lC8F4aU1J5d6gvGgDDpZDwJYWkrVRFCxAj4zg5F5M2/q3aXbPrA5uP6h9r96ng9sPanbPbNeN+mUetrREydrxrqN4/s/EBLPVI/tqc9YOHLh4X6KlDYmLTu7jp8Y1c25Gm9Zv0uiWUYK1nFvXu047rt+RdjVSRcCWlniytnTpiY5kbayGe/BDIL626HLl7cAC9MggTu4oIibOTVO8dSJCsjZW6/Dh5Ftt0wgSAaDAGk2cS8CWNvdgZF2kWuUEh9VZrnuSHwIAkAusdJBFWU7WZlBE/jDFBgAUViYCNjPbbmaPmdmMme2rs/0dZvaMmT0aXt4Z23a7mU2Hl9uTrXkLaltDqtWlE5CmiRns84kpNgCgkFIP2MzsCkkfkfRGSddKepuZXVtn13F3vy68jIWPXS/p/ZJ+S9INkt5vZlcmVPXWNErWjoK2tAMiZrDPpyy32qaBlmIABZF6wKYg0Jpx98fdfUHSpyTd3ORj3yDpmLufc/efSDomaXuH6tleIyNBEni89SMK2iYm0g+I6F7Ln6y32qaBlmIABZGFgK1P0o9i958My2q92cy+Y2afMbOXr/Cx2WMWjNirDXwalaeB7rV8yXqrbRpoKS6UynxFYyfHtPfYXo2dHFNlvpJ2lYDEZGEetnpn/9qmgL+T9El3nzezOyV9XNJrm3xs8EfM7pB0hyT19/evvrbdpFH3GkFbNkWttvGpNKKgbWioO4OT2nnhoil0aCnOneNnjmv40LCqXtXc4pxKa0rafXS3Jm+b7LoZ79GdstDC9qSkl8fuv0zSbHwHdz/r7vPh3QclbW32sbHneMDdB919cOPGjW2peKHRvZY/eWi1TQMtxblXma9o+NCwKgsVzS3OSZLmFudUWQjKzy+cT7mGQOdlIWD7lqQBM7vGzHol3SrpofgOZnZV7O5Nkr4f3j4q6fVmdmU42OD1YRlaRfcaioKBGLk3fnpcVa/W3Vb1qsZPjSdcIyB5qXeJuvuzZvYuBYHWFZI+6u6nzexuSVPu/pCku8zsJknPSjon6R3hY8+Z2Z8rCPok6W53P5f4QRQR3WsoAtY6LYTps9MXWtZqzS3OaebcTMI1ApKXesAmSe4+KWmypuzPYrffK+m9DR77UUkf7WgFu1HUjdZsOZBFrHVaCAMbBlRaU6obtJXWlLRp/aYUagUki6WpABQXa50WQmW+or79faosLB0VWu4ta3bPrNb1rkuhZkD7sTQVgO7DQIxCKK8ta/K2SZV7yyqtKUkKWtbKvUE5wRq6QSa6RAEAWM62/m2a3TOr8VPjmjk3o03rN2l0yyjBGroGARsAIBfW9a7Tjut3pF0NIBV0iaKzWMsRAICWEbChs1jLEQCAlhGwFUkWW7NYyxEAgJYRsBVJFluzaldI6OlZOi8WAABYFgFbkWS1NYu1HAEAaAkBW5FktTWLtRwBAGgJAVvRZK01q7aVr1pd2goIAACWxTxsRdOoNSutoI21HAGg61TmKxo/Pa7ps9Ma2DCg0c2jKq8tp12tXCNgK5La1qwDBy7el9IJ2kZGpImJS9dsjIK2oSFGiQJAwRw/c1zDh4ZV9armFudUWlPS7qO7NXnbpLb1b0u7erlFl2iRNGrNirog0xolylqOWKksTlED4LIq8xUNHxpWZaGiucU5SdLc4pwqC0H5+YXzKdcwvwjYiiRqzYq3pEVBW9TKBeRBFqeoAXBZ46fHVfVq3W1Vr2r81HjCNSoOukSLJGq1arYcyKr4FDXSpd37TLgMZNb02ekLLWu15hbnNHNuJuEaFQctbEAedFsXYVanqAGwrIENAyqtKdXdVlpT0qb1mxKuUXEQsAF50I1dhFmbogZYgcp8RWMnx7T32F6NnRxTZb6SdpUSMbp5VD1WP7TosR6NbhlNuEbFQcAG5EFWV7HoJCZcRk4dP3Ncffv7tOvhXbr36/dq18O71Le/T8fPHE+7ah1XXlvW5G2TKveWL7S0ldaUVO4Nytf1rku5hvll3oX//AYHB31qairtagArEw/SIkXsIoy6eb/yFen++y8e465dwf277pLuu69Yx4zCqMxX1Le/T5WFpS1q5d6yZvfMdkXQcn7hvMZPjWvm3Iw2rd+k0S2jXXHc7WBmJ9x9sLacQQdAXkRdhPGArWjBmhR07775zcHtu+5a2i16//3Sa17DQBpkUjOjJHdcvyPhWiVvXe+6rjjOJNElCuRFt3QRjowEgVrcu999sXXts58tZhcwCoFRkqFuGyiVAAI2IA+6aU1Ws6DLc+fOIEiLjxC9775gkEXRWhVRGIySDHXjQKkOI2AD8iCLq1h0UqdGiPKrHx3GKMlQNw6U6jACNiAPum0Vi051//KrHx3GKMkQcym2HaNEAWRL7S/x2lUOWvln38nnBmIYJRlyD4K1SLXKd+wyGCUKIB8adf9KQfnQ0OpHiNY+VzTilmANbcYoSTVuKee7tiqZ6BI1s+1m9piZzZjZvjrbd5vZ98zsO2b2iJn9emzbc2b2aHh5KNmaA2i7Tnf/soIC0HndNFAqIakHbGZ2haSPSHqjpGslvc3Mrq3Z7f+TNOju/6Okz0i6N7btF+5+XXi5KZFKA+gcs6AFrTaAalS+Ut0yPQqQpm4bKJWA1AM2STdImnH3x919QdKnJN0c38Hdv+TuPw/vfkPSyxKuI4Ai4Fc/kIxuGyiVgCzksPVJ+lHs/pOSfmuZ/XdI+vvY/eeb2ZSkZyV92N0J2wHU18n8OKBgKvMVjZ8e1/TZaQ1sGNDo5lGV15abe3DUIt5sOS4rCwFbvf6Nuj9zzeztkgYlDcWK+9191sxeIemLZvZdd/9hncfeIekOServ72+91gDyJ/rVPzKy9Ff/0BC/+oHQ8TPHNXxoWFWvam5xTqU1Je0+uluTt01qW/+2tKvXlbLQJfqkpJfH7r9M0mztTmZ2o6T3SbrJ3eejcnefDa8fl/RlSa+q90fc/QF3H3T3wY0bN7av9gDyo9P5cUABVOYrGj40rMpC5cIyW3OLc6osBOXnF86nXMPulIWA7VuSBszsGjPrlXSrpEtGe5rZqyT9lYJg7elY+ZVmtja8/UJJr5b0vcRqDgBAwTSzgD2Sl3qXqLs/a2bvknRU0hWSPurup83sbklT7v6QpP8kaZ2kv7XgF/CZcETob0r6KzOrKgg+P+zuBGwAAKwSC9hnU+oBmyS5+6SkyZqyP4vdvrHB474u6ZWdrR0AAN0jWsC+XtDWVQvYZ0wWukQBAEBGsIB9NhGwAQCAC1jAPpsI2BBwlw4fXjpxaKNyAEBhbevfptk9szq4/aD2vXqfDm4/qNk9s81N6cH5pCMI2BA4ckS65ZZLZ3uPZoW/5RaWEQGALhMtYP+hGz+kHdfvaL5ljfNJR2Ri0AEyYGTk4hI9UjCRaHwJHyYUBZBxLc3Mj/bhfNIR5l3YNDk4OOhTU1NpVyN74ussRuJL+ABARtWbmb/HepiZfyXcg9av+Eogy5Vf7rk4n6yKmZ1w98El5QRsuIS71BPrKa9W+XIByLTKfEV9+/tUWags2VbuLWt2zyyJ8s04fDjosowHVvHAa2JiZeuAcj5ZlUYBGzlsuCj6YsbFcxAAIIOYmb9N4l2Z0f/+1XZlcj5pOwI2BGq/mNXq0i8uAGQQM/O3iVnQshb97+/puXhOWElXJueTjiBgQ+DIkaVfzPgXl1E9QMdU5isaOzmmvcf2auzkmCrzS7v20Fg0M389zMy/QtH//riV5p0lcT7pwqlDyGFDoJ3JpgCaRrJ868hha6N2DBZI4nzS7ny7DCGHDcv/Imn0JTILPvQEa0DbVeYrGj40rMpC5UKX3tzinCoLQfn5hfMp1zAfmJm/TdrVldnovNHO80k78+1ygnnYukk0mWEBf5EAedRMsvyO63ckXKt8imbmHz81rplzM9q0fpNGt4wSrK1Eo65MKSgfGsrOOaK2blGLYIGnDiFg6yZMZthedCOjRSTLt1c0Mz9WaWQk+OEe/98VBUZDQ9k7R0R1i3ffFjRYk+gS7S7tGgGEAMuvoEUkyyNTkujKXIWGg3K6bOoQBh10IyYzbI/anInaFkuCYFwGyfLA8hoOyvmDz2vbgc8W8v9vo0EHdIl2m0a/SHL84U5NF+ZQoL2iZPlGo0QJ1tDN4oNyIlEKwfAn3qDZ//ILrctDvl2b0MLWTWgR6gxaLNGi8wvnSZYHaoydHNOuh3fVzfMsrSnp4Itv145/+58Ll0NMCxvyNQIoL2ixRBuQLA8sddlBOb/+q43z7QqIQQfdJBoBFA8moqAtGhmE5rH8CgB0DINyLkXA1k0yOgIot9JYzqsLl2NBPrC8FtptdPOoeqx+mNJjPRrdMppwjdJFwAasVhotlkwlggw6fua4+vb3adfDu3Tv1+/Vrod3qW9/n46fOZ521ZBjqa5gkcEfxww6APKEgSPIGKYmQaelMignxbVKGXQAFAFTiRRDgVbJYHktdFoqg3IyuDJQ012iZvY6M3vQzK4L79/RuWoBaCgetEUI1vKlQF3bLK+FQsrgykAryWH7I0l/IuntZvZaSdd1pkoAltVly7E0lMEck6bFf71H711O1/VlJB8KK2M/jlcSsD3j7j919/8g6fWS/qcO1QlAI0wlclGeW6ky+Ot9tRjJh8LK2I/jlQRsn49uuPs+SZ9oVyXMbLuZPWZmM2a2r872tWY2Hm7/ppldHdv23rD8MTN7Q7vqBGRSGlOJZFXeW6ky9ut9tVIdyQd0ShZ/HLv7shdJ9ykcTdqJi6QrJP1Q0isk9Ur6tqRra/b5I0l/Gd6+VdJ4ePvacP+1kq4Jn+eKy/3NrVu3OpBL1ar7xERw3Ux50VWr7jt3ugf/PoPLzp35eB3yXPc6KvMVHzsx5vuO7fOxE2Nema+kXSVg9SYmln4n49/ZiYmO/WlJU14vXqpX6JcGS/9R0t9J+pXw/usl/T+Xe1yzF0m/I+lo7P57Jb23Zp+jkn4nvP08Sf8iyWr3je+33IWADZlA8NUe1eqlQU8eXrf4P/7ohFB7H0B6Uvz/3Chgu2yXqLv/qaRPSvqKmR2XtEfSkm7LFvRJ+lHs/pNhWd193P1ZSf8qaUOTjwWyKc85WFmRsRyTptG1DWRbBlcGumzAZma/J+l/lTQnaaOku9z9a22sQ72jrv1v22ifZh4bPIHZHWY2ZWZTzzzzzAqrCHRA3nOw0pbFHJNmsa4vgBVqZuLc90n63939uJm9UtK4me129y+2qQ5PSnp57P7LJM022OdJM3uepF+TdK7Jx0qS3P0BSQ9IwUoHbak50AomwW1No1YqKSgfGurYTOQti36lN1sOoOuteGkqM7tK0mfd/d+0pQJBAPYDSb8n6b9J+pakP3D307F9/ljSK939TjO7VdIt7v77ZrZZ0v8l6QZJL5X0iKQBd39uub/J0lTIFPdgWodItUqw1gwvzmoBABBptDTVihd/d/enFARXbRHmpL1LwYCB70v6tLufNrO7zeymcLe/lrTBzGYk7VaYQxcGdZ+W9D1JD0v648sFa0Cm5DUHKwsymGMCAJ2yqrVE3f0X7ayEu09Kmqwp+7PY7V9KemuDx94j6Z521gdIRG0OVnytOoluUQDABSz+DqQlzzlYocp8ReOnxzV9dloDGwY0unlU5bXltKsFAIWz4hy2IiCHDZmQ8xys42eOa/jQsKpe1dzinEprSuqxHk3eNqlt/dvSrh6AVuT8/1OetS2HDUCb5DgHqzJf0fChYVUWKppbnJMkzS3OqbIQlJ9fOJ9yDQG0hHkiM4eADcCKjZ8eV9WrdbdVvarxU+MJ1whAWzFPZOaQwwZgxabPTl9oWas1tzinmXMzCdcIQFsxT2Tm0MIGYMUGNgyotKZUd1tpTUmb1m9KuEYA2i4etEUI1lJDwAZgxUY3j6rH6v/76LEejW4ZTbhGANqOeSIzhYANWIXKfEVjJ8e099hejZ0cU2W+knaVElVeW9bkbZMq95YvtLSV1pRU7g3K1/WuS7mGAFqS57V6C4ppPYAVYjqLi84vnNf4qXHNnJvRpvWbNLpllGANKILDh4PRoPGctXgQNzGR+Xki86rRtB4EbMAKVOYr6tvfp8rC0ha1cm9Zs3tmCVgA5B/zsKWGediANmA6CwBdIcfzRBYVARuywz1ohq9t9W1UngKms+isbs8NBIBGCNiQHTmYWZvpLDrn+Jnj6tvfp10P79K9X79Xux7epb79fTp+5njaVWufHPwoAZBNBGzIjhzMrM10Fp3RNUtd5eBHCYBsImBDdkSTNEZBW0/PxWAtI5M1Mp1FZ3RNbmAOfpQAyCaWpkK2REFbtAyKlJlgLbKtf5tm98wynUUbdU1uIMv9AOkowKhXWtiQLTmZWXtd7zrtuH6HPnTjh7Tj+h0Eay0qdG5gbX4ay/0AyStAOgIBG7KDmbW7Vvi00vkAABtmSURBVKFzA2tPFO7Srl2X7sPnG+isAqQj0CWK7DhyZGnOWrz7aGiImbULKsoNbLSCRK5bMOMniigou//+4Pquu4LrqGuUljagMwqQjsBKB8iOAuQYoDWFXeoq/ms+ctdd0n33BbdZ7gd5UIT/0e7BgLZItZq5OrM0VQwBG4DELXeiyNMJD90r7+uL1vvhlMEWNpamAoC0XG4wDcv9IA/ynAdWgBxpAjYAaMXlVi+oVnN/ogAk5WKuzIYa5UhHx5KDUaJ0iQJAKy7XTfSe90j33pvfbiSgVg7ywJbIUf4dXaIA0AmX6yb60IeCoCzeAhH9up+YyHY3ElArJ3NlLtEo7SBH6QhM6wHggsp8ReOnxzV9dloDGwY0unlU5bXltKuVbc1MF1CvBa1ROZBVtT9GDhy4NIk/692iOUeXKABJ0vEzxxvOg7atf1va1cu+PHYTASuR91GiOZHJLlEzW29mx8xsOry+ss4+15nZP5rZaTP7jpmNxrZ9zMz+ycweDS/XJXsEQDFU5isaPjSsykLlwpqec4tzqiwE5ecXzqdcw4zLazcRsBIjI3TvpyjtHLZ9kh5x9wFJj4T3a/1c0h+6+2ZJ2yXdZ2YviG3/E3e/Lrw82vkqA8UzfnpcVa/W3Vb1qsZPjSdcoxwpwHQBQFMKkAeWZ2nnsN0s6TXh7Y9L+rKkvfEd3P0HsduzZva0pI2SfppMFYHimz47faFlrdbc4pxmzs0kXKMcYUk1AAlIu4Xtxe7+lCSF1y9abmczu0FSr6QfxorvCbtKD5jZ2s5VFSiugQ0DKq0p1d1WWlPSpvWbEq5RjtBNBCABHR90YGZfkPSSOpveJ+nj7v6C2L4/cfcleWzhtqsUtMDd7u7fiJX9s4Ig7gFJP3T3uxs8/g5Jd0hSf3//1ieeeGLVxwQUTWW+or79faosVJZsK/eWNbtnthhregJAxqU26MDdb3T3LXUun5P04zDoioKvp+s9h5n9qqTPS/rTKFgLn/spD8xL+htJNyxTjwfcfdDdBzdu3NjOQwRyr7y2rMnbJlXuLV9oaSutKancG5QTrAFAutLOYXtI0u2SPhxef652BzPrlXRY0ifc/W9rtl3l7k+ZmUkakXSq81UGimlb/zbN7pnV+KlxzZyb0ab1mzS6ZZRgDQAyINV52Mxsg6RPS+qXdEbSW939nJkNSrrT3d9pZm9X0Hp2OvbQd7j7o2b2RQUDEEzSo+FjLjv/APOwAQCALGrUJcrEuQAAABmRyYlzAQAAcHkEbACAznMPljaq7dVpVA7gEgRsAIDOO3IkWIcyvvpDtErELbcE2wE0RMAGACtBS9HqjIwsXbIrvqQXEwwDyyJgA4CVoKVodaLVH6Kgradn6ZJeABoiYAOAlaClaPXi66xGCNaAphCwAcBK0FK0elFwGxdvqQTQEAEbAKwULUUrV9sSWa0ubakE0BABGwCsFC1FK3fkyNKWyHhLJbl/wLII2ABgJWgpWp2REWli4tKWyChom5gg9w+4jLQXfweAfGnUUiQF5UND0pvelG4ds8is/uvSqBzAJQjYAGAlopaikZGlLUVDQ7QUAegIukQBYCWiFqHaAQaNyoHVYIJm1CBgA3KoMl/R2Mkx7T22V2Mnx1SZr6RdJQDtxATNqEGXKJAzx88c1/ChYVW9qrnFOZXWlLT76G5N3japbf3b0q4egHaIT9AsBV3uTNDc1WhhA3KkMl/R8KFhVRYqmluckyTNLc6pshCUn184n3INAbRFESdoppu3JQRsQI6Mnx5X1at1t1W9qvFT4wnXCEDHFG2CZrp5W0LABuTI9NnpCy1rteYW5zRzbibhGgHomKJN0Mw6vC0hYANyZGDDgEprSnW3ldaUtGn9poRrBKAjijhBcxG7eRNknsc3vUWDg4M+NTWVdjWAFavMV9S3v0+VhaWjQsu9Zc3umdW63nUp1AxAWx0+HHQTxoOZeBA3MZHfCYfdg2AtUq0SrMWY2Ql3H6wtp4UNyJHy2rImb5tUubd8oaWttKakcm9QTrCGjiJpPDlFXcqraN28CSJgA3JmW/82ze6Z1cHtB7Xv1ft0cPtBze6ZZUoPdB5J48kp4gTNRezmTRDzsAE5tK53nXZcvyPtaqDbMDcYWsE6vC0hhw0A0Lx4K0mEpHE0wz0I2uLr8C5X3qUa5bARsAEAVoakcaBjGHQAAGgdSeNAKgjYAADNIWkcSE2qAZuZrTezY2Y2HV5f2WC/58zs0fDyUKz8GjP7Zvj4cTPrTa72AC7BlA/F1yhpPAraGCUKdEzaLWz7JD3i7gOSHgnv1/MLd78uvNwUK/8LSQfCx/9EEsPmgLQw5UPxFXVuMCAH0g7Ybpb08fD2xyU1/W03M5P0WkmfWc3jAbQZ6wQWXxHnBgNyIu152F7s7k9Jkrs/ZWYvarDf881sStKzkj7s7kckbZD0U3d/NtznSUl9Ha8xgPpq51SKpn1gygcAaFnHAzYz+4Kkl9TZ9L4VPE2/u8+a2SskfdHMvivpZ3X2a5gkY2Z3SLpDkvr7+1fwpwE0LQra4nN0EawBQMs63iXq7je6+5Y6l89J+rGZXSVJ4fXTDZ5jNrx+XNKXJb1K0r9IeoGZRUHnyyTNLlOPB9x90N0HN27c2LbjAxDDlA8A0BFp57A9JOn28Pbtkj5Xu4OZXWlma8PbL5T0aknf82DG3y9JestyjweQEKZ8AICOSTtg+7Ck15nZtKTXhfdlZoNmNhbu85uSpszs2woCtA+7+/fCbXsl7TazGQU5bX+daO0BXMSUDwDQMSxNBaA9WCcQAFrWaGmqtEeJAiiKaGqHZssBAE1Lu0sUAABg9bpklRUCNgAAuuSkX0hdssoKARsAAF1y0i+kLlllhRw2AADiJ30pGOFcwJN+IXXJKiuMEgUAQLq0ZSZSsJN+oblLPbGOw2o1l+9bo1GidIkCACBd2lITaVewRo5cZ3XBKisEbAAASJ096ecpRy5vwWWXrLJCwAYAQKdP+nlKjM9TcCl1zyor7t51l61btzqQFT/75c/8wRMP+nv+4T3+4IkH/We//FnaVcqeatV9YiK4bqYcWKmJCXfJfefOi5+najW4LwXbWxV/vugS/3tZEa9nVL/a+1lSsP8Pkqa8TuzCoAMgRcfPHNfwoWFVvaq5xTmV1pTUYz2avG1S2/q3pV297Dh8OPhlH/8FHW+hmJhgNQW0Jqml1fKSGM8AjNQw6ADImMp8RcOHhlVZqGhucU6SNLc4p8pCUH5+4XzKNcyQPHUnIZ+iJdRqg5FG5atRL0du165Lu1uzkifWyQEYWBUCNiAl46fHVfVq3W1Vr2r81Hhb/k5lvqKxk2Pae2yvxk6OqTJfacvzJqo2J6WnZ2nOCpBltT8yPvvZoPz++y8GbVnKE+uCUZd5w8S5QEqmz05faFmrNbc4p5lzMy3/jXpdrruP7s5nl2sUtMW7aAjWkBe1ifGSdNddQcB2//3S0JD01a9mo9W4NriMTyIs8b1LCQEbkJKBDQMqrSnVDdpKa0ratH5TS88f73KNRH9r+NCwZvfMal3vupb+RqIa/eLn5IE8GBkJci3juXD33Rdc33+/9OY3B7ez0GrcaNSlFJQPDZEzmgK6RIGUjG4eVY/V/wr2WI9Gt4y29PxJdbkmokvmWUKB1cuFM7sYtEXSDtaki8FlvC5R0BYFnUgcARuQkvLasiZvm1S5t6zSmpKkoGWt3BuUt9r6lUSXa2K6ZZ4ldJes5oklMQADK0aXKJCibf3bNLtnVuOnxjVzbkab1m/S6JbRtnRVdrrLNVH1upOioG1oiF/8yB/yxLBCzMMGFFRlvqK+/X2X5LBFyr3l/OWwAUXC3IJogHnYgC7T6S5XAC0gTwwrRAsbUHDnF853pMsVANB+jVrYyGEDVqEyX9H46XFNn53WwIYBjW4eVXltOe1q1bWud512XL8j7WoAAFpAwAasUKEmowUA5AI5bMAKsP4nACANBGzAChRqMloAQG7QJdpF8pR3lVWFmowWAJAbBGxdgryr9ijUZLQAgNxItUvUzNab2TEzmw6vr6yzz++a2aOxyy/NbCTc9jEz+6fYtuuSP4rsI++qfTq9/icAAPWkncO2T9Ij7j4g6ZHw/iXc/Uvufp27XyfptZJ+LukfYrv8SbTd3R9NpNY5Q95V+zAZLQAgDWl3id4s6TXh7Y9L+rKkvcvs/xZJf+/uP+9stYqFvKv26uT6nwAA1JN2wPZid39Kktz9KTN70WX2v1XS/pqye8zszxS20Ln7fAfqmWvdkneV5KAKJqMFACSp40tTmdkXJL2kzqb3Sfq4u78gtu9P3H1JHlu47SpJ35H0UndfjJX9s6ReSQ9I+qG7393g8XdIukOS+vv7tz7xxBOrP6ic6YZFwOsNquixHgZVAAByJbXF3939RnffUufyOUk/DoOuKPh6epmn+n1Jh6NgLXzupzwwL+lvJN2wTD0ecPdBdx/cuHFjew4uJ4qed8WgCtTlLh0+HFw3Uw4AGZb2oIOHJN0e3r5d0ueW2fdtkj4ZL4gFeyZpRNKpDtSxEKK8q4PbD2rfq/fp4PaDmt0zW4jWJwZVoK4jR6RbbpHe/e6LwZl7cP+WW4LtAJATaeewfVjSp81sh6Qzkt4qSWY2KOlOd39neP9qSS+X9JWaxx8ys42STNKjku5Mptr5VNS8KwZVoK6REWnnTungweD+gQNBsHbwYFA+MpJu/QBgBVIN2Nz9rKTfq1M+Jemdsfv/VVJfnf1e28n6IR+6ZVAFVsgsCNKkIEiLAredO4Nys/TqhvxzD1ppR0Yu/Sw1KgdalHaXKNAyJrNFQ/GgLUKwhnagyx0JI2DroMp8RWMnx7T32F6NnRxTZX7pKE20ruiDKtCC6AQaFz/BAqsV73KPPlN0uaODOj6tRxYNDg761NRUR/8G00wk7/zCeSazxUW1J9DaHDZa2tCq+GcswmcLLWo0rQcBWwckPe9ZkhPGArlx+HDQNRU/gcZPsBMT0pvelHYtkXfuUk+ss6paJVhDSxoFbGmPEi2kZqaZaNdozXotebuP7qYlDxgZCYKyePJ3lNM2NESXFVrXqMudFjZ0ADlsHZDUNBNMGAsswyxoQas9cTYqzzsmCk5WbZd7tbo0pw1oIwK2DoimmainndNMMGEskHFJBlGMWkzWkSNL8yEPHLgYtPF6o80I2DogqWkmmDAWyLgkgyhGLSYr6nKPd39GQVvUFQ+0ETlsHRBNM9FolGi7BhwwYSyQcUmutsBEwcmKutabLQdaxCjRDur0NBNJj0YFsApJT/3AqEUg15jWIyapgC0JzPcG5EBSQRTzggG51yhgI4ct57b1b9Psnlkd3H5Q+169Twe3H9TsnlmCNSArklptgVGL7cFo26V4TbLB3bvusnXrVgeAjqtW3XfudJeC63r322ViYunzxv/exET7/laR8TouxWuSKElTXid2ST14SuNCwAYgEUme6KrV4Plqg8BG5agvySA7L3hNEtUoYCOHDQA6xT2YuiO+2sJy5cgGJxdwCV6TxDDoIIaArbux9mqOEQAhKc5o2yV4TRLBoANAwajavv192vXwLt379Xu16+Fd6tvfp+NnjqddNTSD2fyRhOgzFXe5gRte8MT8Zl+Tor8OKSJgQ9dg7dUCYDZ/dFrtZ6rZ0bad/jGRZiC0kteEH1WdUy+xregXBh10pwdPPOile0quD2jJpXRPycdOjKVdRTQjnvAcXUh8RrusdqBIpxPz0xypuZK/zQCFlolRogRs3e49//CeusFadNl3bF/aVSyudo9grFYvDdg4CaBdWvmsdvLHRJqB0EpfE35UtaRRwEaXKLpGtPZqPay92mHt7CaJHhfHxLBol2gt0Npk+kbltftE67lG2jWKMnruqCuyp+diF2WnR2qu9DXp5OvQxQjY0DVGN4+qx+p/5HusR6NbRhOuURdpV+5Z7eOYzR9Z0ukfE3kJhPhR1REEbOga5bVlTd42qXJv+UJLW2lNSeXeoHxd77qUa1hg7WodOHJk6ePiz0tCM9KSxI+JPARC/KjqnHr9pEW/kMPW3SrzFR87Meb7ju3zsRNjXpmvpF2l7tFq7hmz+SOrOj0oIC/J/Cxj1TKx0sFFTJwLpCD+yzvCTOkoCu/wpM6HDwf5nvHvTPw7NTER5JOlrdOvQxdgpYMYAjYgYbXdJAcOLL3PP3GgMQKhrtEoYHteGpUB0GUa5Z5JQfnQUDZaB4CsikZkNluOwkl10IGZvdXMTptZ1cyWRJOx/bab2WNmNmNm+2Ll15jZN81s2szGzaw3mZoDWJGRkaDLJt6SFgVtExOsUAAAl5H2KNFTkm6R9NVGO5jZFZI+IumNkq6V9DYzuzbc/BeSDrj7gKSfSNrR2eoCWJVW5rYCAKQbsLn79939scvsdoOkGXd/3N0XJH1K0s1mZpJeK+kz4X4fl8TPdAAAUDhpt7A1o0/Sj2L3nwzLNkj6qbs/W1MOAABQKB0fdGBmX5D0kjqb3ufun2vmKeqU+TLljepxh6Q7JKm/v7+JPwsAAJANHQ/Y3P3GFp/iSUkvj91/maRZSf8i6QVm9rywlS0qb1SPByQ9IAXTerRYJwAAgMTkoUv0W5IGwhGhvZJulfRQOBvwlyS9JdzvdknNtNgBAADkStrTerzJzJ6U9DuSPm9mR8Pyl5rZpCSFrWfvknRU0vclfdrdT4dPsVfSbjObUZDT9tdJHwMAAECnsdIBAABARjRa6SAPXaIAAABdjYANAAAg4wjYAAAAMq4rc9jM7BlJTyT4J1+oYBqSbsSxdyeOvTtx7N2JY2+vX3f3jbWFXRmwJc3MpuolEHYDjp1j7zYcO8febTj2ZI6dLlEAAICMI2ADAADIOAK2ZDyQdgVSxLF3J469O3Hs3YljTwA5bAAAABlHCxsAAEDGEbC1iZm91cxOm1nVzBqOGDGz7Wb2mJnNmNm+WPk1ZvZNM5s2s/FwoftcMLP1ZnYsrPsxM7uyzj6/a2aPxi6/NLORcNvHzOyfYtuuS/4oVqeZYw/3ey52fA/Fyov+vl9nZv8Yfje+Y2ajsW25e98bfX9j29eG7+NM+L5eHdv23rD8MTN7Q5L1blUTx73bzL4XvsePmNmvx7bV/eznRRPH/g4zeyZ2jO+Mbbs9/H5Mm9ntyda8dU0c+4HYcf/AzH4a25b39/2jZva0mZ1qsN3M7P7wtfmOmV0f29aZ993dubThIuk3Jf2GpC9LGmywzxWSfijpFZJ6JX1b0rXhtk9LujW8/ZeS/l3ax7SCY79X0r7w9j5Jf3GZ/ddLOifpV8L7H5P0lrSPo5PHLul8g/JCv++S/ntJA+Htl0p6StIL8vi+L/f9je3zR5L+Mrx9q6Tx8Pa14f5rJV0TPs8VaR9TG4/7d2Pf538XHXd4v+5nPw+XJo/9HZL+c53Hrpf0eHh9ZXj7yrSPqZ3HXrP/v5f00SK872H9/2dJ10s61WD7sKS/l2SSflvSNzv9vtPC1ibu/n13f+wyu90gacbdH3f3BUmfknSzmZmk10r6TLjfxyWNdK62bXezgjpLzdX9LZL+3t1/3tFaJWOlx35BN7zv7v4Dd58Ob89KelrSkgkhc6Lu97dmn/hr8hlJvxe+zzdL+pS7z7v7P0maCZ8vDy573O7+pdj3+RuSXpZwHTulmfe8kTdIOubu59z9J5KOSdreoXp2wkqP/W2SPplIzRLg7l9V0LDQyM2SPuGBb0h6gZldpQ6+7wRsyeqT9KPY/SfDsg2Sfuruz9aU58WL3f0pSQqvX3SZ/W/V0i/2PWGz8gEzW9uJSnZIs8f+fDObMrNvRF3B6rL33cxuUPBL/Yex4jy9742+v3X3Cd/Xf1XwPjfz2Kxaad13KGh5iNT77OdFs8f+5vBz/Bkze/kKH5tVTdc/7AK/RtIXY8V5ft+b0ej16dj7/rx2PEm3MLMvSHpJnU3vc/fPNfMUdcp8mfLMWO7YV/g8V0l6paSjseL3SvpnBSfzByTtlXT36mrafm069n53nzWzV0j6opl9V9LP6uxX5Pf9/5B0u7tXw+JMv+91NPM9ze13fBlN193M3i5pUNJQrHjJZ9/df1jv8RnUzLH/naRPuvu8md2poIX1tU0+NstWUv9bJX3G3Z+LleX5fW9G4t91ArYVcPcbW3yKJyW9PHb/ZZJmFaxD9gIze174qzwqz4zljt3MfmxmV7n7U+GJ+ellnur3JR1298XYcz8V3pw3s7+R9B/aUuk2acexh92BcvfHzezLkl4l6bPqgvfdzH5V0ucl/WnYdRA9d6bf9zoafX/r7fOkmT1P0q8p6FZp5rFZ1VTdzexGBYH8kLvPR+UNPvt5OXFf9tjd/Wzs7oOS/iL22NfUPPbLba9h56zkM3urpD+OF+T8fW9Go9enY+87XaLJ+pakAQtGBvYq+JA/5EGm4pcU5HZJ0u2Smmmxy4qHFNRZunzdl+Q5hCf7KKdrRFLdUTkZddljN7Mro+4+M3uhpFdL+l43vO/h5/ywglyPv63Zlrf3ve73t2af+GvyFklfDN/nhyTdasEo0mskDUj6fxOqd6sue9xm9ipJfyXpJnd/OlZe97OfWM1b18yxXxW7e5Ok74e3j0p6ffgaXCnp9bq0ZyHrmvm8y8x+Q0Fy/T/GyvL+vjfjIUl/GI4W/W1J/xr+CO3c+97pkRbdcpH0JgWR9bykH0s6Gpa/VNJkbL9hST9Q8EvjfbHyVyj4Bz4j6W8lrU37mFZw7BskPSJpOrxeH5YPShqL7Xe1pP8mqafm8V+U9F0FJ+z/U9K6tI+pnccu6d+Ex/ft8HpHt7zvkt4uaVHSo7HLdXl93+t9fxV0494U3n5++D7OhO/rK2KPfV/4uMckvTHtY2nzcX8h/L8XvccPheUNP/t5uTRx7B+SdDo8xi9J+h9ij/234WdhRtL/kvaxtPvYw/sfkPThmscV4X3/pIJR7YsKzu07JN0p6c5wu0n6SPjafFex2SE69b6z0gEAAEDG0SUKAACQcQRsAAAAGUfABgAAkHEEbAAAABlHwAYAAJBxBGwAAAAZR8AGAACQcQRsALACZvYlM3tdePs/mtn9adcJQPGxligArMz7Jd1tZi9SsD7iTSnXB0AXYKUDAFghM/uKpHWSXuPuFTN7hYKlp37N3d+y/KMBYOXoEgWAFTCzV0q6StK8u1ckyd0fd/cd6dYMQJERsAFAk8zsKkmHJN0sac7M3pBylQB0CQI2AGiCmf2KpAlJe9z9+5L+XNIHUq0UgK5BDhsAtMjMNki6R9LrJI25+4dSrhKAgiFgAwAAyDi6RAEAADKOgA0AACDjCNgAAAAyjoANAAAg4wjYAAAAMo6ADQAAIOMI2AAAADKOgA0AACDjCNgAAAAy7v8H6XlS4/MxC+wAAAAASUVORK5CYII=\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": [
"/home/pawel/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:12: UserWarning: The following kwargs were not used by contour: 'lw'\n",
" if sys.path[0] == '':\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": [
"/home/pawel/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:8: UserWarning: The following kwargs were not used by contour: 'lw'\n",
" \n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlwAAAFmCAYAAAC4FUTmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3de3xU5Z0/8M93kplJMplwv8lFEBBFxAhpbb1AV6uLULEqLdvb7nZp3bVVbm6Brtttt62X2v2h2G67tbTd37ZuS38CXgr1uii4bVWwoCAiAQmXcAmXkMltZjLz/P44czKTyZlbcibPTM7n/XrlZTIzOfPNmHA+8zzP+T6ilAIRERER5Y9LdwFERERE/R0DFxEREVGeMXARERER5RkDFxEREVGeMXARERER5RkDFxEREVGeleouoCeGDh2qxo8fr7sMIkdTAA61t+NsOIyLKyrgLynRXVLRiSiFd1pa4BbBxRUVcIvoLomIemnHjh2nlVLDkm8vysA1fvx4bN++XXcZRI4Vjkbx2b178VZDAx666CKsHDdOd0lFa2tjI+a98w5aPR68Ul2N0V6v7pKIqBdEpM7qdk4pElFOOqJRfH7vXjzZ0ID/M3Eiw1YvzRo4EC9Mn46ToRD+YudO1AeDuksiojxg4CKirEWVwqJ9+/DbhgZ8/6KLsHzsWN0l9QsfHTAAz02fjuOhEG7ctQsNoZDukojIZgxcRJQVpRSW1Nbiv06exLfHj8c/cmTLVlcPGIBnp03DwfZ2zHn7bTR1dOguiYhsxMBFRFn5Tl0dfnjsGO4dMwb/fOGFusvplz42aBDWX3YZdjU345O7dyMYjeouiYhswsBFRBn97PhxfPPQIfz1iBH4/sSJEF5NlzdzhwzBLy65BFsaG/G3772HqFK6SyIiGxTlVYpE1HdeOHsWf79vH24aNAhrp0xh2OoDXxg5EvWhEFYdPIjxZWV48KKLdJdERL3EwEVEKe1pacGn9uzBZT4fnrzsMrhdHBTvKyvGjsWh9nY8dPgwJpWXY9GoUbpLIqJe4L+eRGTpdCiEW955BxUlJfjd5ZfDX8r3Z31JRPCDSZNw06BBuOv997G1sVF3SUTUCwxcRNRNRzSKT7/7LuqDQTw1bRrGlpXpLsmRSl0urJs6FRPKynDHnj2oa2/XXRIR9RADFxF1s+LgQWxpbMTjU6bgqqoq3eU42kC3G89cfjlC0Shu370bbZGI7pKIqAcYuIioi3WnTuGRo0dx9+jR+OuRI3WXQwCmVFTgV5deiream3H3/v26yyGiHmDgIqJO+1pb8aV9+3B1VRVWT5youxxKcMvQobhv3Dj8/MQJ/OL4cd3lEFGOGLiICADQFolgwZ49KIutG+IViYXnXydMwPUDB+Ir+/djd3Oz7nKIKAf8F5WIAADLamuxu6UFv7zkEozhIvmCVCKC/546FQNKSrDw3XfRyvVcREWDgYuIsKGhAT85fhxfGzsWc4YM0V0OpTHC48EvL70U77a2Ynltre5yiChLDFxEDlcfDOLL+/ahxu/HdydM0F0OZeHGwYPxtbFj8ZPjx/HM6dO6yyGiLDBwETmYUgpffO89tEej+NWll8LDdVtF4zsTJqC6shKL9u3DqVBIdzlElAH/dSVysB/X1+OFc+fwbxMnYkpFhe5yKAdelwtPXHopAh0duHPfPihuck1U0Bi4iBzqYFsbvnbgAG4aNAj/cMEFusuhHpjq8+H+iy7C02fO4FcnT+ouh4jSYOAicqCoUvjSvn0oFcHaKVMgIrpLoh5aOmYMrq6qwpLaWhwPBnWXQ0QpMHAROdBPjx/HlsZG/NvEidwnsciViODnl1yCtmgUX2UXeqKCxcBF5DD1wSBWHDiA6wcOxJdGjdJdDtlgSkUFvjV+PDaePo0NDQ26yyEiCwxcRA5zz/79CCmFn1x8MacS+5HlY8agurISd+/fj6aODt3lEFESBi4iB9l05gw2nD6Nf7nwQkziVYn9itvlwuMXX4wToRD++YMPdJdDREkYuIgcojUSwd3792NqRQXuHTtWdzmUBx+qqsJXLrgA/37sGHYEArrLIaIEDFxEDvHQ4cM41N6OH118MRuc9mPfnTABQ91ufPX99xFlby6igsF/dYkc4EBbGx4+fBifHT4cswcO1F0O5dFAtxsPT5yI1wMB/N8TJ3SXQ0QxDFxEDnBvbS3cLhcenjhRdynUB74wYgSurqrCqoMHuYCeqEAwcBH1cy+fO4enz5zBfePGYbTXq7sc6gMuEayZNAkN4TDur6vTXQ4RgYGLqF+LKIVltbWYUFaGpWPG6C6H+lBNVRX+ZuRIPHr0KA60tekuh8jxGLiI+rFfHD+Od1pa8L2LLkJZSYnucqiP3T9hAkpFsOrgQd2lEDkeAxdRP9USieAbhw7ho1VVWDBsmO5ySIMLvF58bexYPNnQgD+eP6+7HCJH0x64RKRMRN4QkV0iskdE/lV3TUT9wSNHjuBEKIR/mziRHeUd7B/HjsVIjwcrDh6EYpsIIm20By4AQQDXK6WuAFANYI6IfERzTURF7XQohIePHMEnhw7F1QMG6C6HNKosLcU3L7wQr50/j01nzuguh8ixtAcuZWiOfemOffBtGFEvPHD4MFoiEdw/YYLuUqgALBo1CpPLy/FPH3zAZqhEmmgPXAAgIiUishPAKQAvKqVe110TUbE6FgziR8eO4a9HjsRUn093OVQA3C4Xvj1+PN5pacG6U6d0l0PkSAURuJRSEaVUNYAxAD4sItOSHyMid4rIdhHZ3tDQ0PdFEhWJ++vqEAXwLxdeqLsUKiCfHj4cl/t8+NahQ+iIRnWXQ+Q4BRG4TEqpRgCvAJhjcd/jSqkapVTNMF5xRWSprr0da48fx6JRozChvFx3OVRAXCL49vjxeL+tDU9wlIuoz2kPXCIyTEQGxj4vB/BxAO/prYqoOD1QVwcB8E/jxukuhQrQrUOH4srKSnyHo1xEfU574AIwCsAWEXkbwJsw1nD9TnNNREXncHs7fnHiBBaNGoWxZWW6y6ECJCL45vjxONDezlEuoj5WqrsApdTbAK7UXQdRsfve4cMAgFUc3aI05g8Zgit8PjxQV4fPjxiBEvZoI+oThTDCRUS9dDwYxM+OH8ffjByJcRzdojREBPddeCHeb2vDel6ARNRnGLiI+oFHjh5FWCmsHDtWdylUBG4fNgyXVFTggbo6dp8n6iMMXERFrjEcxo/r67Fw+HBMqqjQXQ4VgRIRrBw7FrtaWvDc2bO6yyFyBAYuoiL34/p6NEciWMHRLcrBZ0eMwBivt3PtHxHlFwMXURFrj0Sw5uhR3DRoEKr9ft3lUBHxuFxYNmYMXj1/Hm80Nekuh6jfY+AiKmL/feoUTobD+BpHt6gHvjxqFAaUlOD/HDmiuxSifo+Bi6hIKaWw+sgRXOHz4YZBg3SXQ0XIX1qKOy+4AOsbGlDX3q67HKJ+jYGLqEi9eO4c9rS2YtnYsRD2UqIeumf0aADAY0ePaq6EqH9j4CIqUmuOHsUItxt/NXy47lKoiI0tK8Onhg/Hz44fR3NHh+5yiPotBi6iIrS/tRWbz57FXaNHw+vinzH1zpLRo3E+EsF/nTypuxSifov/UhMVoR8eOwa3CP5+1CjdpVA/cFVVFWr8fvzw2DE2QiXKEwYuoiLT3NGB/zxxAp8aNgwjvV7d5VA/ICK4Z/Ro7G1txf80Nuouh6hfYuAiKjJPnDqFpkgEd8cWOxPZ4dPDhmFIaSl+dOyY7lKI+iUGLqIiopTCj48dwxU+Hz5SVaW7HOpHykpKsGjUKDx9+jSOBYO6yyHqdxi4iIrI601N2NXSgn+44AK2giDb/f0FFyACYO3x47pLIep3GLiIishPjh9HZUkJPjdihO5SqB+6qLwcNw0ahJ8dP44IF88T2YqBi6hInO/owLpTp/CZ4cPhLy3VXQ71U18eNQpHgkE8f/as7lKI+hUGLqIi8euTJ9EWjeLLbAVBeTR/6FAMd7vxU04rEtmKgYuoSKw9fhzTfT7U+P26S6F+zONy4W9GjsSzp0/jZCikuxyifoOBi6gIvNPcjB3NzVg0ahQXy1Pe/d3IkYgA+OWJE7pLIeo3GLiIisAvTpyAWwSf5b6J1AcuibUd+c8TJ9h5nsgmDFxEBS4cjeJXJ0/iE0OGYKjHo7sccogvjhyJPa2t2B4I6C6FqF9g4CIqcM+dPYuGcBhfHDlSdynkIJ8eNgxlLhc3tCayCQMXUYH75cmTGOp2Y87gwbpLIQcZ6HZj/pAh+M2pUwhHo7rLISp6DFxEBex8RweeOX0afzV8ONwu/rlS3/rCiBE4HQ7jOfbkIuo1/gtOVMDWNzQgqBQ+z87ypMFfDh6MoW43fsVpRaJeY+AiKmD/ffIkJpWX48PsvUUauF0ufHrYMDxz5gwCHR26yyEqagxcRAXqRDCILY2N+Mzw4ey9Rdp8ZvhwtEejePr0ad2lEBU1Bi6iAvXbhgZEYZzwiHS5esAAjPN68ZtTp3SXQlTUGLiICtS6U6cw3efDpT6f7lLIwVwi+PTw4Xj+3DmcDYd1l0NUtLQHLhEZKyJbRGSviOwRkSW6ayLS7Uh7O/7Q1ISFHN2iArBw2DB0KIWnOK1I1GPaAxeADgD3KqUuBfARAF8VkamaayLSan1DAwDgU8OGaa6ECJjp92NCWRn+X+z3kohypz1wKaWOK6Xein0eALAXwGi9VRHp9f8aGnCFz4fJFRW6SyGCiGDBsGF46dw5nOO0IlGPaA9ciURkPIArAbyutxIifY4Fg/hDUxMWcHSLCsiC2LQir1Yk6pmCCVwiUglgPYClSqkmi/vvFJHtIrK9gcPa1I+Z62QYuKiQfMjvx1ivFxsYuIh6pCACl4i4YYStJ5RSG6weo5R6XClVo5SqGcYTEfVjGxsacElFBS7h1YlUQEQEtw0dihfOnkUzm6AS5Ux74BKjo+PPAOxVSq3WXQ+RTmfDYbzS2Ijbhg7VXQpRN7cNHYqgUnj+3DndpRAVHe2BC8A1AL4A4HoR2Rn7mKu7KCIdNp05gwiAWxm4qABdO2AABpeWYiOXdRDlrFR3AUqp1wBw3xIiAE+fPo0LPB58iHsnUgEqdblwy5AhePrMGYSjUbhdhfCenag48K+FqEAEo1E8f+4cPjFkCFzcO5EK1PyhQ9HY0YH/PX9edylERYWBi6hAvNrYiOZIBPM5nUgF7KZBg+ARwbNnzuguhaioMHARFYhnz5xBucuF6wcO1F0KUUqVpaX4i4ED8TsGLqKcMHARFQClFDadOYMbBg1CeUmJ7nKI0po3ZAjeb2vD/tZW3aUQFQ0GLqIC8F5rKz5ob8e8wYN1l0KU0SeGDAEAbD57VnMlRMWDgYuoADwXO3HdHDuRERWyCeXlmFJejt9zWpEoawxcRAXg92fP4tKKClxYVqa7FKKs3DxkCF5pbERrJKK7FKKiwMBFpFlLJIKtjY2Yw+lEKiJzBg9GUCm82tiouxSiosDARaTZq42NCCrFwEVFZdaAAShzuTqnw4koPQYuIs1eOHsWZS4XZg0YoLsUoqyVl5Rg9oABeIH7KhJlhYGLSLMXz53DdQMGoIztIKjI3Dh4MN5rbcXR9nbdpRAVPAYuIo3qg0G829qKGwcN0l0KUc7M39uXOMpFlBEDF5FG5omKgYuK0TSfD8PdbrzIwEWUEQMXkUYvnzuHIaWlmF5ZqbsUopy5RHDDoEH4n8ZGKKV0l0NU0Bi4iDRRSuF/Ghtx/aBBcInoLoeoR24YNAgnQiHs5TY/RGkxcBFpUtvWhqPBIDerpqL2F7Hf3//htCJRWgxcRJq8EmsY+TEGLipiE8rKMM7r7fx9JiJrDFxEmrzS2IiRHg+mVFToLoWox0QEHxs4EK+eP891XERpMHARaaCUwiuNjfjYwIEQrt+iIvexgQNxOhzGu1zHRZQSAxeRBgfa2lAfCmE2u8tTPzA7Ni3OaUWi1Bi4iDTYdv48AGAW129RPzChrAyjPR5sY+AiSomBi0iDbefPY0hpKS7h+i3qB0QE1w0ciNe4josoJQYuIg1eO38e1wwYwP5b1G9cN2AAjoVCOMR9FYksMXAR9bGToRD2t7XhWq7fon7kmtjv82ux6XIi6oqBi6iP/SF2QrqGgYv6kWk+H6pKSvC/DFxElhi4iPrYH5qa4BXBTL9fdylEtikRwUeqqvCHpibdpRAVJAYuoj72x/PnMdPvh9fFPz/qX64eMAC7W1rQ1NGhuxSigsN/8Yn6UCgaxfZAAB+tqtJdCpHtPlpVBQXgDY5yEXXDwEXUh3Y1NyOoFK5i4KJ+6MOxafI/MXARdcPARdSHzBPRRxi4qB8a6HbjkooKvB4I6C6FqOBoD1wi8nMROSUiu3XXQpRvbwQCGOXxYIzXq7uU4qcUsHGj8d9sbs/0GKWADRuMj+TbMx2POl3l9+P1piY2QCVKoj1wAfhPAHN0F0HUF95oasKH/X5uWG2Hp54Cbr8dWLYsHoaUMr6+/Xbj/ly+d+NG4I47jI+NG3M7HnW6qqoKDeEw6tgAlagL7YFLKbUVwFnddRDlW2M4jPfb2vBhTifa45OfBJYsAdasiQenZcuMr5csMe7P5XtffTV+/6uv5na8IhIIBrD2rbVY+eJKrH1rLQJBe6f/zN/vNzmtSNRFqe4CiJxiR3MzAKCG/bfsIQI88ojx+Zo1xgdghKNHHjHuz/V7Fy82/vvYY8ZHquMpZYx4ffKT2d2eJ4FgAOv2rMP+M/sxechkLLxsIfze1L9frx1+DXOfmIuoiqIl3AKf24flzy/H5s9txrXjrrWlpst9PnhE8GYggE8NH27LMYn6AymEeXYRGQ/gd0qpaWkecyeAOwFg3LhxM+vq6vqmOCKbfO/wYaw6eBCnr7kGQ9xu3eUUl3QBx5wKNEWj2YcdpYDEfmjRqPHf5NuSj7dxozHNmBjGEkfENmwAbrstqxJyDU0mq/DkEhee/NSTONx0uNvxAsEARq8ejUCo+8iT3+NH/b31qPRUZlVzJh/asQP+khL8T3W1LccjKiYiskMpVZN8e9GMcCmlHgfwOADU1NToT4lEOdoRCGBCWRnDVk+Ya66SA87SpfGRKNOyZZlHuIB4QEq0dGn3x1kdL3FKEjDu78H0Y09HnALBAOY+MbdLeGoJtwAA/vKJv0RFaQVaO1q7HO+90+8hqqKWx4uqKNbtXodFMxZlVXcmNX4/fn3yJJRSXK9IFKN9DReRU+wIBLidT09ZrblKDFuLFxsjUcmPSSV5fVY0ahzDnErMdDxzStK83+WKHyubsIeuockMSy3hFgRCxu3NoeaU37tuz7qU4QkAWjtaux3v3YZ3O58nWUu4BbVnazPWnK0ZlZU4H4ngQFubbcckKnbaA5eI/BrAHwFMEZGjImLPWyyiAtIYDuNgeztmVNozZeMY5pQh0D3gJIatRx/tHoIyXaWYHJBmz47fP3t25uMlrgMzZRm2gPShyRxxSmX/mf0pw1Oq451pPQOf22d5v8/tw6TBk7I+XibmG4u3mlOHRiKn0R64lFKfUUqNUkq5lVJjlFI/010Tkd3+HDvxXFnMgas3fa96KrF9A9A94KxYEQ9bQDwEbdiQ+SrFDRu6BqTbbgPWrzc+zPVX6Y5nNSWZaWQtQbrQlGnEafKQySnDU6rjDSkfApdY/5PvEhcWTluY9fEyuczng1uk8/eeiAogcBE5gXnimVHMU4q96Xtlyja0mV/femt8hGnpUuPzRFa9nkSMwJTpKsXkx4gYP8ftt3e/PfmxVlOS2U5nxqQLTZlGnBZetjBleEp1vImDJ+KumrvgcXngLfF23u73+LH5c5ttWzAPAF6XC1MrKvBntoYg6lQ0i+aJitmu5maM9Hgw3OPRXUrP9XahuFLAqlXAww93ncqLRoH584FNm+JX9yUukl+92vjexMXx8+YBEycat5mjUH25ONtqSjKxzcTs2RmvUlx42UIsf3655X2ZRpz8XiMkJS64r3BXoDXcavl4BYVVL62CgkIoGoKnxAO3y40vz/gyJg6eiGf3PYv3Tr+X9RWS2aiurMRzZ9likchUEG0hclVTU6O2b9+uuwyirF3x5pu4wOvF76dP111K7ySO7JjSLRRPbOdghqjqamDnTiM0Pf00UFMT//rZZ7u3WFiyBLjuOmDBgvhxIxHjcbm2YUisB8j8eaoQZ1MfrlStHbLti9Ucasa63etQe7YWkwZPwtgBY7Hgtwu6HE9EEIlG0NZhvYDd5/b16LkzeeTIESw/cAAnrr4aI4r5jQZRjlK1hWDgIsqzUDSKym3bsHzMGDw0caLucnrPqndVqnCR2K9q9Wpg+XIjIA0dCpw+HX9cdTWwY0fX41qFO5MZ8oDcGo0m1jNrltG/K7HZ6fr1wNatXUNcmnAVWP9rrJvQgv1nazG5LoCFn38I/rKqLo/JVF9yaFo4bWGvpveSj9fW0YZVL63KepG9XT25tpw7h+t37cLz06fjpsGDe3UsomJS9H24iIrVvtZWhJXC9GJeMG9KtVA81QhX8jTk6tXGtjk7d3Z93I4dxvdv3BgPJyLG4xMDVyQSD22A8bxZNhjtVo9S8VYQgPH5q68aXydOkaboAfbaP34ac71PIvquFy0qCF8QWP7QWmz+4su49sLrsm6EWumptK3/ldXxVr64MucrGu3oyXW5z1if9nZzMwMXERi4iPLu7RbjZDfdl/1VZQUpeZovcQ0XYB26Um2hk2z58viIU+Lo1fz53R+3enX8eFmslUpbT6JUW/lYrF0LLPsq5lY8iYAXgAoCAFq8ABDG3F/cgPqvn0Hlym8UxD6M5uL8bEOXXT25hno8GOXxdP7+EzkdAxdRnr3T3Ay3CKZUVOgupXd6ulDcfFyqsFVd3XXEyfwcMBbSA8A99xjHSRwpmz27Z0EmUz3JwdEiNK6bAURvKQXQ0e3bo6Ew1n20Cov+jJwaoeZLusX5VuzsyTXd58NuBi4iAAxcRHn3TksLLqmogNtV5F1YzN5VieuRzDCSLvxYTUMOHQqcOAHce68RYqqr42uoEoMVEG9saj5fT0a2MtWTyGqKNCmk7R8MtEj3sAUYI1215gxawnF6umdib5lXNN78q5sRioYQioTgdrkRjoYtH29nT65pPh9+eOwYIkqhhFv8kMMxcBHl2Z6WFnx0wADdZfSe2Y8q29uBrtOQ8+YZI1bjxwOHDhlhK3F6cMUK4zi33dY1cCU2Nl29GvB6jf5cyc+TzeL5xHoSF8sD8a+tpkiTQtrks4BPlVqGLl8QmGR2Q4iFt9eO/G+P9ky0lQAC4+dxiQvlpeUQEQik21WKdvXkmubzIagUatvain+El6iXivwtN1Fha+7oQF0wiGmFsH5LV6d4cxrymWeMEbIDB+Jrop5+Ot7J/aGHjBpuuaXrMZYtM66E3LjRON7DDxtruXrSfDWxntmz4/smmovnZ8/uvpWPRZPThdfdBVfIeoTL5XFj4R+bOo8TWPbVHu+ZaAdzz8bmUDOCEWO9WTASRFtHG1xw4Xs3fg+rrlmFNXPWoP7eelsD4GWx3/s9nFYkYuAiyqe9rUYjyqmF8O4+l07xdoWzxC10XC5j9Mrl6rpdTuIImdkAtbrauCLRDD8zZxo1At07uufSfDWxnttuMz5/9FHjw7ySMHkrH4u1a/5H/h2bgwvgDwI+iXVtDwJ+5cbmL76MSq+/cx/Gddt+jGg4ZFlOpj0T7ZBuz0YFhbKSMjz48QexaMYiW7vNA8Clsd/7dxm4iBi4iPLpXTNwFcIIV+LVdpnCih3b+ACpt9mxuv2pp+Jha+fO+BWJiY1SzUCUuIl18kJ+k1U4FIk3YQXiNSTWk1yb1b6LIrj2336L+hlPYM0nfohV16zEmolfQf3XzxgtIWKPCTz0bTz52Wq0xK5kTGbXFYHp9GbPxt6qLC3FOK+3840HkZNxDRdRHu1taYFbBBPLynSXkrpFg1VY6e02Pj1hBptbb4332jKff948Y0rSrDH5KkOrKwFT9M/KuTt9mrVrlQs+i1Tdqswu8uY0nhU7rwhMJV1biL54/qk+X+cbDyIn4wgXUR6919qKyeXlKC2UKxQTQ5cpXf+sbEaS7Kwtccox0bPPxrvQp2q+mjzNmcuIns3MdVOBUAChiPV0ImDvFYGppNvoui+e/5KKCuxrbUW0CHc1IbJTgZwFiPqn91pbcUkhrN8yZRtWAOtwNmuW9THtXHSfrkaLBezdQlVy/X0ZGmPSrZsCAG+JF36P39YrAlMx20L4PX743MbUts/t67Pnv7SiAm3RKA63t+f1eYgKHQMXUZ6Eo1EcaG8vnMCVLqzccovxdaJotPsVg3fcASxd2rt1XT2tcdkyI9hZNV9NvrLQlO2Ins3SrZsCgOsnXG/7FYHpXDvuWtTfW481c9bk7YrEVMx2EPvarDfPJnIKruEiypOD7e3oUKpw+g+l6hRfW2ssVp8/35i6EzGCzsyZ8cXqzz5rBK3HHov3rXr0Ufun6DJ1s581K7fmq7nu/WiTTOum7rj0jryOLKVqsmrnno3ZmlJeDsDYU/QvuaciOZlSqug+Zs6cqYgK3TMNDQpbtqg/NjbqLsUQjSq1YYPx30SRiFLz5hkTdkuWGPebX1dXG/eb3794sTmxF/8wv8eOurL5PNufLbHexYuNr5cssafmDJram5T/Ab/Ct9Dtw/+AXwWCgbw997a6bcr/gF/57vcpfAvKd79P+R/wq2112/L2nOlEo1FVtXWr+uq+fVqen6ivAdiuLLILpxSJ8uT92BTKxYUywpWqRYPLZYxgJa512rTJGNnasSO+WF3EGNVav77r9/d2tCixBQUQvyIwcaoyVe2mjRuNxyZOd27cGB+NmzUr8/SjjXq6bioQDGDtW2ux8sWVWPvWWgSCgZyeN3Gxvo4mq1ZEBJPLy7GfU4rkcJxSJMqT2rY2DC4txWC3W3cpmVlt6GxOLybburXr172dorOzBUXidOcrr3S/3/w5Z82Kj9HlaWrRXDe1bvc61J6txaTBk7Bw2sKUYctsI9Gb7X/W7f5N6iar4RDW7f4NFs34Uo9/pp6aXFGB15ua+vx5iQoJR7iI8mR/aysmxdavFLxsrl7M5QrBXNhxNeFtt3XdG9HlAu+HR98AACAASURBVH7wg/j9W7d2rW/rVuMCgDyOcgFApacSi2YsytjJ3a6Rqf2vb07dZFUFUfunzT37QXppcnk56trbEUq+MIPIQRi4iPKktq2tOAJXtkEq1YJ2O6boens1oTndaYYu0z33xPdJ7ONeXLlI10Yim+1/zKnIXVVt8Cjrf9Z9qhSTPjK317X2xMTyckQBHGJrCHIwTikS5UEoGsWRYLA4AlemKwNnzzZGkMxO8NleIZiLfF1NaNYnkrm7vka92X4neSoSKX4kl7ccC6f9lR3l5sz8O6htayucNY1EfYwjXER5cKi9HVEY7+wLXvJegUoZIWz16q6bOKeSaUF7JnZMVSoVb1uRyBzZWr266+0FFLaAeBsJK+m237GaiuwUe9l8QRiL9ceuQmWK58g3c2urA1w4Tw7GwEWUBwdjJ5aLCmEPxUySA5N51eDy5fHRLLsbnCayY6oy8YrExYuN0Ja4pmv+/K6P782asx5KdwVij7bfUQrrfrky5VSkNwLc/D6w5jmgfv14XPuF+/K+Zi2VER4PKlwuHOSUIjkYAxdRHpgnlouKYYQrWV/vQZg8wgbEQ1c2I2yJFi821nKZa7ruuce4fdOmrEbPetuWIZXXDr+G0atHY+lzS/HwHx7G0ueWYvTq0Xjt8GsAethG4qmnsH/dj1NORQZLgSv+diUWqWpU7ngHqK42fv7koGn31kwWRAQXlZd3vhEhciJRRbihaE1Njdq+fbvuMohS+tqBA/jB0aNonTULrgKaukrLnEo0A44ZskyJYaY3x078/lS323X8DRuMqxETa08MkBs2dPb9smrL4BJXTm0ZrASCAYxePRqBUPfw5vf4UX9vfWegag41Z91GAkph7cobsbT0ZbR4u9/tCxqjW4v+DCNs7dxp3JE4kpjitciH+e+8g0Pt7Xj7Qx/K23MQFQIR2aGUqkm+nSNcRHlwqL0dF5aVFU/YAro3IE2+anD27J6HosRj52MfxlTryG67zQgSiUHRYvQsnw1Dc7kCMds2EubPsfDbG+DyWPd5cwFYuCf2xY4dCPz2V1j7teuxcs8arF15IwLtTX16xeb4sjIcam9HMb7JJ7IDAxdRHhxqb8f4Yli/lShxKnHpUuMj0auv9nzaKdM05a23Wk9r9Xa6K1UQS7rdrrYMVlORvbkCMRN/WRU2f/Fl+IPGiBYQm4pUbmx+AqiM9UB97WsLMbr2Liwd+DoevhZYWvoyRn97AF7bmGO/s164sKwMgUgE5zo68vo8RIWKbSGI8qCuvR0zhg7VXUZuzJEfpbpe7Ze4+DyxzUJPjg1Yt2cwR8DsmO7qwfRl5lC0P+XTZeoQn2kj61RXIGZFKVz7yHrU/xhYdxlQOxiYVDkYC39/BJV3Ga9lYNlXMdf7YwQSGtCbU5BzPwfUf/M7qASMYJuvKV+g8w1IXXt7cey+QGSzghjhEpE5IrJPRGpFZJXueoh6ozUSQUM4jHHFNsIFGCfV2bO73vboo8ZHbxucpmtuaudC/R5MX06uC3SOECXzBYFJddaL57OZiuzRFYjZSHiNKu9agkU7oniwbB4WPX0ElVOrjVYYIlj3hSsR9Vi/t44CWPeN2+J7UeZryhfAhV4j5dXxSkVyqKwDl4jcKCI/FZHq2Nd32lGAiJQA+HcANwOYCuAzIjLVjmMT6XAkaJy5x3ktVjIXOqWMqcNEiWu6cr1qMPnYyc1Nb7nFuHLOju19TD0Ibws//1DqtVAeNxZ+/iHL+7KZiuzpRtYZWbXTeOYZY9PxnTuBp58GAOw/W4sWsZ7Ga/ECtW+9bPw/X7w4r1emmm9AzL8PIqfJZUrxKwC+COCfRWQwgGqbavgwgFql1EEAEJHfALgVwLs2HZ+oTx2JvYMvuhEu8yT72GPxk3jilYqPPNLzq9iST+CPPGKErU2bgJkzgR07jJC1enXXKyNThK1AMIB1e9Zh/5n9mDxkMhZethB+r9+4M9P0pcXxzLVQc39xA6KhMFq8xsiWy+PG5i++jErz2EmyXZ+V60bWWbHq/O9yGZuOJ1xtmnFKc8ZHgO8/Bqxfn9eO/MPcbpS5XDjMwEUOlXVbCBF5XCl1Z+zzhwDcoJTq9fW9IrIAwByl1JdiX38BwFVKqbtTfQ/bQlAh+/nx41i0bx8OXnUVJhRTHy5zWikfbQOsjh2NGmFr505jVOaZZ+JfmyxO+Fm3b1DKCCAmcyQtjeZgAOs+WmWshToLLPxjU8qwBQBr31qLpc8tTRlm1sxZg0UzFmV+fXoqi/VqgVBz+rYUy4+hcvNL8VGsHF+zXEx+/XXMrKzEby67zLZjEhUaO9pCbDI/UUqtAvBfdhQG652/uqVAEblTRLaLyPaGhgabnprIfkdj7+AvKLYpRTsbkGZzbJfLGNmaN88Y6SopMcJWdTUQiVg2KM26fUOqvRnTvcFUCpUrv4FFfwYefNnoX1W58htpvydv67OylcV6tYxTml5/PEjn+prlaKzXyylFcqyMgUtEHhURUUo9nXi7UuoHNtVwFMDYhK/HAKhPfpBS6nGlVI1SqmbYsGE2PTWR/Y4EgxjudsPrKohrUrKXZQuFnh47MPfjWPvnn3VtnWBOgSUypxcttvfJqn1DT/Zm7OF+jnlbn5WtLNermVOaa+aswaprVmHNnDWov7c+PiJox36WWRjj9Xa+ISFyHKVU2g8A3wXwLICK2Nc3AfjfTN+X7QeMdWQHAUwA4AGwC8Bl6b5n5syZiqhQ3bxrl5rx5pu6y8ivaFSpDRuM/2Zx+7a6bcr/gF/57vcpfAvKd79P+R/wq22Htiq1ZIlSxind+FiyJP79Scdb8cIKhW8h5cecX85RK/79k+qnM6CaltzV9Tjm82zY0L3mFSu6P3ckotS8edbfkyQQDKi1O9aqVS+uUmt3rFWBYKBHL2uPJP5sVq9hNjZssH7tU71mPbTqwAFV+sorKpJLbURFBsB2ZZV3rG7s9iDgswDeBPAagOcBXJfN92X7AWAugPcBHABwX6bHM3BRIZv+xhvqlrff1l1GfuVwgm5qb1L+B/yWAcn/TbcKeBKOY35/isDw0x0/7QxtVh+e73iMQPevXiPQ1W2Lf7NVGEwMW/PmGSFLqa5ha8WK3MKLDtFo18CVqd7k18L8OhKxvt2mn/8HR44obNmiTgSDthyPqBClClzZTCneAODLAFoADAOwWCm1zZbhtRil1Gal1MVKqYlKqfvtPDZRX6sPhXCBx6O7jPzKofVC2mnAUBjrltwQX9tlMY2YKN2aKQAIRYzuni0q2H1dV+LUqIp1sN+4EXj4YWPd2KZNxs+wfj0wY4bx9bx5wEMP5b0Le69Eo8YVn4mWLTNuT9WlP3ntl9kLbfnyrn237JhOTjA6tq7xGKcVyYGyWWRyH4BvKKU+BmABgHUicn1eqyIqUqFoFKfD4eJbMJ+rHPpmpW2d4AVqb6rJuEjf3Drnu1u/i7tq7kKlp7JzzZS3JPVrnXJbHjNwmP2ndu4ErrjCaImxYAGwa5cRwp55prDDllLA/PlGOEy+2GDmzNRNS+1sNJuDUbE3IsdDoQyPJOp/MvbhUkpdn/D5OyJyM4D1AK7OZ2FExehE7EQyqr+PcAHxcJShb1bmrW0mdz9uQvsJqzYQAsHdH74bAsHOEzvx3IHnLEtMuVdhYuBYvNj4SNzOCIgv3i9kTz0VD1s7dxojVKtXG0HSbLdhFZ560KvMDuYbkXqOcJED5fyviVLqOIAb8lALUdEz37mPdELgyrL1Qm9aJ6RqA9EcbsaP3vwR7pt1H+6YekfnaFeylHsVJo7QPfZY97AFGOHFxpYIeWG229ixIx4gzfYaZm+zVOEp3VZLeTKCI1zkYD16+6aUarO7EKL+wDEjXDm0EehN64Rs2kD0ONBZBQ5TdbXtLRHywhwNNNtoJHr22fQjdD3pVdZLXpcLg0tLcZKBixyowMfLiYrLSaeMcFnt45dmwXvGPlApZLN1Ts6BzlwwH40CS5d2vW/ePOCee+INWLPdrNs8ZnJYSXW73XINT33Ud8vKCI+n840JkZPkspciEWVgBq7h/T1wWe3jZ4au2bMt1w1Veipz3uYm8/ovY7owp70KzQXz5ronALj5ZuD48fiVieaarhUrsltAbh4zH9siZZIcnqz2wEyeJkwVmAHj9tmz81bvCI+HI1zkTFa9Igr9g324qFB9dd8+NXDbtswPpKyk7eH1gL9nDUaj0XiPrepqpZ58UqnFi+NfA0qtX59b/ymrHmIZeorZpidNS3NsXGunhbt3q0l/+lPejk+kG1L04eIIF5GNToXDGOF26y6jaAWCAazbsw77z+zH5CGTsfCyhdj8uc0pN6vu0dY5IsZicrOdwoIFxu1LlhhX+D39dPfNoLM5pt1X/anMG1N39s9KHm0EgFmzjI/EEbrE77UawUq6QjQfhns8aOAIFzmQqEJeEJpCTU2N2r59u+4yiLr5i5070aEUtl15pe5Sio5V+wczWFWPrM5uujAXSnVdVB6N9v4KPTuPuXFjz6cpe/O9efadQ4fwL4cOIThrFjyF3naDqAdEZIdSqib5dv62E9moIRTCMI5w5SxV+wezWzwALJqxCA9+/EEsmrHInrDVmyv0rBbDK9V9EX5vFqD3pjmppsam2TDXNzaEw9pqINKBgYvIRg3hMANXD2TT/sE2dlyhl7w1jhm2zH5e69f3/qq/HLr52/q9eTY09vfBaUVyGgYuIpsopXAmHO48oVD2smn/0Km3LRhybGlhKXkEaePGeNhavNiYrsv1mFZ605xUQ2PTbJh/H2c6OrTWQdTXGLiIbHK+owMRAEMYuHJmtn+w0q1bfPLoEhAftUq1d2Aic5F5YvhIsYdjSskh7Y47jNsXLwYefdS4P9djWunN1KeGxqbZMAPXaU4pksMwcBHZxHzHzsCVu5y6xfd2fZJ5JV7ySE+q29MdJ3kEyQxbPT1mot5Mfab73ltuMb5OfnxfNGgFMKTUuDj+LAMXOQwDF5FNzBPI4FJ2W8lVTt3iC2V9Uk9HkLKdEu3N1Geq7503z2iFMX9+z0YHbTDYnFJk4CKnsWrOVegfbHxKhei5M2cUtmxRrzU26i6laAWCAbV2x1q16sVVau2Otekbm0aj5nJ14yMS6btmnr1pdJqpUemKFcbXiXVn83miSMQ4TiTS/Xaz6WtfN2hN4Hv1VbVs//4+eS6ivoYUjU+1h6eefDBwUSH69YkTClu2qHebm3WXUjSa2pvUT3f8VK14YYX66Y6fqqb2pqzu6xIUzI/kIJH8OKuO6z3Vk+7uVrUnhx7zZ5g3Lx6WrMJYb+qweu36MGwppdTYP/xB/e3evX32fER9iYGLKM9+dPSowpYt6nh7u+5SisK2um3K/4Bf+e73KXwLyne/T/kf8KttddvS3pc2sJhb8+R79Ka3W+OkCj2JI1DV1cbXyT9bYojq6Uhb8uhgH4YtpZS6/I031K1vv92nz0nUV1IFLnaaJ7LJA3V1uO+DD9B63XUoLynRXU5BCwQDGL16NAKhQLf7Kt2VgADNoeZu9/k9ftRP/g9Ufupzqbuom+uUTAXQe8qSStGVPhoFZs6Mb6wNxDfatvpZEn92U7qfOdfH58GsP/8ZLgCvcEcG6ofYaZ4oz853dMArwrCVQiAYwNq31mLliytx9+a7EYlGLB8XioYQjlgvqI6qKNZd1Jq+rcMzz3T9pkINW6kW3LtcwI4dXe9LFbaA3PptJYatnjZ9tcHA0lI0sg8XOQwvpyKySWNHB6qK/ApFq82j/V5/r4+bvE+i2+VGOGodqkKR1B3IjSaoB4DbvtT9TnMjZ6sgU0ihKzn0PPJI1xGn1auB5cu7f9/q1elDVKJUP3OqqxcB4/bZs/tkj8UBpaU4H7EO3ET9VXGfHYgKSFMkggFFHLisNo9e/vxybP7cZlw77tqsjmEV2AB07pNoShW2AMBT4oFAEIwEu93XrQlqokxBplBCV6bQU1trTIma04immTONka/Eachcf2az6esnP9l9dHD27D7bY7GqpARNHOEihyneswNRgWnq6EBVkU4nJm4ebTK32pn7xFzU31ufccPoVIHtrg/dlXKfRCselwcQWAaubk1QEyUHGQCYNcsIJYmjN0oZj00MHX0pXejxeoGHH+66Zmv16viarvnzgWefjX9friNWZiPWZKluz5MBpaU439FhLCQuhBBM1Ae4hovIJk2RSEFPKSauoVr71loEgvFw1dvNoxMDmxnUWsItCIQCeOSPj6TcJxEASsV4zcxGp7///O/x+8/9PrsmqImSt+x56qn4ljvr1xv3myNCfdTk01Jy93kVa3gKAA89BKxYYYSrxYuNwChijGyZFwMk1m3HNkUaVJWUIAKgPbnjPVE/VrhnB6IiE+jowIVlZbrLsJRpunDPqT3Zbx5tIV1gExF4S7wppwgXTF2AUZWjMGnwJCyctrAzUNXfW491u9eh9mxtt/tSPFHXUZrELYDM+5K3AEo12pUYgpK35rF7hMzcG9IcpXroIeCqq4BXXzUC44YNRg3PPht/3lQ/c6bbC4Q/9sYkEInwIhNyDAYuIps0RyKoLMCTR6bpwic//SR+vP3HKb8/7bqpmP1n9qcMbKFICJ4Sj+V9LnHhh3N/aBmkKj2VWDRjUdrnTSt5es1c15Q4/bZxY9ewk9xiIvnxifeZQai3EoMhYDzX1q3AY4913RuywENULsy/k0AkguGaayHqK5xSJLJJoQaudKNPkWgEt/7mVsvRJ1PadVMxk4dM7pz+S+Zz+7DsqmW5TxHaIVPLhHQbYS9ebHz0dJPsdMwRNKV6vzdk4rGyub0A+GN/J828UpEchIGLyCbNkQh8BRi40o0+tXa0puyHBQBlpWVZhaKFly2ES6z/OQlHwhgzYAz23b0Pa+aswaprVmHNnDWov7c+66sfs5YcMtL1uwLSh51HHzU+8rFJtjmNmFjLddd1fcwjjxj3rVxp9MtK9XMmHisaNW6PRruuVSuw8OVj4CIHYuAisoFSCq3RaEEGrnSjT6VSmrZFw1dqvpJVKPJ7jdGqxFEsUygawqqXVmHKD6dgytApePDjD2LRjEW9H9myChFm+LjlFiASiY9IVVcb98+b173JZ7pRsFyaiuYieWRtwwZgwYKuj1m61Lgq8eGHjf8mh0gzTCUea/584/aZM+Ph8NZb9V8okMQXa23RwsBFDsLARWSD9mgUCvETSSFJN/pU4ipJOxU4ddjUrJ/n2nHXov7eenzv49+D2+Xucp95xeLcJ+ZabtnTI1ajRLfeaoSrTZuMhedm2DJbLDzzTDycmOEj3ShYphGynkoeWUsMW/fcY0xlPvZYvB/Xpk2ppzUTj2VuabRzp/F9ZhNVO6ZBbWS+MWll4CIH0Xp2EJFPicgeEYmKSLd9h4iKRWtsyqeiAEe4rEafzDVUz3zmmZRhLJu1W8kqPZXwlnpTLpLPpsVE1qzWXy1fHg8b5vY4idviuFxdWyak2+pm6VLjI1/b4FiNnt1zD/CDHxhhy/TP/5x5WtPqWDt3AiUl9k2D2sj8O2llWwhyEN1XKe4GcDuAn2iug6hXzHfqFQU4wgXER5+s2ixs/tzmbi0jXOLq8YL2dGvGsmkxkbV0VyGuXm2EDVNyODGv9tu4MX3jUPN4+dgGx2r0LDkQrV9vPMftt3fdbDrVBtapFFDYAuJ/J20MXOQgWs8OSqm9Sql9OmsgsoN54ijknkJmm4XkNVRmGLNrQXumKxYztZjIidXIjtVehKlGpNI1Dl2/3vjIR1NRq5E1cxox0datmac1k48VicTXrGX6+TUpNwMXpxTJQXSPcBH1C2bH7PICHeHKpNc9rxIsvGwhlj9vsfkyejZNmZZVGDG3wclmb8F0jUNvv936Oe3oh2W1DVGi9euNsLVmjdEANd3Pk3gsM2ya06o7d8YvFLD6+TUp4wgXOZFSKq8fAF6CMXWY/HFrwmNeAVCT4Th3AtgOYPu4ceMUUSF5/fx5hS1b1KbTp3WXUhC21W1T/gf8yne/T+FbUL77fcr/gF9tq9tm35NEo0otWWIsbV+yxPh63jzj6+pqpSKR7o/bsMG+5++NaNSoJRo1vt6wwahv8WKl1q83bk/8eebNiz82+edJPJZ5nCVLjJ9/wwbjvwX283dEowpbtqhvf/CB7lKIbAdgu7LIMaIKYJhZRF4B8I9Kqe3ZPL6mpkZt357VQ4n6xNbGRszeuRMvXXEFbhg0SHc5BaE51Jzb1jy5suoSH40arRE2beraCV73htWZpKovGgW+/nXgwQeNBfOZHp/r7RqVvPIKVo0bh/svukh3KUS2EpEdSqluFwIycBHZ4MWzZ3HT229jW3U1rh04UHc5zlBE4YK6823dirsuuAD/NsnGNX1EBSBV4NLdFuI2ETkK4KMANonI8zrrIeqpYGwtiqdI13AVJXMtVXKoSnU7FRSPy4VgAbzhJ+orWhfNK6U2AtioswYiO4RiJw4vAxdRVjwiCHPRPDkIzw5ENgjHApeboypEWfG4XJ1vVIicgIGLyAbmO3UGLqLsuEU636gQOQEDF5ENOmInjlIGLqKslIp0/t0QOQEDF5ENGLiIcsPARU7DwEVkAwYuotwwcJHTMHAR2cDcEa6EgYsoKyUiiDBwkYMwcBHZwDxxMHARZccFIMrARQ7CwEVkA/O0wbhFlB2XCNiFi5yEgYvIBuY7df5BEWVHEH+jQuQEPD8Q2aBzhItTikRZEQCFsJcvUV9h4CKyEeMWUXY4wkVOw8BFZCOeQIiyxzco5CQMXEQ2ME8cnCIhyg7/UshpGLiIbNAZuLRWQVQ8ouCaR3IWBi4iG5gnDgYuouwopXgCIkfh7zuRDUpi/2XnbKLsRGH04iJyCgYuIhuYJw42ciTKTkSpzjcqRE7AwEVkA3NLH45wEWUnohRHuMhRGLiIbFAaO3F0MHARZSWC+N8NkRMwcBHZgIGLKDcdSjFwkaMwcBHZwB07cYQZuIiyEo5GO/9uiJyAgYvIBp2BK8pl80TZCCnFwEWOwsBFZAOOcBHlJqwUPC6egsg5+NtOZANv7MQR5AgXUVZC0Sg8HOEiB2HgIrKB+U49xBEuoqwEo9HONypETsDfdiIbeGPv1Ns5wkWUkVIKQaUYuMhR+NtOZIMyTikSZc0cCWbgIifhbzuRDczA1cbARZSRORJczsBFDsLfdiIblJcYu8JxSpEoMwYuciL+thPZoJwjXERZa41EADBwkbNo/W0Xke+LyHsi8raIbBSRgTrrIeqpitiJwzyREFFq5hsTc2SYyAl0v714EcA0pdR0AO8D+Lrmeoh6pCJ24mhh4CLKyPw7qeAIFzmI1t92pdQLSqmO2Jd/AjBGZz1EPeVxuVAqglZOKRJlZAYuH0e4yEEK6e3F3wH4ve4iiHrK53JxhIsoCy2xNyYMXOQkpfl+AhF5CcBIi7vuU0o9HXvMfQA6ADyR5jh3ArgTAMaNG5eHSol6p7KkBM0MXEQZmW9MKhm4yEHyHriUUh9Pd7+I/A2ATwC4QanU+6IopR4H8DgA1NTUcP8UKjgMXETZCcT+TvwMXOQgeQ9c6YjIHAArAcxWSrXqrIWot/ylpZ0nEiJKLdBhLN1l4CIn0b2G64cA/ABeFJGdIvIfmush6jF/SQmaOjoyP5DI4QKcUiQH0jrCpZSapPP5iexUVVKCg+Gw7jKICl5TJIIylwtutoUgB+FvO5FNqkpLOcJFlIWmjg4M4OgWOQwDF5FNBpSWoolruIgyOt/RgQGlWidYiPocAxeRTQaUlOB8RwfSXGxLRADORyIMXOQ4DFxENhlYWooowCsViTI4Fw5jIAMXOQwDF5FNzBNII9dxEaXV2NHBwEWOw8BFZJNBbjcA4BwDF1Fa5zo6MIiBixyGgYvIJoNjJ5CzbA1BlJJSioGLHImBi8gmg2MjXGc5wkWUUkskgrBSnX8vRE7BwEVkE45wEWV2JvaGZAgDFzkMAxeRTcwTyGkGLqKUzsT+PoZwSpEchoGLyCYVJSUod7kYuIjSMAPXUI5wkcMwcBHZaKjb3XlCIaLuGswRLgYuchgGLiIbDXO7O08oRNSd+fcxjIGLHIaBi8hGwz0eBi6iNBpCIbgAXqVIjsPARWSjYW43ToVCussgKlgN4TCGut1wieguhahPMXAR2Wi4241T4TA3sCZK4WQohBEej+4yiPocAxeRjUZ4PGiLRtHMDayJLJ0KhzGc04nkQAxcRDYy37mf4LQikaUTHOEih2LgIrLRyNiJ5CQDF1E3SimcCIU6/06InISBi8hG5onkOAMXUTeBSARt0SgDFzkSAxeRjUYxcBGlZP5djGLgIgdi4CKy0RC3G6UiDFxEFo4HgwCAUV6v5kqI+h4DF5GNXCIY5fGgPnZiIaK4+tgbkQs4wkUOxMBFZLPRXi+OMXARdWP+XYzmCBc5EAMXkc1Gezw4xilFom6OBoOoLClBVWmp7lKI+hwDF5HNxni9OMoRLqJujgWDGMPRLXIoBi4im43xetEcieB8R4fuUogKylEGLnIwBi4im40tKwMAHGlv11wJUWE5EgxiLAMXORQDF5HNzBPKEU4rEnUKR6M4HgoxcJFjMXAR2cw8oRxm4CLqdCwYhAIwLjYCTOQ0WgOXiHxHRN4WkZ0i8oKIXKCzHiI7XOD1olQEdZxSJOpUF3sDMo4jXORQuke4vq+Umq6UqgbwOwD/orkeol4rEcEYrxeHGbiIOplvQC7kCBc5lNbApZRqSvjSB0DpqoXIThd6vTjEwEXUyfx74AgXOZX27nMicj+AvwZwHsBfaC6HyBbjy8rw0rlzussgKhh17e0Y6fGgrKREdylEWuR9hEtEXhKR3RYftwKAUuo+pdRYAE8AuDvNce4Uke0isr2hoSHfZRP1yviyMtSHQghGo7pLISoIH7S3YwKnE8nB8j7CpZT6eJYP/W8AmwB8M8VxHgfwOADU1NRw6pEK2oTyf+igXwAACWhJREFUcigY7+ovrqjQXQ6Rdh+0t+PqqirdZRBpo/sqxckJX84H8J6uWojsNDH2Tv5gW5vmSoj0C0ejONLejovKy3WXQqSN7jVcD4nIFABRAHUA/kFzPUS2ME8sB7lwngh17e2IIP5GhMiJtAYupdQdOp+fKF9GeTwod7lQyxEuIhyIvfHgCBc5me4+XET9kojgorIyHGDgIup84zGJgYscjIGLKE8mlZdjPwMXEWrb2lDhcmGUx6O7FCJtGLiI8mRyRQUOtrUhonhRLTnb/tZWTCovh4joLoVIGwYuojyZXF6OoFI4woXz5HD729owmdOJ5HAMXER5cnHsBMNpRXKycDSKg+3tmMx+dORwDFxEeWI2PN3X2qq5EiJ9DrW3o0MpTOEIFzkcAxdRnozyeOAvKcE+jnCRg70Xe8PBHRfI6Ri4iPJERDCloqLzhEPkROYI7yUMXORwDFxEeXRJRQX2trToLoNIm72trRjudmOw2627FCKtGLiI8ujSigocC4UQ6OjQXQqRFntbWzm6RQQGLqK8mho70ezltCI5kFIKe1tbMdXn010KkXYMXER5ZJ5o3uW0IjnQiVAIjR0dnW88iJyMgYsojy4qK4NHBHs4wkUOtCf2RoMjXEQMXER5Vepy4ZKKis4TD5GTmG80LuMIFxEDF1G+TfP5sJuBixxod0sLhpSWYgQ3rSZi4CLKt8t9PhwJBnGeVyqSw7zT3IzLKyu5aTURGLiI8u7yykoA4CgXOUpUKexuacHlXL9FBICBiyjvzBPOruZmzZUQ9Z0P2tvREo1iOgMXEQAGLqK8G+v1YlBpKd5m4CIHMd9gXBEb4SVyOgYuojwTEUz3+bCTgYscZFdzM1wALuMIFxEABi6iPnFFZSXeaWlBRCndpRD1iV3NzZhcXo6KkhLdpRAVBAYuoj5QXVmJ1mgUtW1tuksh6hN/bm7GlX6/7jKICgYDF1EfuDK2juWtQEBzJUT5dzYcxuFgENVcv0XUiYGLqA9M9fngEcGfuY6LHMB8YzGDgYuoEwMXUR/wuFy43OfDDo5wkQPsiL2xmMEpRaJODFxEfaTG78dbzc1QXDhP/dxbgQDGl5VhiNutuxSigsHARdRHZvr9aOzowAEunKd+bnsggJmcTiTqgoGLqI/UxKZXtnNakfqxs+EwDra3d/6+E5GBgYuoj0zz+eAVYeCifs38/f5QVZXmSogKCwMXUR9xu1y40u/H6wxc1I+90dQEATjCRZSkIAKXiPyjiCgRGaq7FqJ8usrvx1uBADqiUd2lEOXF64EAplRUYEBpqe5SiAqK9sAlImMB3AjgsO5aiPLtqqoqtEaj2N3SorsUItsppfB6UxOu4ugWUTfaAxeARwCsAMBr5anfuyq2ruVPTU2aKyGy3wft7WgIhzt/z4koTmvgEpH5AI4ppXbprIOor0woK8Mwtxt7W1t1l0Jku3dbWiAAPsLARdSN5LsJo4i8BGCkxV33AfgnADcppc6LyCEANUqp0ymOcyeAO2NfTgOwOw/lFrOhACxfOwfja2KNr0t3fE2642tija9Ld3xNurpQKTUs+ca8B65URORyAC8DMN/qjwFQD+DDSqkTGb53u1KqJs8lFhW+Jt3xNbHG16U7vibd8TWxxtelO74m2dF2GYlS6h0Aw82vM41wERERERWrQlg0T0RERNSvFUyjFKXU+Bwe/ni+6ihifE2642tija9Ld3xNuuNrYo2vS3d8TbKgbQ0XERERkVNwSpGIiIgoz4o+cHFboDgR+Y6IvC0iO0XkBRG5QHdNuonI90XkvdjrslFEBuquSTcR+ZSI7BGRqIg4+soiEZkjIvtEpFZEVumupxCIyM9F5JSIsPVOjIiMFZEtIrI39rezRHdNuolImYi8ISK7Yq/Jv+quqdAVdeDitkDdfF8pNV0pVQ3gdwD+RXdBBeBFANOUUtMBvA/g65rrKQS7AdwOYKvuQnQSkRIA/w7gZgBTAXxGRKbqraog/CeAObqLKDAdAO5VSl0K4CMAvsrfFQQBXK+UugJANYA5IvIRzTUVtKIOXOC2QF0opRL3i/GBrwuUUi8opTpiX/4JRr83R1NK7VVK7dNdRwH4MIBapdRBpVQIwG8A3Kq5Ju2UUlsBnNVdRyFRSh1XSr0V+zwAYC+A0Xqr0ksZmmNfumMfjj/npFO0gYvbAlkTkftF5AiAz4EjXMn+DsDvdRdBBWM0gCMJXx+Fw0+ilJmIjAdwJYDX9Vain4iUiMhOAKcAvKiUcvxrkk7BtIWwks22QH1bkX7pXhOl1NNKqfsA3CciXwdwN4Bv9mmBGmR6TWKPuQ/GtMATfVmbLtm8JgSxuI3v0CklEakEsB7A0qQZBUdSSkUAVMfWxm4UkWlKKa79S6GgA5dS6uNWt8e2BZoAYJeIAMY00VsiknFboGKX6jWx8N8ANsEBgSvTayIifwPgEwBuUA7pg5LD74mTHQUwNuFrc3sxom5ExA0jbD2hlNqgu55CopRqFJFXYKz9Y+BKoSinFJVS7yilhiulxscaph4FMKO/h61MRGRywpfzAbynq5ZCISJzAKwEMF8p1Zrp8eQobwKYLCITRMQD4K8APKO5JipAYryz/xmAvUqp1brrKQQiMsy86ltEygF8HDznpFWUgYtSekhEdovI2zCmWx1/6TKAHwLwA3gx1i7jP3QXpJuI3CYiRwF8FMAmEXled006xC6muBvA8zAWQf9WKbVHb1X6icivAfwRwBQROSoii3TXVACuAfAFANfH/h3ZKSJzdRel2SgAW2LnmzdhrOH6neaaCho7zRMRERHlGUe4iIiIiPKMgYuIiIgozxi4iIiIiPKMgYuIiIgozxi4iIiIiPKMgYuIiIgozxi4iIiIiPKMgYuIHEVEtojIjbHPvysij+muiYj6v4LeS5GIKA++CeDbIjIcwJUwtsEiIsordponIscRkVcBVAL4mFIqICIXAbgPwACl1AK91RFRf8QpRSJyFBG5HMY+cEGlVAAAlFIHlVLcM5CI8oaBi4gcQ0RGAXgCwK0AWkTkLzWXREQOwcBFRI4gIhUANgC4Vym1F8B3AHxLa1FE5Bhcw0VEjiciQwDcD+BGAGuVUg9qLomI+hkGLiIiIqI845QiERERUZ4xcBERERHlGQMXERERUZ4xcBERERHlGQMXERERUZ4xcBERERHlGQMXERERUZ4xcBERERHlGQMXERERUZ79f4d7wxGMSlMLAAAAAElFTkSuQmCC\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": [
"/home/pawel/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:10: UserWarning: The following kwargs were not used by contour: 'lw'\n",
" # Remove the CWD from sys.path while we load stuff.\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": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/pawel/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:8: UserWarning: The following kwargs were not used by contour: 'lw'\n",
" \n",
"/home/pawel/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:10: UserWarning: The following kwargs were not used by contour: 'lw'\n",
" # Remove the CWD from sys.path while we load stuff.\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."
]
}
],
"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
}