{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Intro to Logistic Regression\n", "\n", "In statistics, the logistic model (or logit model) is a statistical model that models the log-odds of an event as a linear combination of one or more independent variables. In regression analysis, logistic regression (or logit regression) is estimating the parameters of a logistic model (the coefficients in the linear combination)." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from scipy.optimize import minimize\n", "from matplotlib import pyplot as plt\n", "\n", "# https://realpython.com/logistic-regression-python/" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Classification Problems" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As the amount of available data, the strength of computing power, and the number of algorithmic improvements continue to rise, so does the importance of data science and machine learning. Classification is among the most important areas of machine learning, and logistic regression is one of its basic methods.\n", "\n", "Supervised machine learning algorithms define models that capture relationships among data. Classification is an area of supervised machine learning that tries to predict which class or category some entity belongs to, based on its features.\n", "\n", "For example, you might analyze the employees of some company and try to establish a dependence on the features or variables, such as the level of education, number of years in a current position, age, salary, odds for being promoted, and so on. The set of data related to a single employee is one observation. The features or variables can take one of two forms:\n", "\n", "Independent variables, also called inputs or predictors, don’t depend on other features of interest (or at least you assume so for the purpose of the analysis).\n", "\n", "Dependent variables, also called outputs or responses, depend on the independent variables.\n", "\n", "In the above example where you’re analyzing employees, you might presume the level of education, time in a current position, and age as being mutually independent, and consider them as the inputs. The salary and the odds for promotion could be the outputs that depend on the inputs.\n", "\n", "The nature of the dependent variables differentiates regression and classification problems. Regression problems have continuous and usually unbounded outputs. An example is when you’re estimating the salary as a function of experience and education level. On the other hand, classification problems have discrete and finite outputs called classes or categories. For example, predicting if an employee is going to be promoted or not (true or false) is a classification problem.\n", "\n", "There are two main types of classification problems:\n", "\n", "1) Binary or binomial classification: exactly two classes to choose between (usually 0 and 1, true and false, or positive and negative). Remember, in classification problems, outputs are discrete. For now let's consider a 2-class (or *binary class*) example:\n", "\n", "$$ y \\in \\{0, 1\\} $$\n", "\n", "2) Multiclass or multinomial classification: three or more classes of the outputs to choose from\n", "If there’s only one input variable, then it’s usually denoted with 𝑥. For more than one input, you’ll commonly see the vector notation 𝐱 = (𝑥₁, …, 𝑥ᵣ), where 𝑟 is the number of the predictors (or independent features). The output variable is often denoted with 𝑦 and takes the values 0 or 1." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Logistic regression\n", "\n", "Logistic regression is a fundamental classification technique. It belongs to the group of linear classifiers and is somewhat similar to polynomial and linear regression. Logistic regression is fast and relatively uncomplicated, and it’s convenient for you to interpret the results. Although it’s essentially a method for binary classification, it can also be applied to multiclass problems.\n", "\n", "For the classification problem above, we want a hypothesis (or *predictor*) that obeys:\n", "$$\n", "0 \\leq h_\\theta(x) \\leq 1\n", "$$\n", "\n", "We'll make use of the *sigmoid function* (a.k.a. *logistic function*):\n", "$$\n", "g(z) = \\frac{1}{1+e^{-z}}\n", "$$" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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d+8uSfr6669VUVHRZv9g2YaNjY1avXq13nrrLV100UVej9122236/ve/r9tuu03ffPONrrnmGn311Vctnx1HWrdunWbOnKl169YpKipKU6ZM0amnnqobb7zx5Is0QS49Pd387W9/82p77rnnTHZ2dsuy0+k0drvd7Nixo9Xz6+vrTWpqqvnwww9b2h588EFzxx13dFbJHXZkbYeNHDnSlJWVtfucG264wbjd7s4sy69efPFFs3LlSp/63n///eb2229vWV63bp3p0aOHqa6u7qzyTto//vEP43A4WpZzcnKMJPP111+3+5xA34Yd2Xc6sk8Gio0bN5r33nuvZXn//v2me/fu5oUXXmiz/8yZM83WrVu7qjy/ycvLM08++eRx+/373/82mZmZLcsej8ckJiaajz76qDPLOymff/65qa2t9WqbPn26Wbp0aZv9g20b/vjHPzZTp05tWf7yyy9NbGyscblcLW1Dhw41r7zySpvPnzRpkpk1a1bL8uLFi03//v2Nx+M56dqCelhEUptpbOnSpV6HkFNSUtSnTx/l5OS06pubmyun0+nVf9iwYVq+fHnnFHwCxo4d67W8Y8cOJScnKzk5uc3+n3zyif71r38pKytLTz75pBoaGrqizBPm8Xg0d+5cXXvttfrhD3+oLVu2HLP/0dv3nHPOUW1trT788MNOrvTE3XDDDUpLS2tZzs7OliTFxMS02T8YtmFH9p2O7JOBYuDAgRo/fnzLcq9evTR48OA2t1lVVZVefPFFXXDBBZo6dar27dvXlaWelOeee07/9V//pTFjxujtt99ut9/R29Bms2no0KFatmxZV5R5QkaNGqVu3bp5tb3//vu64oorWvUNxm149Off0qVLNWDAAK9/o8OGDWtzG9XV1em9995rtf9u375deXl5J11b0IeLtuTl5Xm9kUtScnKytm7d2mZfu93u9UGdnJwsh8MRsOOJixcv1nXXXdfu42lpaXrllVeUnZ2t3/zmNxo9erRqa2u7sMKOqaur0+zZs/Xoo49q7dq1GjFihN5///02+9bU1GjXrl1e2zcyMlI9evRoc/sGiujoaK/lkpISnX322TrrrLPa7B8M27Aj+05H9slAcfQ2k6Ty8vJWw7BS87Den/70J911111avny5hg0bpm+++aYryjxpU6ZM0XPPPaf6+npNnDhRc+bMabNfMG7Do3311VftBsRg3oaHdWQbbd++XS6Xy6v/4X3ZH9s0IOdc/PznP9eGDRvaffyhhx5qcwc/rKKiQikpKV5tMTExbb45V1RUKCkpyesiIIf/4dXW1rZ7dMCfOrq+b731ll5//fV2+w8aNEiDBg3SbbfdpnvvvVeXX365Zs+erdmzZ/u1bl/5sn7XX3+9JOnRRx/VD37wA915553avn27IiIivPoeHiv1dft2lY5uw4ULF7Y7aU4KvG3Ylo7sOx3ZJwPVxx9/rMmTJ7d5NcKePXvqRz/6kX70ox/pkUce0fjx43XPPfcoNzfXgko75qqrrtJVV12l6dOn68knn9RTTz2l6667rlXwbW8bBuofYW1ZsmSJJk+e3OZjwbwND+voZ5/k/V565P57sgIyXDz//PMn9fyUlJRWM9Hr6uraDArt9ZXUJcFC6tj6lpSUSGqeaOSL888/X7NmzdKrr75q2QdTR9YvLi5O//jHP3T66adr69atGjRokNfjh3cEX7dvV+nIOu7atUv19fW66qqrfOofCNuwLR3ZdzqyTwaixsZGvfrqq3rhhReO2/fwUacRI0aopqamZSJhoLPZbHrmmWeUk5OjVatWtQoXwb4NJentt9/2aeJ3sG7DlJQUVVdXe7Ud67NP8n4v9ednX0gOi2RlZam0tNSrzeFwaODAgW32rampkcvl8uqbkZGhuLi4Tq+1o9566y394Ac/6NBzxo8fHxSn/R3Wu3dvDR48uM2aY2NjlZ6e7rV96+rqVF1d3eb2DTR1dXV68cUXNWvWrA49LxC3YUf2nY7sk4Ho+eef1xNPPNHuHJmjDR8+XMnJyQE5V+ZYbDabxo0b1+a/tWDfhlu2bFFGRoZ69OjhU/9g3IYd2Ub9+vVTVFSUV3+HwyFJftmmIRkupkyZ4nWNBKfTKafTqQkTJrTqm52drbS0NK/+eXl5mjhxYpfU2lHHOqzXnt27dx9zGCnQuN1uRUdH65xzzmnz8aO3b35+vhITE3XxxRd3VYknxO126ze/+Y1mzpzZMhGrpqbGp+cG4jbsyL7TkX0y0MyfP19XXnlly00W6+vr5Xa7j/mcyspKDRkyJKj+qj9s3759uvLKK1u1H70NPR6PNm/eHLDvlUc73ly1owXjNpwyZYo2btzoFQ7b2yfj4uJ01VVXtdp/Bw4c6J/LMJz0+SYWy8jIMH/961+92srKyky/fv1MSUmJMcaYF154wdx3330tj//2t78106dPb1mePXu2eeihh4wxxlRXV5uzzjorIE+RKy8vN6NGjWrVnp+fb0aMGGGcTqcxxpgnn3yy5VSroqIic8MNN7Q6HSuQrFy50vzyl7801dXVprGx0Tz66KNepwAevX4FBQXm9NNPN3V1dcYYYx566CHz7LPPWlK7r5qamsydd95pFixYYFasWGFWrFhhXnnlFfP4448bY4J3G7a375SWlpoRI0aYzZs3G2OOv08Gqj/+8Y/m8ccfb9lmixYtMrfccoupr683l1xySctpuP/85z/N3LlzTUNDg6mpqTF33nmn2bRpk8XVH9/OnTvN/fffb3bu3GmMMea1114zv/71r40xxjQ2NnqtY0NDgxk8eHDL6dNvvvmmmThxojWFn4DRo0eb0tLSluWj1y8Yt+Ett9xibr31Vq+2yy+/3Lz55pvGGGPWr19vhg0bZpqamowxxqxatcpceumlLcuffPKJGTFiRMupp9dee6154403/FJb0IaLgwcPmj/84Q8mIiLCXHHFFWb16tVej69du9bceOON5uGHHzY///nPTUNDQ8tjDz/8sJk8eXLLclNTk3nkkUfMgw8+aKZOndrqtQLFwoULzdNPP92qfe3atSY1NdXs3bvXGNN8HYhu3bqZwYMHmwcffNBUVlZ2dakdsnLlSnPqqaeatLQ0M2nSJPPFF194PX70+hljzIoVK8zNN99sHnjgAfPMM890dckddttttxlJrb4WLVpkjAnebdjevrN3716Tmppq1q5d29L3WPtkIPrrX//a5jZ74IEHjMvlMhkZGWbJkiXGGGP+/ve/m5SUFNOnTx9z/fXXm4KCAmuL99HevXvNOeecY7p3727GjBljFi5c2PLY0etojDHbtm0zN954o3n00UfN3XffHbD/Lo+2e/duc9lll3m1Bfs2fO2110y/fv1MZmam+de//tXS7nA4zC233GIeffRRc8cdd3i9by5ZssRkZGR4XQfj5ZdfNrfffru55557zJ///Ge/1cddUQEAgF+F5JwLAABgHcIFAADwK8IFAADwK8IFAADwK8IFAADwK8IFAADwK8IFAADwK8IFAADwK8IFAADwK8IFAADwK8IFAADwq/8PFkwKgtQQxR4AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from scipy.special import expit\n", "z = np.linspace(-10, 10, 100)\n", "plt.plot(z, expit(z));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The sigmoid function has values very close to either 0 or 1 across most of its domain. This fact makes it suitable for application in classification methods." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our hypothesis will be:\n", "$$\n", "h_\\theta(x) = g(\\theta^Tx) = g(z) = \\frac{1}{1+e^{-\\theta^Tx}}\n", "$$\n", "\n", "So we'll need to fit for parameters $\\theta$, which will scale the sigmoid function.\n", "\n", "Before we get into learning, let's figure out how to interpret results. Let's say that we've run the algorithm that we haven't made yet on a training set, and we want to get an estimated output $h_\\theta(x)$ at a new input $x$. Formally, $h_\\theta(x)$ is actually:\n", "\n", "$$\n", "h_\\theta(x) = p(y=1|x;\\theta),\n", "$$\n", "\n", "the probability of $y=1$, given $x$ and trained parameters $\\theta$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The dividing line between the hypothesis preferring one category over the other is $h_\\theta(x)=g(\\theta^Tx)=.5$" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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rr322uM+O9u1a3fC/v6yDQsLC/X444/r/vvv92ivqKjQ+PHj9dBDD2ns2LHauXPnSd8nMzNTt912m8aPH68XX3yxRWsM6OvAnImCggKtW7dO8+fP1+jRoz1eKy8v19VXX63FixerR48emjlzpiZOnKhXX3210feaOXOmsrOzNXv2bFVVVal///7KzMxUWlqaN1bllDIzM3XFFVdo2LBhCgsLkyS98847+slPfnLCZebNm6dRo0YpNTVVknThhRd6o9QzUlVVpW+++aZhJ4qJiTlh3Xv37tUtt9yitWvXKiEhQY899piee+45TZ482ZslN1l+fr5++ctf6uGHH1Z5ebl++9vfatSoUdqwYYNCQxvfzf1hGzZ132nuPukLjDEaP368hg8frrFjx+qFF17Q6NGjtXHjxkY/G/bt26dDhw41/Pvt1KmTOnfu7O2yT8s///lPjy+vcePGHdfH7XZr9OjRmj59uoYMGaJFixbplltu0ZIlS7xZarM4HA4VFhZq5syZiomJkSStX79eTqez0f7+sg1ra2u1YsUKzZ8/X4MGDfJ47Y477tBPfvIT3XHHHdq0aZN+/OMfa+3atQ3fHUf75ptvNHnyZH3zzTcKCwvTmDFj1KlTJ918880tU6jBSXXu3Nn84x//8GibPn26ycjIaHheVFRk7Ha7+e67745bvrq62rRr184sX768oe2hhx4yd911V2uV3GxH13bEwIEDzcGDB0+4zE033WRcLldrltXiXnnlFbN06dIm9X3ggQfMnXfe2fD8m2++MW3atDFlZWWtVd4ZeeONN4zD4Wh4npmZaSSZ9evXn3AZX9+Gzdl3mrNP+oqNGzeajz76qOH5/v37TUxMjHnppZca7T958mSzfft2b5XXYrKyssxTTz11yn7//e9/TWpqasNzt9tt4uLizKefftqa5Z2R1atXm4qKCo+2iRMnmgULFjTa39+24a233mrGjRvX8Pzrr782kZGRpqqqqqGtb9++5vXXX290+dGjR5spU6Y0PJ87d645++yzjdvtbpH6OIV0Co2lygULFngcbk9MTFSXLl2UmZl5XN+VK1eqqKjIo3+/fv20aNGi1in4NAwdOtTj+XfffaeEhAQlJCQ02v/zzz/Xf/7zH6Wlpempp55STU2NN8o8I263WzNmzNC1116rG264Qdu2bTtp/2O38fnnn6+KigotX768lSs9PTfddJOSkpIanmdkZEiSIiIiGu3vD9uwOftOc/ZJX9GzZ09dccUVDc+Tk5PVu3fvRrdZaWmpXnnlFf3whz/UuHHjtG/fPm+WekamT5+u3//+9xoyZIg++OCDE/Y7dhvabDb17dtXCxcu9EaZp+Wiiy5SVFSUR9vHH3+sq6666ri+/rgNj/3+W7BggXr06OHxb7Rfv36NbqPKykp99NFHx+2/O3bsUFZWVovUR4A5DVlZWR5fFpKUkJCg7du3N9rXbrd7hIGEhAQ5HA6fPb87d+5cXXfddSd8PSkpSa+//royMjL0hz/8QZdccokqKiq8WGHzVVZWaurUqXr88ce1Zs0aDRgwQB9//HGjfcvLy7Vr1y6PbRwaGqo2bdo0uo19QXh4uMfzgoICnXfeeerVq1ej/f1hGzZn32nOPukrjt1mklRcXHzcKWup/vTnX//6V917771atGiR+vXrp02bNnmjzDM2ZswYTZ8+XdXV1Ro1apSmTZvWaD9/3IbHWrt27QlDqD9vwyOas4127Nihqqoqj/5H9uWW2qZBOQbm0Ucf1YYNG074+sMPP9zoh8gRTqdTiYmJHm0RERGNfgE4nU7Fx8d7XEnwyD/uioqKEx7laEnNXd/58+fr3XffPWH/9PR0paen64477tD999+v4cOHa+rUqZo6dWqL1t0cTVnHG2+8UZL0+OOP65prrtHdd9+tHTt2KCQkxKPvkfPXTd3G3tDcbfjmm2+ecKCk5Jvb8FjN2Xeas0/6qs8++0zXX399o5dNb9++vX7605/qpz/9qR577DFdccUVmjBhglauXGlBpc0zcuRIjRw5UhMnTtRTTz2l3/zmN7ruuuuOC9cn2oa++odeY+bNm6frr7++0df8eRse0dzvPsnzc/To/bclBGWAeeGFF85o+cTExONmOFRWVjYaRk7UV5JXwovUvPUtKCiQVD+4rCkuvPBCTZkyRW+//balX37NWcfo6Gi98cYb6t69u7Zv36709HSP14/scE3dxt7QnPXbtWuXqqurNXLkyCb195VteKzm7DvN2Sd9UW1trd5++2299NJLp+x75OjZgAEDVF5e3jB41NfZbDY9++yzyszM1LJly44LMP6+DSXpgw8+aNJAf3/dhomJiSorK/NoO9l3n+T5OdrS332cQjoNaWlpKiws9GhzOBzq2bNno33Ly8tVVVXl0TclJUXR0dGtXmtzzZ8/X9dcc02zlrniiiv8Ysrq0Tp27KjevXs3WndkZKQ6d+7ssY0rKytVVlbW6Db2JZWVlXrllVc0ZcqUZi3ni9uwOftOc/ZJX/TCCy/ol7/85QnHLB2rf//+SkhI8MmxSydjs9k0bNiwRv+t+fs23LZtm1JSUtSmTZsm9ffHbdicbdStWzeFhYV59Hc4HJLUYtuUAHMaxowZ43H9kKKiIhUVFWnEiBHH9c3IyFBSUpJH/6ysLI0aNcortTbXyQ6Bnsju3btPesrNF7lcLoWHh+v8889v9PVjt/GWLVsUFxenwYMHe6vEZnO5XPrDH/6gyZMnNwy+Ky8vb9KyvrgNm7PvNGef9DWzZs3Sj370I3Xt2lVS/V+sLpfrpMuUlJSoT58+fnV04oh9+/bpRz/60XHtx25Dt9utrVu3+uxn5bFONXbwWP64DceMGaONGzd6BNAT7ZPR0dEaOXLkcftvz549W+4SIi0ylymApaSkmL///e8ebQcPHjTdunUzBQUFxhhjXnrpJfOLX/yi4fXnnnvOTJw4seH51KlTzcMPP2yMMaasrMz06tXLJ6d3FhcXm4suuui49i1btpgBAwaYoqIiY4wxTz31VMM0wby8PHPTTTcdN5XQ1yxdutQ8/fTTpqyszNTW1prHH3/cYwrrseuYnZ1tunfvbiorK40xxjz88MPm+eeft6T2pqirqzN33323mT17tlm8eLFZvHixef31182TTz5pjPHfbXiifaewsNAMGDDAbN261Rhz6n3SV/35z382Tz75ZMM2mzNnjhk7dqyprq42l156acMU8rfeesvMmDHD1NTUmPLycnP33XebzZs3W1z9qe3cudM88MADZufOncYYY9555x3zu9/9zhhjTG1trcc61tTUmN69ezdM/X///ffNqFGjrCn8NFxyySWmsLCw4fmx6+eP23Ds2LHm9ttv92gbPny4ef/9940xxqxbt87069fP1NXVGWOMWbZsmbnssssann/++edmwIABDdOmr732WvPee++1WH0EmBM4dOiQefnll01ISIi56qqrzIoVKzxeX7Nmjbn55pvNpEmTzKOPPmpqamoaXps0aZK5/vrrG57X1dWZxx57zDz00ENm3Lhxx72Xr3jzzTfNM888c1z7mjVrTLt27czevXuNMfXXSImKijK9e/c2Dz30kCkpKfF2qc22dOlS06lTJ5OUlGRGjx5tvvrqK4/Xj11HY4xZvHixue2228yDDz5onn32WW+X3Cx33HGHkXTcz5w5c4wx/rsNT7Tv7N2717Rr186sWbOmoe/J9klf9Pe//73Rbfbggw+aqqoqk5KSYubNm2eMMeZf//qXSUxMNF26dDE33nijyc7Otrb4Jtq7d685//zzTUxMjBkyZIh58803G147dh2NMSY3N9fcfPPN5vHHHzf33Xefz/67PNbu3bvNlVde6dHm79vwnXfeMd26dTOpqanmP//5T0O7w+EwY8eONY8//ri56667PD4z582bZ1JSUjyuE/PPf/7T3HnnnWbChAnmb3/7W4vWaDPGx6+PDgAAcAzGwAAAAL9DgAEAAH6HAAMAAPwOAQYAAPgdAgwAAPA7BBgAAOB3CDAAAMDvEGAAAIDfIcAAAAC/Q4ABAAB+hwADAAD8DgEGAAD4HQIMAADwOwQYAH7po48+UocOHTR27Fi53W69++67KigosLosAF5CgAHgd+rq6jR//nx9+OGHGjlypB5++GF16NBBHTt2tLo0AF5iM8YYq4sAgOaqq6tTaGiocnNzdejQIQ0YMMDqkgB4EQEGgN/auHGjIiMjde6551pdCgAv4xQSAL+0atUqJSYmNoSXzMxMiysC4E2hVhcAAM313nvvafXq1erRo4cuvfRSZWZmqkOHDlaXBcCLOAIDwK9kZ2crMjJS06dPV15engYNGqTS0lLdeeedVpcGwIsYAwMAAPwOR2AAAIDfIcAAAAC/Q4ABAAB+hwADAAD8DgEGAAD4HQIMAADwOwQYAADgdwgwAADA7xBgAACA3yHAAAAAv/P/AdFJuIb/p3oNAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "z = np.linspace(-10, 10, 100)\n", "plt.plot(z, expit(z))\n", "plt.axhline(.5, color='k', ls='--')\n", "\n", "plt.ylabel(r'$g(z)$')\n", "plt.xlabel(r'$z$');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In other words, when the argument of the sigmoid $z=0$. So $h_\\theta(x) = g(\\theta^Tx)\\geq0.5$ when $\\theta^Tx \\geq 0$, which definte our *decision boundary*.\n", "\n", "Now let's consider\n", "$$\n", "h_\\theta(x) = g(\\theta_0 + \\theta_1 x_1 + \\theta_2 x_2)\n", "$$\n", "\n", "This defines our decision boundary, and we predict $y=1$ if\n", "$$\n", "\\theta_0 + \\theta_1 x_1 + \\theta_2 x_2 \\geq 0 $$\n", "and\n", "$$\n", "\\theta_1 x_1 + \\theta_2 x_2 \\geq -\\theta_0\n", "$$\n", "\n", "So if, say $\\theta_0 = -5$, $\\theta_1 = 1$, and $\\theta_2 = 1$, then we have\n", "$$\n", "x_1 + x_2 \\geq 5\n", "$$\n", "\n", "So we have a line in $x_1$—$x_2$ space that divides the $y=0$ and $y=1$ regions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Cost function\n", "\n", "The logistic regression cost function, also known as the log loss or cross-entropy loss, is a measure of the error between the predicted probabilities and true class labels. The cost function is a representation of the model's error, and the goal is to minimize it to optimize the model's parameters. \n", "\n", "If we try to use the sigmoid function with our mean squared error cost function, $J(\\theta)$ will have lots of local maxima and make minimization very difficult. First lets modify our notation a bit for cost functions to be more flexible going forward.\n", "\n", "Our mean squared error cost function\n", "$$\n", "J(\\theta) = \\frac{1}{m}\\sum_{i=1}^m \\frac{1}{2} (h_\\theta(x^{(i)}) - y^{(i)})^2\n", "$$\n", "\n", "We'll define the term being summed as $\\mathrm{Cost}$, and in general this term will be a function of $h_\\theta(x^{(i)})$ and $y^{(i)}$ (we'll drop the superscripts for brevity). So for the case of the mean squared error:\n", "$$\n", "\\mathrm{Cost}(h_\\theta(x), y) = (h_\\theta(x) - y)^2\n", "$$\n", "\n", "Now let's consider the following cost function:\n", "$$\n", "\\mathrm{Cost}(h_\\theta(x), y) = \\begin{cases} \n", " -\\log(h_\\theta(x)) ~~~~ & \\mathrm{if~} y=1 \\\\\n", " -\\log(1 - h_\\theta(x)) ~~~~ & \\mathrm{if~} y=0 \\\\\n", " \\end{cases}\n", "$$" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def cost(h, y):\n", " if y == 1:\n", " return -np.log(h)\n", " else:\n", " return -np.log(1 - h)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiAAAAG8CAYAAADnxR65AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAAxOAAAMTgF/d4wjAABOxUlEQVR4nO3deXhU5cH+8e9k3/eEkExIIGxh30RRBEQFFGsV11ZbtVqXVtGqP+taRV/lVSu2YqVvtWjVqmgFK7iiIgoqO4gQdhISEkL2fZ/z++OEYAQlgeScmcn9ua65JplMOHdOLbl5zvM8x2EYhoGIiIiIhXzsDiAiIiLdjwqIiIiIWE4FRERERCynAiIiIiKWUwERERERy/nZHeBYXC4XeXl5hIeH43A47I4jIiIi7WAYBpWVlSQlJeHjc+R4h9sXkLy8PFJSUuyOISIiIschJycHp9N5xOtuX0DCw8MB8weIiIiwOY2IiIi0R0VFBSkpKa2/x3/I7QvIocsuERERKiAiIiIe5semT2gSqoiIiFhOBUREREQspwIiIiIillMBEREREcupgIiIiIjl3H4VjIiIeCeXy4VhGHbHkOPgcDiOurlYR9hWQC644AL++9//tnktJiaG4uJimxKJiIhVXC4Xu3fvpqmpye4ochz8/PxIT08/oRJiSwEpLCykqKiIZ599ltDQUAA2btxIeXm5HXFERMRihmHQ1NRE3759T/hf0mItl8vFrl27Tnj0ypYCsnfvXpYuXUpwcHDra7fddhszZsywI46IiNjEx8cHX19fu2OIDWypnWPHjm1TPgA+/fRTpkyZYkccERERsZhbjHutW7eOQYMGERgY+KPvycjIwOl04nQ6mTNnjoXpREREpLO5xSqYRYsWHfPyS2Zmpu4FIyIi4iXcYgTk/fffZ/r06XbHEBEREYvYXkC2b9+O0+kkLCzM8mNr/bmIiIg9bC8gCxcu5MILL7T8uG+vy+XKf66y/LgiIiLiBnNAFi9ezOLFiy0/boCfD7UNzZYfV0RERGweAcnNzSU0NJTY2FjLjx3s70tto8vy44qIiIjNBcTpdLJ06VJbjh0c4Et9o0ZARERE7GD7HBC7BPn7UKsCIiIiYotuXEB8VUBERKRbKi4u5oEHHuD666+3LYPtk1DtEuzvS50KiIiIdCMbNmxg7ty5REVF8fLLL3PeeefZlqXbFpAgf1/qGl24XAY+Pg6744iIiHS5kSNHMn/+fMDcBsNO3baABPubd1+sb3IRHKA7MYqIeALDMKiqb7L0mGGBfjgc+odqZ+u2BSSopYDUNTargIiIeIiq+iaGPvSxpcfc/NAUwoP8O/XP/Oyzz/jyyy9Zvnw5jz32GKeccgoABw8eZOzYsXz66aekp6d36jHdTbctIIF+5vzb2sZmom3OIiIi7RMW6Mfmh6ZYfszOVFJSwvLly5k1axbTpk3j9ddfby0gH3/8MXl5eSQkJHTqMd1Rty0gPj4Ogvx9NBFVRMSDOByOTh+NsNoHH3zAb37zG4qLi1m2bFmblSifffYZ48aNIzw8vM33XHfddeTm5rb7GHfddReTJ0/utMxdodsWENBSXBERsd4VV1wBwLPPPktsbCznn39+69eWLVvGddddd8T3vPDCC5bls0q33QcEtBRXRETss2DBAi6//HL8/MyxgKysLLKyspg6darNyazR7UdA6nQ/GBERscGmTZu4/fbbWz9ftmwZsbGxjBo16oj36hKMlwny99UdcUVExBZhYWGty3tramr429/+xtlnn42Pz5EXJ7riEozL5cLlsu8f4d26gATrfjAiImKTV155hWeffZbMzEwqKirYvHkzM2fO7NJjZmVlce+997J7925ycnJYsGABBw4coFevXpbPM+nWBSRIc0BERMQGs2bNIi0tjUWLFgHw73//m/j4eC6++OIuPW5aWhqvvfZalx6jvTQJVQVEREQsVFRUxMMPP8y+ffsAyMnJ4dFHH+Wtt94iJCTE5nTW6d4jIAGahCoiItaKi4vj8ccfp7GxkUceeYSioiKWLFlCnz597I5mqe5dQPy0D4iIiFjvzjvvtDuC7br3JZgATUIVERGxQ7cuIEF+mgMiIiJih25dQIIDVEBERETs0K0LiDYiExERsUe3LyBaBSMiImK9bl1AgnU3XBEREVt07wIS4KM5ICIiIjbo1gVEq2BERETs0b0LSIAuwYiIiNihexcQP01CFRERsUO3LiDBGgERERGxRfcuIP6+1GkfEBEREct175vR+ftQ16QCIiIi3cfnn3/OvHnzGDx4MNnZ2SQmJjJr1iz8/KytBN26gAT7+9LYbNDU7MLPt1sPBomISDewbt06zjvvPDZv3kzv3r0xDINzzjmHP/zhD8ydO9fSLN36t26gvy8AdU2a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1q1b23yvr68v+fn5xMfH25Tes3Tkv+vvS0tL46GHHtJOqB3QkXO9evVqHn74YcaOHUtubi4PPPCAdkHtgI6c6yVLlrBgwQKGDRtGfn4+Z511Fueee67NP4HnWbBgAXfddRc+Pj488cQTXHLJJdTX19O3b1/mzp3LBRdcAMCePXu47777SElJoaKigieffJLw8PATPr5XFxARERFxT147B0RERETclwqIiIiIWE4FRERERCynAiIiIiKWUwERERERy6mAiIiIiOVUQERERMRyKiAiIiJiORUQERERsZwKiIiIiFhOBURETkhRURFbt24lPz//uP+Mzz//nMrKymO+r6qqivvvv5+mpqbjPpaIuAcVEBE5IXPnzmXs2LF89tlnx/X9K1asYOvWre26uVVYWBiXXHIJ999//3EdS0TchwqIiJyQe++9l+bmZsaPH9/h762trWXu3Ln87ne/a/f3DB8+nNLSUtasWdPh44mI+1ABEZETsmrVKuLj40lNTe3w9z799NP84he/6PD33XrrrcyePbvD3yci7sPP7gAi4tmWL19+XKMfAK+//jobNmzo8PcNGjSIjRs3UlVVRVhY2HEdW0TspQIiIidk+fLlDBw4kL/85S/4+fmxdOlS/v3vfx+zGGRmZhITE4OfX9u/hioqKvj73/9OQEAAW7du5YILLmDHjh0sX76c119/naCgIABGjBjBmjVrOOOMM7rsZxORrqNLMCJy3BobG/n666+Ji4vjtttu4+abbyY/P59PP/209T0LFixg4cKFPP/8822+d+PGjfTv3/+IP3Pu3Lnceuut3Hbbbaxfv57169czadIkli1b1malTEJCAtu2beu6H05EupQKiIgctzVr1hAeHs4DDzzQ+lpOTg6RkZEALFy4kNDQUGbMmMGCBQvafG9BQQFRUVFtXmtububMM88kMDCQ5uZmdu7cyeWXX86IESMoKSkhPj6+9b0xMTGUlpZ23Q8nIl1KBUREjtvy5cuZOHEivr6+AKxfv57a2lrGjRuHy+Vi7ty5nHvuudTU1LBjx44231tfX09AQECb13x9fTnllFMAWLduHREREfTt2xcAHx+fI74/JCSkq340EeliKiAictyWL1/OpEmTWj9/8803ufjiiwkMDOTxxx8nODiYl19+mYceegin09nmexMSEigpKTniz3S5XAAsW7aMCRMmtL6+cuXKNu8rKSkhISGhE38aEbGSCoiIHJempiZWrlzJxIkTW1/76KOPuOiii1i+fDkrVqzg2muv5eqrryYwMLBNmQDo3bs3BQUFbV5788036dOnDwBLlixpHf3Yvn07ubm5bd67Z88ehg8f3hU/mohYQAVERI5Lbm4uaWlpDBo0qPW1888/n5UrV7Jnzx6Sk5Pp168fYJaJK6+8ss33jxs3js2bN7d5LSUlhZNPPpknnniC2bNns3PnTubNm8fnn3/OZZdd1vq++vp6CgoKGDx4cBf+hCLSlbQMV0SOS1pa2hEFYtasWa0fb9++nZCQENasWcOwYcMYMmRIm/cGBgYyfPhwtm7d2lpixo0bx7hx41rf82P7i3zwwQdcccUVnfWjiIgNHIZhGHaHEBHvk5mZyZIlS6irq+O222476r1evvvuO/72t78xb968Dv3Z559/Pq+//jqhoaGdFVdELKYREBHpEhkZGWRkZPzke4YMGUJ8fDybNm1q93yOZ555hhtuuEHlQ8TDaQ6IiNhq1qxZvP/++202GfsxVVVV9OvXj+nTp1uQTES6ki7BiIiIiOU0AiIiIiKWUwERERERy6mAiIiIiOVUQERERMRyKiAiIiJiORUQERERsZwKiIiIiFhOBUREREQs9/8BBTuZ3o2ZiIYAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "hs = np.linspace(0.001, 1, 100, endpoint=False)\n", "\n", "plt.plot(hs, cost(hs, 1), label='$y=1$')\n", "plt.plot(hs, cost(hs, 0), label='$y=0$')\n", "\n", "plt.ylabel(\"Cost\")\n", "plt.xlabel(r\"$h_\\theta(x)$\")\n", "plt.legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This can be simplified to:\n", "$$\n", "\\mathrm{Cost}(h_\\theta(x), y) = -y \\log(h_\\theta(x)) - (1 - y)\\log(1 - h_\\theta(x))\n", "$$\n", "\n", "So our new $J(\\theta)$ takes the form\n", "$$\n", "J(\\theta) = -\\frac{1}{m}\\left[\\sum_{i=1}^m y^{(i)}\\log h_\\theta(x^{(i)}) + (1 - y^{(i)})\\log (1 - h_\\theta(x^{(i)})\\right]\n", "$$\n", "\n", "As usual, we are looking to find the fit parameters $\\hat{\\theta}$ that minimize $J(\\theta)$, and use our hypothesis\n", "$$\n", "h_{\\hat{\\theta}}(x) = \\frac{1}{1 + e^{-\\theta^Tx}},\n", "$$\n", "to predict results for new $x$. Which, again, is interpretted as the probability that $y=1$, $p(y=1|x;\\hat{\\theta})$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As 𝑥 approaches zero, the natural logarithm of 𝑥 drops towards negative infinity. When 𝑥 = 1, log(𝑥) is 0. The opposite is true for log(1 − 𝑥).\n", "\n", "When you’re implementing the logistic regression of some dependent variable 𝑦 on the set of independent variables 𝐱 = (𝑥₁, …, 𝑥ᵣ), where 𝑟 is the number of predictors ( or inputs), you start with the known values of the predictors 𝐱ᵢ and the corresponding actual response (or output) 𝑦ᵢ for each observation 𝑖 = 1, …, 𝑛.\n", "\n", "Your goal is to find the logistic regression function 𝑝(𝐱) such that the predicted responses 𝑝(𝐱ᵢ) are as close as possible to the actual response 𝑦ᵢ for each observation 𝑖 = 1, …, 𝑛. Remember that the actual response can be only 0 or 1 in binary classification problems! This means that each 𝑝(𝐱ᵢ) should be close to either 0 or 1. That’s why it’s convenient to use the sigmoid function.\n", "\n", "Once you have the logistic regression function 𝑝(𝐱), you can use it to predict the outputs for new and unseen inputs, assuming that the underlying mathematical dependence is unchanged.\n", "\n", "Logistic regression is a linear classifier, so you’ll use a linear function 𝑓(𝐱) = 𝑏₀ + 𝑏₁𝑥₁ + ⋯ + 𝑏ᵣ𝑥ᵣ, also called the logit. The variables 𝑏₀, 𝑏₁, …, 𝑏ᵣ are the estimators of the regression coefficients, which are also called the predicted weights or just coefficients.\n", "\n", "The logistic regression function 𝑝(𝐱) is the sigmoid function of 𝑓(𝐱): 𝑝(𝐱) = 1 / (1 + exp(−𝑓(𝐱)). As such, it’s often close to either 0 or 1. The function 𝑝(𝐱) is often interpreted as the predicted probability that the output for a given 𝐱 is equal to 1. Therefore, 1 − 𝑝(𝑥) is the probability that the output is 0.\n", "\n", "Logistic regression determines the best predicted weights 𝑏₀, 𝑏₁, …, 𝑏ᵣ such that the function 𝑝(𝐱) is as close as possible to all actual responses 𝑦ᵢ, 𝑖 = 1, …, 𝑛, where 𝑛 is the number of observations. The process of calculating the best weights using available observations is called model training or fitting.\n", "\n", "To get the best weights, you usually maximize the log-likelihood function (LLF) for all observations 𝑖 = 1, …, 𝑛. This method is called the maximum likelihood estimation and is represented by the equation LLF = Σᵢ(𝑦ᵢ log(𝑝(𝐱ᵢ)) + (1 − 𝑦ᵢ) log(1 − 𝑝(𝐱ᵢ))).\n", "\n", "When 𝑦ᵢ = 0, the LLF for the corresponding observation is equal to log(1 − 𝑝(𝐱ᵢ)). If 𝑝(𝐱ᵢ) is close to 𝑦ᵢ = 0, then log(1 − 𝑝(𝐱ᵢ)) is close to 0. This is the result you want. If 𝑝(𝐱ᵢ) is far from 0, then log(1 − 𝑝(𝐱ᵢ)) drops significantly. You don’t want that result because your goal is to obtain the maximum LLF. Similarly, when 𝑦ᵢ = 1, the LLF for that observation is 𝑦ᵢ log(𝑝(𝐱ᵢ)). If 𝑝(𝐱ᵢ) is close to 𝑦ᵢ = 1, then log(𝑝(𝐱ᵢ)) is close to 0. If 𝑝(𝐱ᵢ) is far from 1, then log(𝑝(𝐱ᵢ)) is a large negative number.\n", "\n", "There are several mathematical approaches that will calculate the best weights that correspond to the maximum LLF. For now, you can leave these details to the logistic regression Python libraries you’ll learn to use here!\n", "\n", "Once you determine the best weights that define the function 𝑝(𝐱), you can get the predicted outputs 𝑝(𝐱ᵢ) for any given input 𝐱ᵢ. For each observation 𝑖 = 1, …, 𝑛, the predicted output is 1 if 𝑝(𝐱ᵢ) > 0.5 and 0 otherwise. The threshold doesn’t have to be 0.5, but it usually is. You might define a lower or higher value if that’s more convenient for your situation.\n", "\n", "There’s one more important relationship between 𝑝(𝐱) and 𝑓(𝐱), which is that log(𝑝(𝐱) / (1 − 𝑝(𝐱))) = 𝑓(𝐱). This equality explains why 𝑓(𝐱) is the logit. It implies that 𝑝(𝐱) = 0.5 when 𝑓(𝐱) = 0 and that the predicted output is 1 if 𝑓(𝐱) > 0 and 0 otherwise." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The most straightforward indicator of classification accuracy is the ratio of the number of correct predictions to the total number of predictions (or observations). Other indicators of binary classifiers include the following:\n", "\n", "- The positive predictive value is the ratio of the number of true positives to the sum of the numbers of true and false positives.\n", "- The negative predictive value is the ratio of the number of true negatives to the sum of the numbers of true and false negatives.\n", "- The sensitivity (also known as recall or true positive rate) is the ratio of the number of true positives to the number of actual positives.\n", "- The specificity (or true negative rate) is the ratio of the number of true negatives to the number of actual negatives.\n", "\n", "The most suitable indicator depends on the problem of interest. \n", "\n", "Single-variate logistic regression is the most straightforward case of logistic regression. There is only one independent variable (or feature), which is 𝐱 = 𝑥. \n", "\n", "Consider the following simple example:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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19x/+PDhrFmzJjfffHOZKQGAUWNEcdHW1pb6+vo0NjYOrTU2Nqa9vT2dnZ1H7b/tttvymc98Jm9729tGNMScOXNSqVRSqVSydu3aEY4OANSiEV1z0dXVlWnTpqW+/qctMnHixCRJT0/PsOh49tln09/fnwULFox4iO3bt2fKlCkj3g8A1K4RxUVTU1P6+vqGrR08eDBJhoVFf39/7rjjjqxfv77giADAaDKit0Wam5vT3d2d3t7eobX29vZUKpU0NDQMrX3729/O3//932fixImpq6tLXV1ddu/enY9//ONZuHBh8eEBgNozolcuFi5cmOnTp2fbtm258MILk7x6HcbixYuH7Xvve9971I+eXn755bnuuuvy0Y9+tNDIAEAtG1FcjB8/PsuXL8/GjRtz4YUXpru7O1u2bMmjjz6ajo6OLFq0KF/5yldy3nnnpaWlZdj3TpgwIeecc05mz559IuYHAGrMiD+hc8WKFTnttNNy44035vrrr8/69esza9as9PX1ZdeuXXn55ZdP5JwAwChRNzg4OFitOz9w4ECmTp2arq4uPy0CAKPEsZ6//eIyAKAocQEAFCUuAICixAUAUJS4AACKEhcAQFHiAgAoSlwAAEWJCwCgKHEBABQlLgCAosQFAFCUuAAAihIXAEBR4gIAKEpcAABFiQsAoChxAQAUJS4AgKLEBQBQlLgAAIoSFwBAUeICAChKXAAARYkLAKAocQEAFCUuAICixAUAUJS4AACKEhcAQFHiAgAoSlwAAEWJCwCgKHEBABQlLgCAosQFAFCUuAAAihIXAEBR4gIAKEpcAABFiQsAoChxAQAUJS4AgKLEBQBQlLgAAIoSFwBAUeICAChKXAAARYkLAKAocQEAFCUuAICixAUAUJS4AACKEhcAQFHiAgAoSlwAAEWJCwCgKHEBABR1XHGxZs2aLFu2LFdffXUef/zx19131113ZebMmXn729+e3/u930tPT89bHhQAGB1OG+nGdevWZceOHdmwYUN6e3vT0tKSTZs2pbm5edi+1tbWPPbYY/nyl7+cZ599NrfffnsGBgbyN3/zN8WHBwBqz4jior+/P6tWrcpDDz2UJJk0aVIWLVqU1atXZ8OGDcP27ty5M4888kjq6+vzkY98JEeOHMl9990nLgDgFDGit0W2bt2ajo6OzJ07d2ht3rx5aW1tPWrvdddd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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.arange(10).reshape(-1, 1)\n", "y = np.array([0, 0, 0, 0, 1, 1, 1, 1, 1, 1])\n", "plt.scatter(x,y);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here, you have a given set of input-output (or 𝑥-𝑦) pairs, represented by blue circles. These are your observations. Remember that 𝑦 can only be 0 or 1. For example, the leftmost blue circle has the input 𝑥 = 0 and the actual output 𝑦 = 0. The rightmost observation has 𝑥 = 9 and 𝑦 = 1.\n", "\n", "Logistic regression finds the weights 𝑏₀ and 𝑏₁ that correspond to the maximum LLF. These weights define the logit 𝑓(𝑥) = 𝑏₀ + 𝑏₁𝑥. They also define the predicted probability 𝑝(𝑥) = 1 / (1 + exp(−𝑓(𝑥))).\n", "\n", "Let's calculate these values. A Python package you’ll use is scikit-learn. This is one of the most popular data science and machine learning libraries. You can use scikit-learn to perform various functions:\n", "\n", "- Preprocess data\n", "- Reduce the dimensionality of problems\n", " - Validate models\n", "- Select the most appropriate model\n", "- Solve regression and classification problems\n", "- Implement cluster analysis\n", "\n", "This is the most straightforward kind of classification problem. There are several general steps you’ll take when you’re preparing your classification models:\n", "\n", "- Import packages, functions, and classes\n", "- Get data to work with and, if appropriate, transform it\n", "- Create a classification model and train (or fit) it with your existing data\n", "- Evaluate your model to see if its performance is satisfactory\n", "\n", "A sufficiently good model that you define can be used to make further predictions related to new, unseen data. The above procedure is the same for classification and regression." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "from sklearn.linear_model import LogisticRegression\n", "from sklearn.metrics import classification_report, confusion_matrix\n", "\n", "x = np.arange(10).reshape(-1, 1)\n", "y = np.array([0, 0, 0, 0, 1, 1, 1, 1, 1, 1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The array x is required to be two-dimensional. It should have one column for each input, and the number of rows should be equal to the number of observations. To make x two-dimensional, you apply .reshape() with the arguments -1 to get as many rows as needed and 1 to get one column. x has two dimensions:\n", "\n", "- One column for a single input\n", "- Ten rows, each corresponding to one observation\n", "\n", "y is one-dimensional with ten items. Again, each item corresponds to one observation. It contains only zeros and ones since this is a binary classification problem.\n", "\n", "Once you have the input and output prepared, you can create and define your classification model. You’re going to represent it with an instance of the class LogisticRegression that binds its references to the variable model. LogisticRegression has several optional parameters that define the behavior of the model and approach, you can look them up, we will use a vanilla version here." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
LogisticRegression(random_state=0, solver='liblinear')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "LogisticRegression(random_state=0, solver='liblinear')" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model = LogisticRegression(solver='liblinear', random_state=0)\n", "model.fit(x, y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "solver is a string ('liblinear' by default) that decides what solver to use for fitting the model. Other options are 'newton-cg', 'lbfgs', 'sag', and 'saga'.\n", "\n", "random_state is an integer, an instance of numpy.RandomState, or None (default) that defines what pseudo-random number generator to use.\n", "\n", "Once the model is created, you need to fit (or train) it. Model fitting is the process of determining the coefficients 𝑏₀, 𝑏₁, …, 𝑏ᵣ that correspond to the best value of the cost function. You fit the model with .fit()\n", "\n", ".fit() takes x, y, and possibly observation-related weights. Then it fits the model and returns the model instance itself\n", "\n", "You can quickly get the attributes of your model. For example, the attribute .classes_ represents the array of distinct values that y takes:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 1])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.classes_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is the example of binary classification, and y can be 0 or 1, as indicated above.\n", "\n", "You can also get the value of the slope 𝑏₁ and the intercept 𝑏₀ of the linear function 𝑓 like so:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[-1.04608067]\n", "[[0.51491375]]\n" ] } ], "source": [ "print(model.intercept_)\n", "print(model.coef_)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, 𝑏₀ is given inside a one-dimensional array, while 𝑏₁ is inside a two-dimensional array. You use the attributes .intercept_ and .coef_ to get these results.\n", "\n", "Once a model is defined, you can check its performance with .predict_proba(), which returns the matrix of probabilities that the predicted output is equal to zero or one. You can get the actual predictions, based on the probability matrix and the values of 𝑝(𝑥), with .predict().\n", "\n", "Let's put this all together." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhcAAAGkCAYAAACCbwcOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAAxOAAAMTgF/d4wjAABlQUlEQVR4nO3deVxUVf8H8M8MOwIDCAoIgoALuIC54YJiLqRYpqZZltqjFm6pLWq/fNQyHy1LW0xbzLRNy1xyXwotFTX3DRcEURFB1hnWgWHO7w9iagIEZODOwOf9evkyDnfu/dyR5n4595xzZUIIASIiIiIDkUsdgIiIiOoXFhdERERkUCwuiIiIyKBYXBAREZFBsbggIiIig2JxQURERAZlLuXBtVotkpKSYG9vD5lMJmUUIiIiqiIhBLKzs+Hh4QG5vGw/haTFRVJSEry8vKSMQERERA/pzp078PT0LNMuaXFhb28PoCScg4ODlFGIiIioilQqFby8vHTX8X+TtLgovRXi4ODA4oKIiMjEVDSkgQM6iYiIyKBYXBAREZFBsbggIiIig2JxQURERAbF4oKIiIgMisUFERERGRSLCyIiIjIoFhdERERkUCwuiIiIyKBYXBAREZFBsbggIiIig2JxQURERAbF4oKIiIgMisUFUX1z5EMgLVbqFETUgLG4IKpPCvOAg/8DUP5jkImI6gKLC6L65HY0YNcUaOwndRIiasBYXBDVJ3EHAb++gIw9F0QkHRYXRPVJXBTg96jUKYiogWNxQVRfqO4BqVeBFr2lTkJEDRyLC6L6Iv4g4PEIYOssdRIiauBYXBDVF7wlQkRGgsUFUX2g1f41mJPFBRFJj8UFUX2QchHQqAHPzlInISJicUFUL8RFAb59ADMLqZMQEbG4IKoX4qJK1rcgIjICLC6ITF1hLnD7OMdbEJHRYHFBZOpuRQMOHoCzr9RJiIgAsLggMn2cgkpERobFBZGpY3FBREaGxQWRKVPeBdJiAZ9QqZMQEemwuCAyZXFRJWtb2DhKnYSISIfFBZEp4y0RIjJCLC6ITJW2uORhZSwuiMjIsLggMlX3zpc8U8TjEamTEBHpYXFBZKriogDf3oCZudRJiIj0sLggMlV8CioRGSkWF0SmSJ0N3DnB4oKIjBKLCyJTlHAUcPQCnHykTkJEVAaLCyJTxCmoRGTEqlVcpKWl4fXXX8eUKVMeuN39+/fx/PPP4+WXX8Z//vMfZGZm1igkUZ0oUFWvXQqlWf5dXBhjxqq2S4EZDYMZqQJVLi6Kiopw5MgR/PLLL8jLy6twO61WiyFDhmDSpEn4+OOPMXz4cDzzzDMGCUtUawpUwMrOwNVd+u1Xd5W0G8MHUWnG0+uAzJt/L/ltjBlN4X1kxpphRnqAKs9hs7CwwJNPPolNmzY9cLutW7ciNTUVvXv3BgBERETgueeewx9//KFrIzI61g7AkBXA5onAiDVAm4iSD6DSr60dpE6oyyg2jUeGtRemfxuDMYqLGBw7HzJjy7h5Ina3fBvfK9szIzMyYwNU7QnyFhYWD/z+9u3b0a5dO93XMpkMHTp0wI4dO1hckHFrE1FSSGyeCLQdDlze8nehYSzaROBeozZwUV7Gk6r/oa/ZcexptxiDjSzj7pZvo+/lN5FbHMKMD4sZDcMUMtZDBh/QGRMTAxcXF702JycnXL9+vcLXBAQEwNPTE56enli+fLmhIxFVXZuIksLi3HclfxvbB5C2GA7Z8fijuANGmf+OncUh+C6rvdSpyvhe2R47i0OYsYaY0TBMIWN9Y/Cl/ZRKJZydnfXarKysHjio88qVK3BwYPcUGYGru0p6LIKfK/m7zWDjKjCSzsFSVoweZpfxk6YPhpgdh53jRQAhUifTM0ZxEX3NjjNjDTGjYZhCxvrG4MWFs7Mz1Gq1Xlt+fj6cnJwMfSgiw/rnGIs2ESWFxT+/NgYnVsNCFOLXdu9iW1Z72DlexKDr84GrHsaT8eouDI6djz3tFjNjTTCjYZhCxnrI4MWFn58f0tLS9NpSU1MxYMAAQx+KyHAKVMDOWfqFROkYjJ2zSmZmSD34q0AFXN4GWef/YHDEJAwGAISUfEgaU8adsyAbsQaD20QwIzMyYwMlE0KI6rxg/PjxAIB169aV+/2tW7fitddeQ1xcHICSqanOzs7Yu3cvQkL0u6FUKhUUCgWUSiVvi5D0ClTlf9BU1F7XClTAey2Al88Cjs3Lfs8YMgLG/z4CzGgozFipQo0WyvwiKPOLoCoogkr33xqo/mrLLtAg+6+vp4T5oZtv41rPVVOVXb+r3XNRXFwMmUym+1qj0aBv375455130KdPHwwZMgTz5s3D+fPnERQUhB07dqBXr15lCgsio1PRB42xfEgmHAacWpQtLADjyQgY//sIMKOhNKCMxVqBrLxCZOYVITOvEBm5hXpfK/OKkJVXhKz8QmTllRQQWXlFyC8qLjmchRwO1hZQ2FjAwcYCDtbmf/1tAUcbCzR3toW9tTk8HG1qesZGoVrFxY8//og//vgDcrkcmzZtwsiRI1FcXIyEhATdgE0LCwvs2LEDb775Jry8vKBSqbBhw4ZaCU/UoHDJbyKDEUJAmV+EtBw1UrMLkZ6rRnpOIdJz1EjPLUR6TkkBkZ6rLikk8osgBGBjYQYnWws4NbKEk60lHG0t4GRrCVd7K/g3sdO1KWz++mNbUkBYW5hJfcp1qtq3RQyJt0WIquHjjkD4EqD1Y1InITJammItUnPUSFGpcV9VgJRsNVJVBbifrUZqthqpOSV/p+WoUVQsYG0hh4udle5P40aWaGxnCedGlnCxs4JTI0s0bmQJp0aWcLa1hI1lwyoSKmLw2yJEJIGMm0DWHcCnl9RJiCRTUFSMZGUBkrLycU9ZgGRVAZKVBbinLECKquTrtJyS2YqNG1miib01mjhYoam9NVztrRDo4QBXOyu42pcUEq72VmhkxctgbeC7SmQK4g8CXt0AKzupkxDVCiEEVPka3MnMQ2JmPu5m5eNuZj7uZuUhKaukoEjPLYSlmRxuCmu4KazhobCGm8IGvfwbw01hjaYOJX9c7a1gYcaHfkuJxQWRKYiLAvz6Sp2CqEbUmmIkZubjdnoebmeU/Lnz1993M/ORrdbA0dYCzRxt4OlkAw9HG3TxcUYzx5L/9nC0QeNGlpDLZZUfjCTF4oLI2BVrgPg/gF6vSJ2EqFKFGi1uZ+TiZloeEtJycTM9F7fSc5GQlockZT4szORo7mwLb2dbeDnboptvYzzVyRNezrZo5mQDB+sHP7+KTAOLCyJjl3QGkJsB7kFSJyHSycgtxI37OYhLzUHc/RzEp+UiPjUHdzLzYS6XwadxI/i42MLHpREe7+AB77++bmpvzZ6HBoDFBZGxi4sCfMNKCgyiOpaeo8a1lGzEpuTg+l9/30jNQUZuIdwcrOHfxA6+ro3Qu6ULxvfwga9rI3gobFhANHAsLoiMXVwU0PF5qVNQPVdQVIzrKdm4ei8bV5OzcS1FhWvJ2UjLKUQzRxu0amqHVk3tMbKzJ1o2tYefayPY8xYGVYDFBZExy88CEk8BT30tdRKqRzJzC3E5SYVLSUrEJKlw5Z4K8Wm5aGRphgB3BwS4O2BIBw+8OtAerZraw47TNama+BNDZMwSDgMuLQFFM6mTkIlKz1Hj4l0lLt1V4kJiyd9JygJ4OdugrbsCgR4OeCLIAwEeDvBQWOs93oHoYbG4IDJmXPKbqiGvUINLd1U4fycL5xKzcP5OFhIz8+HT2BbtPR3R2ccJ43v6oK27Agpb3tKg2sPigsiYxUUBg9+XOgUZISEEbmfk4cztTJy5lYUztzNxNTkbzo0sEezliGAvRzzTpTnaN2MhQXWPxQWRscqIB1RJgHcPqZOQESgq1uJykgqnEjJwKiETp25lQplfiLYeCjzS3AmTw/zQsbkTb22QUWBxQWSs4qKA5iGAZSOpk5AECoqKce5OFv68mYE/b2bgzO1MWJjJ0dnbCZ18nPCfXi3QwVPR4J62SaaBxQWRsYo7yPEWDUihRotzd7JwLC4dx+PTcfp2JhQ2FujWwhnhbZviv0MC0bKJHdePIJPA4oLIGBUXAfG/A31mS52EaolWK3A1ORtHb6ThaFwaTsRnwNbSDCF+jRHRwR3vDGsHX5dGvMVBJonFBZExSjwFmFsBTdtLnYQMKDVbjcOxqTgcm4bDsanIKyxGiG9j9PJ3wdxBbdC6qT2LCaoXWFwQGaPSp6DK+dhoU1asFTh3JxMHr6bi4LX7uHJPhXbNFAht6YJPn30EHZs7wdKc/8ZU/7C4IDJGcVFAlwlSp6CHoMwrwqHr9/Hblfv4IzYVMgC9W7liUqgvQlu6oLGdldQRiWodiwsiY5OXUfIkVN/vpE5CVXQnIw/7Lifj1yspOJWQCf8mdugf0BRfjeuCYC9HmHEQJjUwLC6IjM3NPwDXNoCDu9RJqAJCCMTcU2H/5RTsu5yMuNQchPg2xuD27nh/ZBA8nWyljkgkKRYXRMaGS34bJSEELiQqsedSMvZcuofUbDX6tm6CyWF+CGvdBAobroJJVIrFBZExEaJkfYvHV0idhFBSUFy6q8LOC0nYeeEeVPlF6B/YFG8ODkDvVq5cwIqoAiwuiIxJehyQkwI055LfUopNycYv55Kw80IS0nIKMSCwKd4e2ha9WrrAypwFBVFlWFwQGZO4KMC7O2DJe/Z17Z4yH9vPJWHbuSTEp+agf2BTzB0UgLDW7KEgqi4WF0TGhOMt6lSuWoO9l5Kx+Uwi/ryZge5+jTGxVwuEt3ODnRU/HokeFv/vITIWmkIg4TDw6JtSJ6nXtFqB4zfT8fPpROy9lIzmzrYY8YgnPnw6GE0crKWOR1QvsLggMhaJJwELW6BpO6mT1EtJWfnYfDoRm04nIketwZPBzbApsjvaeiikjkZU77C4IDIWpbdE+GwJg9EUaxF19T5++PM2jt5IQy9/F7wxqA36BTTlsttEtYjFBZGxiIsCukVKnaJeuJuVj41/3sZPp+7ATCbD6K7NsWR4e7grbKSORtQgsLggMgZ5GcC9c4BvmNRJTJZWK3DkRhq+OXYLv1+/jz6tmmDp8A7o3cqVy28T1TEWF0TGIP4Q0KQtYN9U6iQmR5lfhE2n7uD7E7eRXVCE0V2a4+2hbeHhyF4KIqmwuCAyBqWPWKcqi0vNwfroBPx8OhFt3Owxs39LDGrnzrEUREaAxQWR1IQoKS6Gfip1EqMnRMmtjzWHb+JYfDqGtHfHxhdD0MHTUepoRPQPLC6IpJZ2HchLB5p3lzqJ0SrUaLH9fBLWHI7H/Ww1nuvWHMtGdkATe65LQWSMWFwQSS0uCvDuCVjwQvlvqoIi/HDiNtYeuQk7a3NM7OWL4Y8043LcREaOxQWR1Ljkdxn3VQVYezQB3x+/hdZu9vjfsPZ4tE0TyDnrg8gksLggkpJGDSQcAfq/JXUSo3AnIw+f/R6Hn08nIrSlC75+oQs6+zhLHYuIqonFBZGU7pwArByAJgFSJ5FUXGoOVh2Mw44LSRjUzg3bp/VCazd7qWMR0UNicUEkpQa+5HdsSjY+jrqBfZeTMSy4GfbP7A0fl0ZSxyKiGmJxQSSluCig+3SpU9S50qJi/+VkPNXJEwdfC0MzLnpFVG+wuCCSSm4akHyxQS35HZ+agw9/jcW+v4qKKBYVRPUSiwsiqcQfKnm8up2r1Elq3Z2MPHwSFYtt55Iw4pFmLCqI6jkWF0RSaQBTUFOz1VgZFYuNJ+9gcHt3jqkgaiBYXBBJoXTJ7+FfSJ2kVmQXFOHLP+Kx5shN9PR3wY7pvdCqKWd/EDUULC6IpJB6FShQAl7dpE5iUIUaLb47fgsrD96Av6sdvp3QFZ28uU4FUUPD4oJICnFRgE8vwNxK6iQGIYTA7ovJeHfvVdhYmOH9kR3Qt3UTyBroFFuihq7KxcWSJUsQHx+PvLw8TJgwAY8+Wv694n379uGHH36Aj48Pbty4gRdffBF9+vQxWGCieiEuCvDvL3UKgziVkIHFu6/gbmY+Xh3YCk918oIZl+kmatCqVFysXLkSsbGxWLt2LQoKChAcHIxdu3bBz89Pb7vbt28jMjISly9fhq2tLZKTkxEYGIi4uDg4OTnVygkQmZyiAiDhKBD+P6mT1EhiZh6W7LmKg1fv46XefpjUuwVsLdkZSkSAvLINCgsLsXDhQowbNw4AYG1tjfDwcCxevLjMtidOnICdnR1sbW0BAG5ubrCyskJCQoJhUxOZsjvHAVtnwKWV1EkeSq5ag/f3XUP/5b/DxsIMB18Lw4z+LVlYEJFOpcXF0aNHkZ6ejnbt2unagoKCsHPnzjLbtmvXDleuXMHBgwcBAAkJCWjZsiWCg4MNl5jI1MVFAX59TW7JbyEEtp5NRN/3D+F4fDp+eqk73h8ZhKYOfFQ8Eemr9FeNmJgYyOVyvdsaTk5OSE1NRWZmpl57QEAAFi1ahOHDh2Pr1q24fPkyduzYUemgroCAAN02r7zyCl555ZWHPR8i43cjCgidJXWKarl0V4mF2y8jMTMf84YE4vEO7hysSUQVqrS4UCqVcHR0hFz+dyeHlVXJCPe8vLwyYyneeOMNmJubY/r06fDx8cHYsWMrDXHlyhU4ODhUNzuR6clOAe5fBlqESZ2kSjJzC/H+/mvYfCYR/+nZAuv/449GVrz9QUQPVultEWdnZ6jVar22/Px8ACh3kOYbb7yBiRMn4vfff8ft27fx+OOPQ6vVGigukYmLPwS4BwGNGkud5IG0WoGfTt7Box8cQlJWPvbO6I3Zj7VhYUFEVVLpJ4Wfnx9yc3NRUFAAa+uSe6upqanw9PTUDdwsdeDAAVy+fFlXdOzcuRNt27bF1q1bMWLEiFqIT2RiTGDJ75gkFf77yyUkKwvw7ogOGBDYlLdAiKhaKu25CAsLg4uLC06ePKlri4mJQURERJltz58/D0tLS93XXl5eGDhwIO7cuWOguEQmrHTJbyMtLnLVGryzMwbDVx9F1xbOOPBKbwxs68bCgoiqrdLiwsLCArNmzcKWLVsAALm5uThw4ADmzp2L9PR0dO7cGdeuXQMADBgwANHR0cjJyQEAaLVa3Lp1CwMHDqzFUyAyESmXgcJcwLOr1EnK+DUmBQOW/44LiUrsmNYLcx5rw6mlRPTQqvTpMWfOHMydOxczZsyAUqnEmjVr4OPjg6SkJCQkJCA7OxtAyRTVL774ApMnT0aHDh1w7949vPXWWwgMDKzVkyAyCXFRQItQwNyy8m3rSIqqAAu3X0Z0XDr+b3AbjOzkBTlX1ySiGpIJIYRUB1epVFAoFFAqlZwtQvXfN08CrQcB3V6SOgm0WoGNJ+9gyZ4r6NemCeYNCYSLXf14zgkR1b7Krt/s9ySqC0X5wK1oYPAyqZPgZlou5m6+gMTMfHz8TEf0bd1E6khEVM+wuCCqC7eiAbsmQGN/ySJoirVYc+QmPvo1Fk938cJX47vAjlNLiagW8JOFqC5IvOT39ZRsvL7pPHLUGnw3sSs6eTtLkoOIGgYWF0R1Ie4g0Gd2nR9WU6zF53/E45OoWIzv0QIz+7eEtYVZnecgooaFxQVRbctOBlKvAi161+lhr6dk49WfzqOgqBgbX+yOYC/HOj0+ETVcLC6IalvcQcCjY8lj1utAsVbgqyPxWHEgFuN7+mBm/5awMmdvBRHVHRYXRLWtDlflTEjLxWubziM9txDfTeyGTt5ln/9DRFTbKl2hk4hqQKsF4g/WenEhhMAPJ24j4uPDaNdMgV0v92JhQUSSYc8FUW1KuQQUFQCenWvtEKnZaszdfAGXk1T4/PnO6NXSpdaORURUFey5IKpNcb+VDOQ0s6iV3R+IScFjH/4BG0sz7J0ZysKCiIwCey6IalNcFBDwhMF3m1eowaKdV7DzQhIWDW2HocEefHopERkNFhdEtaUwF7h9HBjyoUF3e+muEi9vPIvGjSyxZ0YoPJ1sDbp/IqKaYnFBVFtuRQP27oCzr0F2p9UKfHXkJpYfuI7JYX6YEuYHczPe2SQi48Pigqi2lE5BNcDtitRsNV7ddB4303I4xZSIjB5/7SGqLQZa3+JwbCoGfXQYDtbm2PVyKAsLIjJ67Lkgqg3Ku0BabI2W/C4q1mL5getYH52ABY8HYlRnLw7aJCKTwOKCqDbEHwSadQJsHB/q5UlZ+Zj2wxnkqovxy9SeaNnU3rD5iIhqEW+LENWGGtwSibqagsEfH0arpvbYxsKCiEwQey6IDE2rLXlYWdeXqvWyomIt3t93Dd8dv4V3hrXDsI6etRSQiKh2sbggMrTk84BWU3JbpKovURZg2g9nkF2gwS/TesG/iV0tBiQiql28LUJkaHFRfy35XbXa/UhsGiI+Pgwfl0bYNrUnCwsiMnnsuSAytLiDQLvhlW6m1QqsPHgDqw/F4a0n2mJUF686CEdEVPtYXBAZkjqnZMnvoSsfuFlWXiFm/ngON9Ny8fPk7mjroaijgEREtY+3RYgM6dZRwNELcPKpcJNLd5UY8skRWJjJsWN6LxYWRFTvsOeCyJAqmYK66dQdLNh+GVP7+mNyHz/I5VwUi4jqHxYXRIYUFwX0X1imWa0pxts7YrD74j18/nwnhLZ0rftsRER1hMUFkaFk3QEy4gGfUL3mFFUBJn93GkXFAjum9+Ij0omo3uOYCyJDiYsCPLsA1g66plMJGRjyyRH4uDTCpsjuLCyIqEFgzwWRofxjvIUQAt+fuI3Fu65g7qA2GNvdmw8dI6IGg8UFkSFoi4H4Q0CP6SjUaLFg+2UciEnGuhe6oJtvY6nTERHVKRYXRIaQdA6AQKp9ICZ/eRwFmmJsn9YLHo42UicjIqpzHHNBZAhxUchy74knVh1DMycbbHqpBwsLImqw2HNBZABpF/bg49ROGN/PBy/29uX4CiJq0NhzQVQDWq3AR7tOQZF+DoOGPoOX+vixsCCiBo89F0QPKUetwawfz8H17m8Qjt7o3ukRqSMRERkFFhdED+FORh4mfXMKLnZWWBCYDEuL/lJHIiIyGrwtQlRNpxIy8OSnR9GthTPWvdAFVrd+f+DzRIiIGhr2XBBVw+bTiZi37RL+b3AbPN/dB8hMALJuAT69pI5GRGQ0WFwQVYFWK7Bs/zV8f/wWvhj7jwePxR0EvLoBVvbSBiQiMiIsLogqkVdYMnDzanI2tkzpCf8mdn9/s5JHrBMRNUQcc0H0ACmqAjz9+XFk5hVh278Li2INcJPjLYiI/o3FBVEFYpJUePLTo2jV1B7fTugKp0aW+hsknQVkZoB7kDQBiYiMFG+LEJUj6moKXt5wDpPD/DAlrIKFseKiAN8wQG5W5/mIiIwZiwuif1kfnYB3917Fe091wJAOHhVvGBcFdHyu7oIREZkIFhdEfynWCizedQW/nLuLbyd0Qydvp4o3LlACiSeBp76qu4BERCaCxQURSmaEvLzhHG6m5WDrlJ5o3tj2wS+4+QfQ2B9QeNZNQCIiE1Kt4mLJkiWIj49HXl4eJkyYgEcfffAo+aioKMTExMDT0xOdOnWCl5dXjcIS1Yb72QWYuP4UbC3NsGVyTyhsLSp/EaegEhFVqMrFxcqVKxEbG4u1a9eioKAAwcHB2LVrF/z8/MrdftGiRfDy8sK0adMMFpbI0G7cz8a4tSfRtYUz3h3RAZbmVZxAFRcFDFpWu+GIiExUlT5JCwsLsXDhQowbNw4AYG1tjfDwcCxevLjc7T/55BNoNBqMHz/eYEGJDO1YXDqGr4rG8EeaYfmooKoXFhnxgPIu4NOzdgMSEZmoKn2aHj16FOnp6WjXrp2uLSgoCDt37iyzbWJiIt5++20oFAoMHz4c/fv3x/Hjxw2XmMgAfjl3F/9ZdxJvRgTg1YGty59qWpG4KKB5CGDZqPYCEhGZsCoVFzExMZDL5XBy+nv0vJOTE1JTU5GZmam37Zo1a9C0aVM89dRT2Lx5M3x9fdG/f38kJydXuP+AgAB4enrC09MTy5cvf8hTIaqcEAKfHryBN7dewmfPd8LTXZpXfydxBznegojoAapUXCiVSjg6OkIu/3tzKysrAEBeXp7etgcPHkTv3r3RvHlzyGQyzJ8/H7m5ufj6668r3P+VK1eQmJiIxMREvPLKKw9zHkSV0hRrMW/bJayPTsCPL4WgTyvX6u+kuKhkpgiLCyKiClWpuHB2doZardZry8/PBwC93gwASE5ORqNGf3cXe3p6ws/PDzdu3KhpVqKHlleoQeR3p/HnzQxsndoTbT0UD7eju6cBMwvArYNhAxIR1SNVmi3i5+eH3NxcFBQUwNraGgCQmpoKT09P2Nrqrwdgb29f5lZJkyZNyhQhRHUlLUeNCetPwdpcjp8je1RtqmlF4qIA376AnI/lISKqSJU+IcPCwuDi4oKTJ0/q2mJiYhAREVFm2z59+uDPP//Ua8vIyEDv3r1rGJWo+hLScjFidTS8nGzwzYSuNSssAK5vQURUBVUqLiwsLDBr1ixs2bIFAJCbm4sDBw5g7ty5SE9PR+fOnXHt2jUAwKxZs5CYmIijR48CAC5fvgwbGxsMGTKklk6BqHzn7mRhxOpoDAxsio9Hd4SVeQ0fMJafCdw9A/j1NUxAIqJ6qsqLaM2ZMwdz587FjBkzoFQqsWbNGvj4+CApKQkJCQnIzs4GUDLGYu/evXj77bfRtWtXJCYmYvv27XqDQYlqW9TVFEz/4SxeGdgaE3q1MMxOb/4BuLQCHB7wMDMiIoJMCCGkOrhKpYJCoYBSqYSDg4NUMaie+fHkbSzcHoNlIyt5qml17ZgBWNoB4eUvHkdE1FBUdv1mdwLVG0IIfPxbLN7ZdQVrx3cxbGEhBHAjirdEiIiqgE9FpXqhWCsw/5dL+PVKCjZFdkcbNwP3hGXEAzkpQPMeht0vEVE9xOKCTF5BUTFe3nAW8Wm52DKlJ5o52hj+IHFRgHd3wLKSR7ETERGLCzJtyrwiTPzmJIQAfo7sDkdby9o5EKegEhFVGcdckMm6p8zHyM+jobCxxHcTu9VeYcElv4mIqoXFBZmk2JRsjFgVjU7eTvjsuUdgbVHDNSwe5M6fgIUt0KRt7R2DiKge4W0RMjmnb2VgwvpTGNvdB7P6t6ze49IfRtxfs0S4VgsRUZXw05JMyq8xKXj+qz/x6sDWeGVAq9ovLACOtyAiqib2XJDJ+OnUHSz45TI+GBWEwe3d6+ageRnAvXOAb1jdHI+IqB5gcUFGTwiB1b/HYfXBOKwd3wXd/RrX3cHjDwFNAgF7t7o7JhGRiWNxQUZNqxVYtCsGO87fw8aXQtDWQ1G3AeK4KicRUXVxzAUZrUKNFjN/PIeoq/exeXL3ui8shADiDnK8BRFRNbHngoxSrlqDyO9OIyO3ED9H9oCrvVXdh0iLBfLSgObd6/7YREQmjD0XZHQycgvx7JoTKNYKbHwxRJrCAvhrye8egEUtLCdORFSPsbggo5KYmYenPotGM0drfP1CF9hbW0gXhlNQiYgeCosLMhrXU7Lx1Opj6OHXGJ888wiszGtx1c3KaNRAwmEWF0RED4FjLsgonL6Vgf+sO4UXevpgRr86WHWzMnf+BKwcSqahEhFRtbC4IMkdvHofU384gzcGtcHz3X2kjlOi9JaI1EUOEZEJ4m0RktTm04mY8v0ZvPdUB+MpLACOtyAiqgH2XJBk1hyOx4e/xuLLsZ3Rq6WL1HH+lpsGJF/gkt9ERA+JxQXVOSEElu69ip9PJeKHSd3QwdNR6kj64g8BTdsBdq5SJyEiMkn1trhQq9VQq9W6ry0sLGBjY4P8/HwUFRXp2q2srGBlZYXc3FwUFxfr2q2trWFpaYmcnBxotVpdu62tLczNzaFSqfSO16hRI8jlcmRnZ+u129vbQ6vVIjc3V6/dwcEBGo0GeXl5uja5XA47OzsUFhaioKBA125mZoZGjRrVi3PSFGuxcPtl/HkrC5sm90EzBwu94xrFOV3cB7j1BFSqBvvvxHPiOfGc6sc5le6jzgkJKZVKAUAolUqD73vBggUCgO7PhAkThBBCTJgwQa99wYIFQgghBg4cqNf+5ZdfCiGECAwM1Gvfu3evEEIIe3t7vfZLly7pzueff5RKpbh06ZJem729vRBCiL179+q1BwYGCiGE+PLLL/XaBw4cWO/Oqc+j/evdOdXHfyeeE8+J52Ta51S6D0Or7PotE0IISESlUkGhUECpVMLBwcGg+2a1a1znlKrMxYtrj0ErBFY++wic7a2N85wSzgBfRwCvXAbMrRrcvxPPiefEc6pf51RbPReVXb/rbXFBxuO+qgBj1/6JZo42WPnsI7CxlHBxrMoc+7TkYWXP/Sx1EiIio1XZ9ZtTUalW3UzLxYjPotHWQ4HPnu9k3IUFwCmoREQGwOKCas2lu0o8tToag9q5Y9lTHWBhZuQ/bkUFQMJRFhdERDVUb2eLkLSib6ThpW9PY3o/f7zY20/qOFVz5zhg4wS4tpY6CRGRSWNxQQa3++I9vPrTeSx6sh2e6uQpdZyq45LfREQGYeT91GRqvjt+C69tOo+Vz3Y0rcIC+Ku46Ct1CiIik8eeCzIIIQQ+/DUW66IT8O2Erujk7Sx1pOrJuQ+kXAZ8WVwQEdUUiwuqsWKtwILtl/BrzH1siuyOVk3tpY5UffGHALcOQKPGUichIjJ5LC6oRtSaYsz68RyuJmdj85QeaOZoI3Wkh8MpqEREBsMxF/TQVAVFGL/2JO5mFeDnSBMuLIRgcUFEZEAsLuih3M8uwOjPj8PSXI4Nk7rBuZGl1JEe3v0YQJ0DeHWTOgkRUb3A4oKqLSEtFyNWR6ONmz3WjOsMW0sTv7sWFwW0CAXMTbhAIiIyIiwuqFouJioxYnU0Brdzx/sjg4x/1c2q4C0RIiKDqgdXBqorf1xPxTNfHkdkHz+8MTgAcnk9WGyqKB+4Fc3igojIgEy8P5vqyrazd/HGlotYOqI9hgY3kzqO4dw+BjRyBRr7S52EiKjeYHFBlfryj3h89FssvhjbCaEtXaWOY1ilq3JyyW8iIoNhcUEV0moF/rf7CraevYsNk0LQ3lMhdSTDuxEF9Hld6hRERPUKiwsqV6FGi9c2ncf5xCxsntwDPi6NpI5keNnJQOoVoEUfqZMQEdUrLC6ojOyCIkR+dxrZBRpsntwDLnZWUkeqHXEHAY+OgK2JPQeFiMjIcbYI6bmvKsDTnx+HmVyODZNC6m9hAXAKKhFRLWFxQTo37udg2KpoBLg74KtxndHIqh53bGm1QPxBFhdERLWgHl89qDpOJWRg4jen8Fw3b7w6sBVk9X32RMqlkjUuPLtInYSIqN6pVs/FkiVLMGnSJIwZMwZRUVGVbl9cXIzu3btj3bp1D5uP6sDeS8kYu/ZPvDawNV4Lb13/CwvgryW/ewNmFlInISKqd6rcc7Fy5UrExsZi7dq1KCgoQHBwMHbt2gU/P78KX7N8+XKcPXvWIEGpdqyPTsB7e6/io9EdMSCwqdRx6k5cFBDwuNQpiIjqpSr1XBQWFmLhwoUYN24cAMDa2hrh4eFYvHhxha+5fPkyMjIy4ObmZpikZFCla1h8+Ot1fDuxW8MqLArzSlbm5HgLIqJaUaXi4ujRo0hPT0e7du10bUFBQdi5c2e522s0GixZsgTz5883TEoyqIKiYry88Sz2XU7Glik98UhzJ6kj1a1b0YC9G+DsK3USIqJ6qUq3RWJiYiCXy+Hk9PdFyMnJCampqcjMzNRrB4Bly5bh5Zdfho2NjWHTUo1l5RXixW9Oo7BYiy2Te6BxfZ5qWpHSKagNYWwJEZEEqtRzoVQq4ejoCLn8782trEouSnl5eXrbnj9/HoWFhejatWuVQwQEBMDT0xOenp5Yvnx5lV9H1XMnIw8jVkdDYWuBDZNCGmZhAXB9CyKiWlalngtnZ2eo1Wq9tvz8fADQ67UoLCzEBx98gDVr1lQrxJUrV+Dg4FCt11D1nL+ThQnrTyKivTvmP94WZvXhcekPQ5UEpF0vmSlCRES1oko9F35+fsjNzUVBQYGuLTU1FZ6enrC1tdW1HTt2DN9++y2srKwgk8kgk8lw69YtvPDCCwgLCzN4eKqa/ZeT8eyXxzE5zB8Ln2jAhQVQsuR3s06ATQMbZ0JEVIeq1HMRFhYGFxcXnDx5EqGhoQBKxmFERETobdepU6cyU08HDx6MyMhIPPvsswaKTNXx9dGbWLbvGpaPCsJj7dyljiM93hIhIqp1VSouLCwsMGvWLGzZsgWhoaHIzc3FgQMHsGfPHqSnpyM8PBzff/89WrdujeDgYL3XWlpaonnz5vD396+N/FSBYq3Aop0x2HE+Cd9P7IaODW1GSHlKl/zu+qLUSYiI6rUqr9A5Z84cmJubY8aMGZg6dSrWrFkDHx8fqNVqJCQkIDs7uzZzUjXkqjV46dtTOBybiq1TerKwKJV8ASguKrktQkREtUYmhBBSHVylUkGhUECpVHJAp4GkqAowYf1J2FtZ4LPnOkFhy+WtdQ4vB+6eBkZ/L3USIiKTVtn1m09FrUdiklR48tOjaOPmgPX/6crC4t843oKIqE6wuKgnfruSglGfH8OYbs2x7KkOsDTnP60edQ5w+ziLCyKiOsBHrps4IQS+OnITyw9cx7KnghDRgTNCynXrKKDwBJxbSJ2EiKjeY3FhwoqKtViw/TL2X07BD5NCEOzlKHUk48VbIkREdYbFhYlS5hVh6g9nkJajxi/TeqKZI5/j8kBxUUC/BVKnICJqEHhj3gTFp+Zg2KqjsLaQ4+fJPVhYVCbrDpAeB7QIlToJEVGDwOLCxBy9kYZhq6IxoG1TfP58Z9hZsfOpUvEHAc8ugLVC6iRERA0Cr0wm5Lvjt7B41xW8PbQtRnb2kjqO6eB4CyKiOsXiwgQUFWvx1o7L2HMxGev/0xVdWzhLHcl0aIuB+ENAyFSpkxARNRgsLoxcRm4hpnx/Gsp8DX6Z1hOeTraVv4j+du8cILSAR0epkxARNRgcc2HEriVnY+inR+Bka4mfI7uzsHgYcVFAiz6AGetoIqK6wuLCSO29dA8jVkdjeEdPfPrsI2jEgZsPJ+4gx1sQEdUxXrGMjFYr8OGv17H2aALeHxmEx9q5SR3JdKmzgTsngCdXS52EiKhBYXFhRLILijDrx3OIvZ+DLVN6oFVTe6kjmbaEI4CTD+DkLXUSIqIGhcWFkYhLzcGL35yCh6MNtk/txSeaGgKnoBIRSYJjLozA/svJeHLlUQwIdMO6F/iodINhcUFEJAn2XEiodHzFV0du4j0+0dSwMm8BmQmATy+pkxARNTgsLiSizCvCzB/P4mZaLrZM6YnWbhxfYVBxUYBXN8CK7ysRUV3jbREJXLqrxJCVhyGXyfDLtF4sLGpDXBTg11fqFEREDRKLizq26dQdjPr8GEZ3aY4vx3aGwobjKwyuWAPc/J3jLYiIJMLbInWkoKgYb++Mwd5Lyfji+c7o1dJF6kj1V9JZQCYH3IOlTkJE1CCxuKgDt9PzMOWH0zCTy7Fjei80c7SROlL9FhcF+IYBcjOpkxARNUi8LVLL9l9OxpBPDqOztzM2vdSdhUVd4BRUIiJJseeilhQVa/H+vmv4/sRtLB3RHkM6eEgdqWEoUAKJJ4ERa6ROQkTUYLG4qAV3s/Lx8oazyFWXPCbdz9VO6kgNx83DQGM/wNFL6iRERA0Wb4sY2K8xKYj4+DBaNbXDtqksLOocb4kQEUmOPRcGUqjRYtm+q9jw5x0sHtYOQ4ObSR2pYYqLAga9K3UKMnFarRZCCKljEElCJpNBLq9Z3wOLCwO4lZ6LlzeeQ6FGi+3TesKXvRXSyIgHlImAd0+pk5AJ02q1iIuLg0ajkToKkSTMzc3h5+dXowKDxUUN/XLuLuZtvYQRnTwxd1AbWFtw+qNk4g4CzUMAKxZ39PCEENBoNPD396/xb29Epkar1eLGjRs17rljcfGQctUazP/lMqKupmDF08HoH9hU6kjEJb/JgORyOczM+MsC0cNgcfEQzt/JwoyNZ+GmsMaeGb3hprCWOhIVa4CbfwC9X5M6CRFRg8fiohqKtQKf/R6HT6Ji8XK/lniptx/M5DKpYxEA3D0NmFkAbkFSJyEiavBYXFTR3ax8zPrxHFKz1fjppe7o4OkodST6p7gowLcvwHvkRESSY3FRRe/sjIGvSyN8Pb4LGlnxbTM6cVFAp/FSpyAiIrC4qLIPRwfDypyDu4xSflbJbZFR66VOQkRE4AqdVcbCwojd/B1waQU48PktRETGgMUFmT4u+U1EZFRYXJBpEwK4weKCqL7TarXYtm0bHn30Ubz11ltSx6FKsLgg05YRD+QkA949pE5CRLXo7t27SE5OxsGDB/ncFxPA4oJMW1wU0Lw7YGkrdRIi+kt+fj4+/PBDg+7Ty8sLEydONOg+qfZwtgiZNo63IDI6n376KXJycgy+X3NzXrJMBXsuyHQVF5Us+c3igshoREdH480335Q6BkmMxQWZrsSTgIUN0LSd1EmI6o179+7h6aefRv/+/eHt7Y0hQ4YgOTlZb5vz58/jiSeeQO/evdGyZUvMmzdP96j6RYsWobCwEOvWrUNYWBjWr1+PZs2aQSaTYeHChQCA/fv3w93dXa8NAK5fv46IiAj069cPXl5eeP7556vdA/L777/jhRdeQPv27XHp0iUEBgbC398fWVlZAICoqCgMGTIEXbt2RYsWLfDtt9/qXpuTk4PnnnsOffr0gZeXF2QyGb777jukpaVh9erV6NChA9566y18+eWXGDJkCNzc3DBlyhQUFBToZThw4AAGDRqEXr16wdfXF3PnztVtExsbiyVLlsDX1xdff/01PvvsM4waNQqurq5455139Pazdu1adO/eHZ06dYJcLkf//v31vv/TTz/hscceQ4cOHRAYGIi9e/fqvpecnIyhQ4eiT58+aNKkCWQyGY4cOVKt97JGhISUSqUAIJRKpZQxyFT9tkiInydKnYLqGY1GI2JiYoRGo5E6iiT69esnxo0bJ4QQIikpSVhbW4vIyEjd98+fPy8aN24szp07J4QQYvv27QKAeO+993TbABALFizQfZ2SklKm7d69e3ptWq1W+Pv7674+c+aMACCWLl2ql+/f+/m3EydOiKCgING0aVPxzjvviDVr1ohBgwaJ3NxccfDgQREWFiays7OFEEK88847AoCIjo4WQggxd+5c8cYbbwghSn4OnnnmGfHtt98KIf6+XvXo0UPcuHFDCCHE7t27BQAxceLfn0M7duwQLVq0ECkpKUIIIc6dOyccHBzEk08+qdvmzz//FADEkCFDxJ07d4QQQnz11VdCJpOJq1evCiGEiImJEf7+/iI/P18IIcTOnTvFgAEDdPv49ttvxciRI0VhYaEQQoiJEycKKysrkZCQIIQQYvTo0eLzzz8XQgiRl5cn+vTpIw4fPlzh+1aqqj//lV2/2XNBpovjLcjEFWsFVkbF4tkvj2NlVCyKtdLPgjh79iyCgkoeAOju7o7AwEDExcXpvv/qq69i6NChum1Kf8vPy8urcJ9NmjQp0+bm5qb3dXZ2NuLi4nT77dixI5ydnfWOXRVdu3ZF+/btoVarMWvWLEyYMAG7d++Gra0t5s2bhzlz5sDOzg4AMHPmTADQDT69cOECUlNTAQBmZmZ45513YGZWsoCig4MDAKB///7w8/MDAAwaNAhhYWFYt24d0tPTodVqMXXqVEyYMEF3zkFBQZgyZQq2bduGX3/9FQDQuHFjAMCIESPg6ekJAAgJCYEQAufPnwcAXLp0CUqlEvn5+QCAiIgI9O7dGwAghMAbb7yBt99+GxYWFrpzUavVWLVqle5c7t+/DwCwsbHBwoULIZPV3YM2OTqGTFNeBpB0FvDrK3USooe2+tANfBJ1A2qNFqdvZUImA6b2bSlppgMHDqB169YoLi7Gnj17kJqaqruw5ufn4+DBg1ixYoVuewcHB9y+fbvGx3VwcEB0dDQ6deoEtVqNrVu3QqPRoKioqNr7MjMzg0KhgK3t37PI8vPzcezYMSxYsABLly7VtXt7eyM7OxsAMHjwYEybNg0pKSl4++23ERwcDF9fX719//sCHRoaikOHDuHChQuwsbHB7du30bKl/r/hqFGjsHTpUuzZswf9+/eHvJwHLJZmLS0mevTogcLCQnTs2BGLFi3CM888g3nz5gEoubWSmJiIl156SZdHo9HA29sbmZmZunOZP38+bty4gf/+978ICwur9vtYE9XquViyZAkmTZqEMWPGICoqqsLtPvnkE3h5ecHV1RVTpkx5YEVL9FBu/g64BgD2bpVvS2SkouPSodZoAQBqjRZHb6RLnAjo0KED1qxZg5EjR6KoqAje3t66dSUyMjJQXFyMwsLCWjv24sWLMX78eLi4uMDJyclga1pkZGRAq9VixYoVOHTokO5PQkICdu/eDQCYOnUqvv/+e5w9exYdO3bEqFGjdGM1KuLhUfLYgYKCAty6dQsAkJubq7eNt7c3ACApKanSnKXn26xZM/z5558ICAjA2LFjERAQgD/++AMAdL0rGzZs0J3HkSNHkJCQgC+++AIA8N577+HDDz/Ejh070Lp1a0yZMgVqtboqb5VBVLm4WLlyJWJjY/Hll1/iq6++wpQpU8rtrtq5cyf27duH9957DxMmTMAXX3yBWbNmGTQ0UcktEfZakGnr4dcYVuYlH8NW5nL09G8saZ6ioiI89thjOH/+PH7++WcMGzZMd1sAABwdHSGTyXRd9/909+7dGh1bqVTqbg1s2LChzODFmirtfdm+fXuZ78XExOj++9lnn8X169fx1ltvYevWrRgzZswD91tafHh7e6NZs2YAgBs3buhtY29vDwBlekEq06pVK+zZswcHDhyARqNBeHg4bt++DYVCUem5yGQyvPzyy4iLi8PkyZOxevVqvPLKK9U6fk1UqbgoLCzEwoULMW7cOACAtbU1wsPDsXjx4jLbxsfHY/v27XjmmWewdOlSvPLKK/jpp58Mm5oaNiGAuIMcb0Emb3KYP17u548efo3xcj9/RPbxlzTP3r178dtvv+HVV18tt+u+UaNG6Ny5M37++We9GSTFxcX4+eefH7hvW1vbMrMqgL9/U//mm29w8eJFzJ49u4Znob/fUvb29ujYsSM++OADfPbZZ9BqS3qMoqOjsW7dOgDQ3XawsbHB/Pnz8frrr+t6C0r9e/bKmTNn4Ofnh4CAAHTu3Bnu7u5lrnnx8fGQyWQYNWpUudnK8+OPP+LSpUsASsZ57Nu3DwUFBTh58iQCAgLg6uqKOXPmYPPmzbr9bd++Hbt27dI7F0dHR3zyySd45plnypxLbapScXH06FGkp6ejXbu/p/wFBQVh586dZbaNjIzU+6EMCwuDlZWVAaIS/SX9BpCbyiW/yeSZyWWY2rclfpgUgql9W8JMXncD7spTet//5MmTAIArV67g5s2byM/Ph0qlQnp6OhYvXgy1Wo3Bgwfj119/xZEjRzBu3Di9ngZnZ2fdLYDjx48DANq3b4/jx49DCAGtVovPP/8cAJCenl7usY8dO4aMjAzk5+cjMTERhYWFut6Rym4v3L9/H/fv39eNPyi1ePFiaLVaTJ48Gfb29vDy8kJ4eDimTJkCADh9+jSWLVumu1gXFBToBlGW2rJlC9LS0nRZt23bhuXLl0Mmk8Ha2hpLly7FjRs38N577wEoeSbKu+++i8jISN1g1dLz+GeBlpGRAQBISUkBUFKAREZG6toLCgpgY2ODzp07w8zMDIsWLYJKpcJTTz0FR0dHuLu7Y8qUKZg0aRIAYOvWrdiwYYNu/2q1usy51KpK56UIIVauXCnkcrkoLi7WtW3ZskUAEBkZGQ987VdffSWmTJnyUFNZiMp1/DMhvnmy8u2IHkJDnoqq1WrF+PHjhaOjo3jmmWfE559/LqZNmybc3d3Fl19+qXtPtm/fLgIDA4Wtra0IDQ0Vf/75p95+Vq5cKVxcXMSUKVN0UzKPHTsm/Pz8RLdu3cT06dPFnTt3RKNGjcSTTz4pDhw4IPLy8kRERIRwdXUV48ePFxs2bBDDhg0TLVu2FJs2bRIXLlwQXl5eAoCQy+Vi5MiR5Z5DaGioACAACDc3N/Hrr7/qff+XX34Rbdu2FRYWFiI4OFhvemZ4eLgAIJo3by5CQ0PF008/Le7fv6/7PgDxzDPPiP79+4uQkBARHBwsfv755zIZvvvuO9G2bVsRHBws+vXrJ9577z2h1WqFECVTSl1cXAQA3TTf9evXiyZNmuja5s+fLzZs2CAACDs7O9G9e3fRq1cvceDAAb3jrFmzRvj6+gpLS0sRGhoqLl26pPte69atBQDRsmVL0aNHDxEZGSlyc3Mr/Rkw1FRU2V9v2AP973//wwcffKCrMAFg9+7diIiIQGJiou4+U3mefPJJfPbZZ2WmHQGASqWCQqGAh4eHbsTrK6+8Uqf3hcgE/fA04NML6DFd6iRUDxUXF+P69eto1aqV3ngDIplMhgULFugt/FXfVPXnv/T6rVQqdeNZ/qlKU1GdnZ3LjDItnS7j5ORU4eu2bt2K559/vtzC4p+uXLlSbjiiMjSFwM3DQL/5UichogakCr+H0z9UacyFn58fcnNz9QbjpKamwtPTU28e8T/duHEDCQkJGDFihGGSEgHAnROAlR3QJFDqJETUgJSOhShdmIoerErFRVhYGFxcXHQDbYCS6S4RERHlbp+SkoKNGzfqTUH997xfoodSuipnHa40R0QN28aNG9G2bVsAwBdffIHHH39c4kTGr0rFhYWFBWbNmoUtW7YAKCkUDhw4gLlz5yI9PR2dO3fGtWvXAJT0aEyaNAnBwcHYu3cvdu/ejeXLl1c6TYmoSrjkNxHVsdGjRyM9PR1CCGg0GuzYsUPqSEavyst/z5kzB3PnzsWMGTOgVCqxZs0a+Pj4ICkpCQkJCcjOzkZubi7CwsIQExOj9+abmZnh3r17tXIC1IDkpgHJFwDfMKmTEBHRA1S5uDAzM8OyZcvKtHt4eOjm/ALA5cuXDZOM6N/iDwFN2wJ2ZR+CRERExoNPRSXTwVU5iYhMAosLMg1CcLwFEZGJYHFBpiH1GpCfCXiFSJ2EiIgqweKCTENcFODTE7CwljoJERFVgsUFmQbeEiEiMhksLsj4adRAwhEWF0REJoLFBRm/28cBG0fAtY3USYjIwK5evYqpU6eiffv2eu2ffPIJmjRpgsTERImSPdjx48fLPHOrItHR0Q3u2SQsLsj4cclvonorNjYWv/32G7Kzs/XabW1t4ejoCHPzKi/HVGeWLl0KlUoFKyurKm3v4eGBKVOmQKVS1XIy48Higowfx1sQ1VuPP/44OnfuXKZ9woQJuH79eqVP1a5rCxcuhKenJwYOHFjl1/j4+GDWrFkYNWoUNBpNLaYzHiwuyLjlpAIplwDfvlInIaJaYoy9E+U5evQodu7cieeee67ar23VqhW6dOmCBQsW1EIy48Pigoxb/CHArQPQqLHUSYiogXvttdfw7LPPPvTr//Of/2DFihW6x7fXZywuyLjxlghRnTlz5gymT58OFxcXJCUlISQkBG5uboiLiwMAnD17FsOHD0evXr3QrFmzMs+bysrKQmRkJPr06QNfX184OTnB398fffv2xebNm6ucIy4uDrNnz4aLiwsAQK1WY9OmTejduzcGDBiAkydPYsqUKfD390dYWBgyMjL0Xh8VFYUhQ4aga9euaNGiBb799tsKj/Xrr78iIiICgYGBuHDhAiZMmAAvLy/07NlT71lZJ0+exPHjx9G/f39dW0xMDDw8PCCTySCTyfDSSy8hIyMDjRs3hkwmw/jx4/WO1aJFC7i6uuKzzz6r8nthsoSElEqlACCUSqWUMchYabVCLGslRPwfUiehBkSj0YiYmBih0Wiq/VqtVitU+YV19ker1Rr03M+fPy/Cw8MFAPH222+Ln376SQwYMEDcuXNHXL16VXTs2FGkpKQIIYT47rvvBACxYcMG3esHDhwohg4dKrRarSgsLBS9evUScrlcxMbGPvC448aNE97e3rqvjx8/Lvr27Sv+fYkKDAwUnp6eYseOHUIIIbKysoSdnZ144403dNscPHhQhIWFiezsbCGEEO+8844AIKKjoys8/rBhw4RCodCdS0ZGhmjdurVo0qSJyMjIEEII8eabbwozMzOhVqv1Xpubmyu6d+8uAIiLFy8KIYSYNGmS+PTTT8s9Vnh4uOjatesD3w8pVfXnv7Lrt2nc6KKG6X4MoM4GvLpKnYSoSnLUGrRfuL/Ojndx4UDYW1sYbH8dOnRAly5dsG/fPkycOBHu7u4YOXIkAOC5557Diy++iCZNSp5KPGbMGMycORMrVqzA6NGjERcXh/3792PVqlWQyWSwsLBAZGQkjhw5grNnz8Lf37/KObp164bu3bvj4MGDeu2NGzeGq6srhgwZAgBQKBQICAjAuXPndNvMmzcP8+bNg52dHQBg5syZmDdvHj788EN079693OM5ODhAoVBg9OjRAAAnJye88cYbGD9+PL799lu8/PLLOHXqFNzc3GBpaan3WltbW/z000/o0KEDpkyZgrfeegtWVlaYMmVKucfy9vbGgQMHoFarqzzbxBSxuCDjFRcF+PQCzOvv/4BUv9hZmePiwqrPIjDE8QzNzMwMAODu7q7XHhUVhYsXL2Ljxo26NoVCgfz8fADQTbP853gCJycnACVTMavLwqJs0SSXl72Tb2trq8uQn5+PY8eOYcGCBVi6dKluG29v7zJTXf9N9q+p7qGhoQCA06dPAwASExPh4OBQ7ms9PT2xevVqjB49GrNnz8aRI0cqPI6DgwO0Wi3u378PLy+vB2YyZSwuyHjFRQEtw6VOQVRlMpnMoD0JxiQ1NRXvv/9+hQMag4KC0LZtW3z11Vd46aWX0LRpU2zYsAE9evSosMfAUMRfC1RlZGRAq9VixYoV6NGjR432WVoQFRQUAAAKCwvL9Fr806hRo/Df//4XV65cwe3bt9GyZctyt7O2Lnk+Un1f84IDOsk4FeUDt6I5mJPISCgUCmzfvr1Me0xMDICSXoU9e/agVatWGD16NAYMGABXV1fs2bOn3B6H2lDas/CgnFWVlZUFoKTXAwBcXV11PSTlWbJkCRYuXAgXFxeMGTOmwvUsSvehUCiqlcfUsLgg43T7GGDrAriUX/0TUe0S/1quunfv3vjxxx/x1ltvobCwEEDJ0t3Lly/XbfPpp59i/vz5+P333/Hbb79h+fLlFd5KMESmf7O3t0fHjh3xwQcf4LPPPoNWqwVQsvz2unXrHvjanJwcva/PnDkDoGSRLwDw9fVFampqua/97bffkJeXh2effRbffPMNTp06hYULF5a7bVZWFuzs7NCsWbMH5jF5Bh9qWg2cLUIV2vemENumSp2CGqCazBapDyZPniwAiJiYGL32c+fOCWtrawFAWFpaiubNmwsLCwtx/PhxIUTJ57lMJhN2dnaiVatWok2bNqJDhw5iwIABYvPmzQ88Zv/+/YW9vb3Iz8/Xtb344osCgLh7966uzd/fX7Rp00Zvlkz79u1FQECA7uvdu3cLuVwuAAhbW1vh6ekp7OzsxM2bNys8/rhx4wQAXc7c3FwREhIihg8frttm3bp1AoBIS0vTe+3169dFx44dRVFRka7t2WefFXK5XOzevbvMsXr37i0ee+yxB74fUjLUbBEWF2ScVvUQ4uKDP5CIakNDLi6effZZYWZmJgAIJycn8e233+p9/8iRI6Jr167C0tJStGrVSmzdulXv+1OnThXu7u7C3t5emJubCwACgJDL5eLSpUvlHnPo0KG67Vq0aCEuX74sZs6cqXu9h4eH2Lt3r2jbtq1uu7Zt24qzZ8+K9u3b69ratWunmyb6yy+/iLZt2woLCwsRHBwsDh8+/MDzHjdunPD09BRTp04VvXr1EgEBAWL69Ol6xU5aWpqwtbUV+/fv17XdunVL2NvbC5lMJpYuXSqEEOLQoUPC1tZWABBmZmZi/vz5uu01Go1wcnIS69evr/wfQyKGKi5kQkj3qDaVSgWFQgGlUmnQrjMycdnJwPIA4PU4wNZZ6jTUwBQXF+P69eto1aqVbuYEVe7u3buIjIzE1q1bdct5a7VaZGRkYOnSpejZsyeGDRsmccryjR8/HocOHUJCQsIDt3v11Vd1A0YfRnR0NMaMGYPr16+XOxvGGFT157+y6zfHXJDxiT8EuAezsCAyIZGRkQgNDdV7TohcLoeLiwtCQkIQEhIiYboHq+rv2PPnz8fBgwdx7969hzrOJ598glWrVhltYWFILC7I+HDJbyKTk56ejk2bNuHatWt67WfOnIGjo2OZdTOMSUpKCpRKpW6gakUUCgXWrl2LefPmVbkgKbVz504EBwdj0KBBNYlqMlhckHHRaoG4gywuiEzMrl278Nhjj2HYsGFo164dIiIiMGPGDOTn5+s9j8OYKJVKBAYGYt++fcjKykJgYKBu0ayKPPLII3jttdewYsWKKj8+fffu3cjLy8OcOXMMEdskcMwFGZfki8Dax4DZNwHzihesIaotHHNBVVFcXAyZTFalNTwqW4DLmBhqzAVX6CTjEhcF+ISysCAio1adwtNUCgtD4m0RMi4cb0FEZPJYXJDxKMwDbh0D/PtJnYSIiGqAxQUZj9vRgH1TwNlX6iRERFQDLC7IeJTOEvnXo4+JiMi0sLgg43HjN463ICKqB1hckHFQJQFp14EWvaVOQkRENcTigoxD3EGg2SOAjZPUSYiIqIZYXJBx4BRUIqJ6g8UFSU+rBeK55DeR1AoLC/HNN9+gc+fOWLduXa0c4+TJk3B0dMQvv/zy0Ps4duwYxo8fD29vb4SEhODs2bO67xUVFeHo0aNV2o9KpcLFixcfOgdVjMUFSS/5AlBcBDTrJHUSogYtPj4et27dqvT5GjVhaWkJR0dH2NjYPNTrr127hsmTJ+Orr77CiRMncPPmTURGRgIAkpOT8frrr6Nly5ZV2peDgwMuXLiAlStXPlQWqhiLC5JeXFTJQE6z+v8YYiJj1qZNGzzzzDO1eoygoCAkJCRg4MCBeu3/+9//qvT6FStWoGXLljAzM4Obmxv27t2LBQsWIDs7G+PGjcObb76JJk2aVDnPmDFjoFKp8Pnnn1frPOjBWFyQ9OKiAL++UqcgIgDm5nX/yCmlUolVq1ZVaduTJ0/C1tZW93XHjh0xePBgvPbaaxg8eDBcXV2rffzZs2fjo48+4i0SA2JxQdIqzAVuH+d4C6IGSqPRYPz48bh7926Vts/MzITsXwvtXblyBWvXrsWYMWMeKoO5uTlGjhyJBQsWPNTrqSwWFySthKOAohmX/CYycqdOncITTzyBsLAw+Pj4IDIyEpmZmXrbZGVlITIyEn369IGvry+cnJzg7++Pvn37YvPmzcjMzMSHH36INm3a4NChQwCAd999VzcgMywsDIMGDSr3+OvWrUNYWBiSkpKwd+9ehIWFYfr06QCAlStXon379nBxcdFt/+6778LKygoymQw2NjaIiorC119/DblcDltbW+zZs0dv/2FhYdi2bRtu3rxpqLesQeMj10lanIJK9YkQgDq77o5nZV8ny+WfPn0aEREROHLkCFq2bIlbt24hNDQUp0+fxvHjx3WPH3/66adhY2ODQ4cOQaPR4NFHH0V0dDT27t0Lf39/XLlyBYmJibh27Zpu32+++SaKiorw1ltv6QqO8owfPx7jx4+Hj48PwsLC9Gaz/PLLL+jbV//W6pw5c9C7d2/07dsX7dq1w6OPPoqcnBy8//772LFjB3x99X+hCQgIgBACe/fuxeTJk2v+pjVwLC5IWnFRQL//Sp2CyDDU2cBSr7o73tw7gLVDrR9m5syZeOKJJ3SzMLy9vfHmm28iMjISX3/9NSZOnIi4uDjs378fq1atgkwmg4WFBSIjI3HkyBGcPXsW/v7+CAgIQHh4OD744AODZUtOTsbdu3fh7e1d5nvdu3fHBx98gGnTpmHNmjU4deoUvvzyyzKFBQC4ubnBysoKR48eZXFhACwuSDrKRCD9BuATKnUSIsOwsi+54Nfl8WrZvXv3cOTIETz++ON67aNGjUJkZCT27NmDiRMnQqVSAQBSUlJ02zg5lay46+HhoWuzsDDsrLDExEQAJdNKyzN16lTs2rULL7/8Mv7v//4PPXr0qHBf9vb2uHfvnkHzNVQsLkg6cQcBz86AjaPUSYgMQyark56EunT79m0AQG5url67k5MTHBwckJSUBKBkimnbtm3x1Vdf4aWXXkLTpk2xYcMG9OjRA927d6+1fIWFhQAAubziIYT/93//hz179uDw4cMQQpQZEFrK2tpaVyRRzXBAJ0mH4y2IjF6zZs0AADdu3CjzPTs7O90tBrlcjj179qBVq1YYPXo0BgwYAFdXV+zZs+eBF/6aKp16mp+fX+738/PzsWLFCnzzzTfYv38/Pv744wr3lZ+fD4VCUSs5Gxr2XJA0tMUlS36HTJE6CRE9gKenJzp27IidO3ciLy9Pt8ZEbm4uUlJSMHr0aN22n376KebPn48+ffpU6xgV9SSUR6vVori4WC+fpaUlUlNTy91+1qxZmD9/PoKCgvD7779j7ty56NevH9q1a1dmvyqVCq1bt65WdipftcrJJUuWYNKkSRgzZgyioqIq3C42NhbPPvsspk2bhmnTpkGtVtc4KNUz984DQgt4dJQ6CRH9Q+l6E6W3OwDggw8+QG5uLmbPng0hBABg2bJlCA8P143FUKlUeO+99zBkyBC0bt0aAQEBCAoKwsCBA7FlyxbdvkrHNPxz/87Ozrq2c+fOVdgLkZGRgdTUVL1eFBsbG/To0aPcKaQrVqyAs7MzgoKCAADLly8HUDJeJCsrS2/bW7duoaioCL17967Cu0SVElX0ySefiBdeeEEIIUR+fr5o3bq1uHHjRpntcnJyhL+/v4iNjdW97qWXXip3n0qlUgAQSqWyqjHqXn4F2Spql4IpZvx9mRAbnzOujERCCI1GI2JiYoRGo5E6Sp3bv3+/cHV1FQCEpaWlmDlzpu57+/btE507dxZt2rQR/fv3F3PmzBEFBQV6r586dapwd3cX9vb2wtzcXAAQAIRcLheXLl0S3333nXB0dBQAhJ2dnVi6dKkQQoi0tDTRuXNn0blzZ7Fhw4Zys23atEm4ubnp9tm2bVvx+eefCyGEWL16tfDw8NDbfvny5QKAUCgU4vr167p8pa93cnIS58+f122/efNm4eDgILKzs2v+Rpqwqv78V3b9rlJxoVarRePGjcWhQ4d0bS+//LKu2Pin999/X4SFhem+Tk9PF3K5XNy8ebPa4SSXrxRiWUshruzUb7+ys6TdGC6Mpppx7SAhdswynoxEf2nIxUVNJCYmiiFDhoiioiJdW3FxsUhNTRWvvvqq2LJlS60du6CgQLi7u4tz58499D4mTZok3nzzTQOmMk2GKi6qNObi6NGjSE9P17tHFRQUhLlz55bZdvv27ejQoYPua2dnZzRr1gy7du3C1KlTH657RSrWDsCQFRCbJ2J3y7fxvbI9xiguYnDsfMhGrDGOUeEmmHFzph/W3DsG2d3TkD211jgy/qVYK7D60A1Ex6Wjh19jTA7zh5m89hcpIjJ1kZGRCA0N1Xs2iVwuh4uLC0JCQhASElJrx7ayssJnn32Gd955B5s2bar269PT03HixAkcO3asFtI1TFUqLmJiYiCXy3VzloGSaUipqanIzMzUa4+JicGjj+rPAHBycsL169cNFLmOtYnA7pZvo+/lN5FbHIK+Zsexp91iDG4TIXWyv5lYRgetPyAX2NP6HePKCGD1oRv4JOoG1BotTt/KhEwGTO1btcc3EzVk6enp2LRpE4YOHao3KPLMmTNwdHSEu7t7rR7/iSeewJkzZ7B161YMGzasWq+dN28efvjhB70HolHNVGlAp1KphKOjo950IisrKwBAXl5emW1LB+f8c9t/b/dPAQEB8PT0hKenp27AjTH5XtkeO4tDMMr8d+wsDsF3We2ljlSGKWUMNbuMOOFulBmj49Kh1mgBAGqNFkdvpEuciMg07Nq1C4899hiGDRuGdu3aISIiAjNmzEB+fj769+9fJxkWLlyIvLw8/Prrr1XavqCgAB988AFeeeUVtG3btpbTNSxV6rlwdnYuM+OjdDTvP3stHrTtv7f7pytXrlS4upoxGKO4iL5mx/GTpg+GmB2HneNFALXXxfcwTCmjStiguew+njPCjD38GuP0rUyoNVpYmcvR07+x1JGITIKTkxMWLVqERYsWSZpjzJgxuoW1KmNubo5XXnmlWlNhqWqqVFz4+fkhNzcXBQUFsLa2BgCkpqbC09OzTDeSn58f0tLS9NpSU1NNd+7w1V0YHDsfe9otxras9rBzvIhB1+cDVz0AY+nSN6GMh1q9itDYdxHV5i3jywhgcpg/ZDLg6I109PRvjMg+/lJHIqJqsrS0rNJ2/xwfQoZVpXc2LCwMLi4uOHnyJEJDS54DERMTg4iIsheFp556Cjt37tR9nZ6ejvT0dISHhxsoch0qUAE7Z0E2Yg0Gt4nAYABASMkFceeskmdiSD0Y0cQy9s1NBdTdMHD0dOCqr/Fk/IuZXIapfVtynAURUQ3IhPhrRZRK/O9//0NqaipWrFiB3NxcdO7cGXv27IG9vT3Cw8Px/fffo3Xr1sjMzERwcDD+/PNPNG3aFB999BFiY2OxcuXKMvtUqVRQKBRQKpXGe1ukQFX+ha+idimYUsafxgJN2wN9XtdvJzISxcXFuH79Olq1aqV7lDhRQ1HVn//Krt9V7hOaM2cO5s6dixkzZkCpVGLNmjXw8fFBUlISEhISkJ2dDaDkvtvmzZsxc+ZMeHh4QCaTYcWKFQ9xikaiogufMV0QTSWjthiIPwT0mKHfTkRE9UqViwszMzMsW7asTLuHh0eZMRadO3fGhg0bap6O6pekswBkgEew1EmIiKgW8amoVHfiogDfMEDOrmYiovqMxQXVHT5inYioQWBxQXWjQAUkngT8+kqdhIiIahmLC6obCYcBpxaAY3OpkxCREbl37x5mz56t90wqAOjSpQuefvrpGu9/27ZtcHR0xKlTp2q8L6o6riBCdYO3RIioHFu3bsX3338PCwsLvXYnJyeDLFFgY2MDR0dH3SMrqG6w54LqRlwU4N9P6hREZGSmTJmCXr16lWnfv38/vvzyy2rvb8mSJXpfh4eHIyEhAe3bG9+zjOozFhdU+zJuAll3AO+eUichIiNU+liJmvr5559x7do1g+yLaobFBdW+uCigeQhgZSd1EiIyQoZ4cFhsbCxefPFFA6QhQ2BxQbUvLoqzRIj+rUBVvfY68uuvvyIiIgKBgYG4cOECJkyYAC8vL/Ts2ROXL19Geno6PvroI3Ts2BHr1q3D7NmzYW9vjw8//BAAkJeXh5kzZyI8PBzNmjXD8OHDkZqaqneMLVu2ICQkBL1798bgwYNx79493feEENizZw+eeOIJTJgwQe91CQkJGD16NHr37o3WrVtj8uTJyMvLQ3p6OmbPno28vDzs3bsXYWFh+Oijj3Dv3j0sWrQIXl5eSEhI0NvXxo0bMWDAAHTr1g2tWrXCe++9B61WCwC4cOEC3njjDTRr1gz79u3D+++/jyFDhqBJkyZYu3at3n4WL16MHj16oF27dpDJZJg4caKB/iVMnJCQUqkUAIRSqZQyBtUmTZEQ//MU4u4ZqZMQVYlGoxExMTFCo9HU3kHylUIsaynElZ367Vd2lrTnS/uZOGzYMKFQKMSGDRuEEEJkZGSI1q1biyZNmojbt2+LVatWCQBi0KBBYseOHeLpp58W69evF1qtVgwcOFBs2bJFCCHEvXv3hKenpwgPD9ft+6effhKOjo7iypUrQgghjh07JszMzIS3t7cQouS6sGPHDmFubi7GjRune93du3eFu7u72L17txBCiAsXLggAYsqUKbptvL299V5z7tw58eyzzwoA4ubNm7r2Tz/9VHTq1Enk5OQIIYQ4cOCAMDMzEzNnztTLCUC88MILIiMjQwghxH//+19hY2MjsrKyhBBC7N27V/Ts2VMUFxcLIYRYtWqVmDBhwkO/78agqj//lV2/2XNBtevuaUBuDrgFSZ2EyHhYOwBDVgCbJwJXd5W0Xd1V8vWQFZI/c8fBwQEKhQKjR48GUDJz44033sD9+/exdetWDBw4EAAQGhqKIUOGYOPGjRg7dix+++03KJVKDBs2DADg5uaG0aNHY9++fbhy5Qry8/Mxbdo0TJs2DW3atAEAhISEoEePHnrHLu0l+KcFCxYgICAAgwYNAgC0b98eHTp0QH5+foXnERQUhLCwML02lUqF2bNnY9asWWjUqBEAoH///hg5ciQ++eQTXL16FQDQuHFjAMDYsWPh5OSky5qfn68b13HhwgUolUoUFhYCACIjI+Hr61udt7reYnFBtav0loicP2pEetpEACPWlBQU26aW/D1iTUm7Efj3OIjQ0FAAwOnTp3VPy3R3d9fbJioqCjdv3kRYWJjuz4EDB+Dt7Y07d+5g3759uH//PkJCQvReV94F+d9TU3ft2oXg4GC9tvPnz5e5TVHZfnbv3o3c3Fy0bNlSr33UqFEoLi7GgQMHAADycj6zbG1tAUBX0PTr1w/Xr19Hly5dsH37dgDA//3f/z0wT0PBT3yqXVzfgqhibSKAtsOBc9+V/G0khUV5PDw8AAAFBQUVbpOamoqgoCAcOnRI9+fcuXNISEjAwIEDy/QKVEdqaqquh6Ambt26BQDIzc3Va/f29gYAJCUlVboPIQQA4JFHHsGRI0fQqFEjDB06FJ07d8alS5dqnLE+YHFBtSc/q+S2iC8HcxKV6+ou4PIWIPi5kr9Lb5EYoaysLAB/X4TLo1AocOLECaSkpOi1q9VqxMfHw9LSEgBw9+7dah/f2dkZ58+fL9NelWLgn5o1awYAuHHjhl67vb09gPJ7UR6kS5cuOH78ODZu3Ijbt2+jX79+yMnJqdY+6iMWF1R7bv4BuLQEFM2kTkJkfErHWIxYAzz56d+3SIykwPj3BfLMmTMAgMcff1zXVvobfKnevXtDpVJhxIgRuHnzJoCS2SNTp06Fubk5unfvDgDYuXNnmeOVztSoSJ8+fXD48GGcO3dOr33jxo26/67KlNb+/fvDxsYGP/74o157fHw8rK2tMXTo0HLPrTwrVqxARkYGAODpp5/G999/j/v373OtDbC4oNrEWyJE5StQATtn6Y+xKB2DsXOW5NNRASA9PR1btmwBUFIgLFq0CMOHD0doaCju378PALrbHKWGDBmCnj174ujRo/D19YWnpyeaNGkCa2trNG/eHN27d0d4eDi+++473RgFlUqlm+KqVCqh0WigVquRkZGh1ysxf/582NjYYPjw4di+fTtOnDiByZMn643DcHZ21r3m2LFjAKCb5lra7ubmhjfeeAO//fYbfvrpJwAlPSvLly/HW2+9pRtIWtq7kpycrNt/aSFR2jOjVqvx4osvIi8vD0DJLSNXV1fdYNUGzeDzWKqBU1HrMa1WiBXthLi+X+okRNVSJ1NRhah4uqnE01CFEGLcuHHC09NTTJ06VfTq1UsEBASI6dOni/z8fPHTTz8JFxcXAUDIZDIxYsQIvddmZWWJF154QTg4OAhHR0cxffp0oVardd/Pzs4WEyZMEA4ODqJfv37i9ddfF0OHDhUhISFi2bJlIj09XbRu3VoAEABEly5ddK89evSo6NKli7C2thaPPPKI2Lt3r96xt2zZIlxdXcXYsWPF9evXxbJly4SNjY0AIBo3bizWr1+v23bFihXCz89PdOvWTfTv31989dVXuu998cUXwt7eXgAQDg4O4u233xZLly4VCoVC17Z69WqxZMkSAUA4OTmJXr16iUcffVScPn3a0P8cdcpQU1FlQlSh76eWqFQqKBQKKJVKgzyghoxIehywKgSYkwBYNpI6DVGVFRcX4/r162jVqpVuVkRDM378eBw6dKjMwlNU/1X157+y6zdvi1DtKF3ym4UFkcmR8HdOqidYXFDtiDvI8RZEJiolJUVvcSii6mJxQYZXXFQyU4TFBZFJUSqVCAwMxL59+5CVlYXAwECcPn1a6lhkgsylDkD1UOIpwNwKaNpe6iREVA0KhQIxMTFSx6B6gD0XZHhaDdAtkkt+ExE1UOy5IMNrEVryh4iIGiT+aklEREQGxeKCiIiIDIrFBRERERkUiwsiIiIyKBYXREREZFCcLUJEVI7KHgFOVB8Z6ueexQUR0T/IZDKYm5vjxo0bUkchkoS5uTlkMlnN9mGgLERE9YJcLoefnx8f3kUNlkwmg7yGiyCyuCAi+peafrASNXT8P4iIiIgMisUFERERGRSLCyIiIjIoFhfVsHz5cqkj1At8Hw2D76Nh8H00DL6PhlFf3keZkHBItEqlgkKhgFKphIODg1QxqszT0xOJiYlSxzB5fB8Ng++jYfB9NAy+j4ZhKu9jZddv9lwQERGRQUk6FbW000SlUkkZo8qEECaT1ZjxfTQMvo+GwffRMPg+GoapvI+lGSu6+SHpbZHExER4eXlJdXgiIiKqgTt37sDT07NMu6TFhVarRVJSEuzt7Wu81CgRERHVDSEEsrOz4eHhUe6ic5IWF0RERFT/cEAnERERGRSLCyIiIjIoPrisipYsWYL4+Hjk5eVhwoQJePTRR6WOZFJu3bqFF198EdHR0fD398fy5cvRt29fqWOZtN27d2Pq1Km4efOm1FFMmlKpxPr16+Hs7IxmzZrx57IacnJyMGfOHDg4OECj0UCtVmPZsmWwsrKSOppJSEtLw7vvvovc3FysWrVK156Xl4cZM2bAxsYGGRkZWLx4Mby9vSVMWn0cc1EFK1euxJkzZ7B27VoUFBQgODgYu3btgp+fn9TRTIIQAuHh4RgwYADc3NzwwQcfIDY2FhcuXOB7+JAyMzPRpUsXaDQaJCQkSB3HZMXFxWHevHlYuXIlGjduLHUckzN16lT4+fnhlVdeAQBMmzYNTk5OWLRokcTJjF9RURF27dqF2bNno0ePHli3bp3ue0899RSeeOIJjB07FhcvXsSYMWNw+vRpWFhYSBe4mnhbpBKFhYVYuHAhxo0bBwCwtrZGeHg4Fi9eLHEy03Hp0iXMmTMHr7/+Op5//nns378fMpkMO3fulDqayZo3bx7Gjh0rdQyTlpmZibFjx+LDDz9kYfGQDh06pPcbdfv27XHhwgUJE5kOCwsLPPnkk+jSpYte++nTp7Fr1y48/fTTAEreU5lMhg0bNkgR86GxuKjE0aNHkZ6ejnbt2unagoKCeGGshtatW6Nfv366r5s0aYLAwEB2nT6kbdu2oUuXLmjevLnUUUzaggUL4OvriyVLliAkJASzZ8+GRqOROpZJ6dChA1atWgWtVgsAOHXqFCIjIyVOZVr+3Ruxfft2+Pv7630+BgUFYceOHXUdrUZYXFQiJiYGcrkcTk5OujYnJyekpqYiMzNTwmSmw9LSskxbZmYmhgwZIkEa05aWloZdu3Zh/PjxUkcxaXl5eVizZg0eeeQRrFixAuvWrcPq1asxZ84cqaOZlOXLlyM+Ph5jx45FdHQ0nnzySQwaNEjqWCYtJiYGLi4uem1OTk64fv26RIkeDouLSiiVSjg6OuotElJaUebl5UkVy6T98ccfGD58eLmrutGD/fe//+X9bAM4ceIE8vPzMWbMGMhkMrRp0wZPP/00Vq9erfstnCrn7u6OH3/8EQqFAoMHD+Z7ZwBKpRLOzs56bVZWViZ3vWFxUQlnZ2eo1Wq9tvz8fADQ682gqikqKsKGDRvw9ttvSx3F5Pz4448ICwuDm5ub1FFMXnJyMgCgUaNGurawsDDk5+fj7t27UsUyOVeuXMGxY8fw6aef4v3338fw4cOxb98+qWOZtIquOaZ2vWFxUQk/Pz/k5uaioKBA15aamgpPT0/Y2tpKmMw0ffDBB/i///s/jrd4CJ999hlGjx4NmUwGmUyGF154Abdu3YJMJsOhQ4ekjmdS7O3tAUDv1maTJk0A8JeG6pg4cSJCQ0N1/z1t2jS89tprEqcybX5+fkhLS9NrS01NRevWrSVK9HBYXFQiLCwMLi4uOHnypK4tJiYGEREREqYyTWvWrMFjjz2me1idWq1GcXGxxKlMx5dffomzZ8/q/rz11ltwd3fH2bNn0blzZ6njmZTu3bvDwsICf/75p64tIyMDHTt2hJ2dnYTJTMv58+f1xlRNmDABd+7ckTCR6Xvqqadw4cIFvd4LU7zmsLiohIWFBWbNmoUtW7YAAHJzc3HgwAHMnTtX4mSmZdWqVYiPj0dycjL27t2LLVu2YOLEiXxgXTX4+/sjODhY96d58+awtLREcHAwL4jV1LhxY8yYMQOrV6/WtW3duhVvvvmmhKlMz6BBg7Bnzx7d19euXeNA7WoqLi7WG6vSsWNH9OrVC3v37gUAnDt3DnK5HCNHjpQq4kPhIlpVUFxcjLlz56KwsBBKpRKTJk1Cz549pY5lMtauXYsJEyaUaZ8+fTo+/vhjCRLVD+vWrcPChQu5iNZD0mg0mD17NvLy8uDg4ABvb29MnTpV6lgmRalU4rXXXoOHhwfs7OyQnJyM+fPnQ6FQSB3NJPz444+YPXs25HI53nvvPV0BkZaWhlmzZsHd3R1paWl455134OHhIXHa6mFxQURERAbF2yJERERkUCwuiIiIyKBYXBAREZFBsbggIiIig2JxQURERAbF4oKIiIgMisUFERERGRSLCyIiIjIoFhdERERkUCwuiIiIyKBYXBAREZFB/T9Ht1sLDy2q1gAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(x,y,marker='.',label='actual responses')\n", "z = np.linspace(0, 10, 100).reshape(-1, 1)\n", "plt.plot(z,model.predict_proba(z)[:,1],label='reg line p(x)')\n", "m=model.coef_[0][0]\n", "b=model.intercept_[0]\n", "x1=(-0.1-b)/m\n", "x2=(+1.1-b)/m\n", "plt.plot([x1,x2],[-0.1,1.1],label='logit f(x)')\n", "plt.plot([-.5,10.5],[0.5,0.5],'k--')\n", "plt.scatter(x,model.predict(x),marker='x',label='predictions')\n", "plt.legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The blue circles represent the actual responses as well as the correct predictions. The × shows the incorrect prediction. The full blue line is the estimated logistic regression line 𝑝(𝑥). The orange line is the logit 𝑓(𝑥).\n", "\n", "The value of 𝑥 slightly above 2 corresponds to the threshold 𝑝(𝑥)=0.5, which is 𝑓(𝑥)=0. This value of 𝑥 is the boundary between the points that are classified as zeros and those predicted as ones.\n", "\n", "For example, the first point has input 𝑥=0, actual output 𝑦=0, probability 𝑝=0.26, and a predicted value of 0. The second point has 𝑥=1, 𝑦=0, 𝑝=0.37, and a prediction of 0. Only the fourth point has the actual output 𝑦=0 and the probability higher than 0.5 (at 𝑝=0.62), so it’s wrongly classified as 1. All other values are predicted correctly.\n", "\n", "When you have nine out of ten observations classified correctly, the accuracy of your model is equal to 9/10=0.9, which you can obtain with .score() which takes the input and output as arguments and returns the ratio of the number of correct predictions to the number of observations." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.score(x, y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can get more information on the accuracy of the model with a confusion matrix. In the case of binary classification, the confusion matrix shows the numbers of the following:\n", "\n", "- True negatives in the upper-left position\n", "- False negatives in the lower-left position\n", "- False positives in the upper-right position\n", "- True positives in the lower-right position\n", "\n", "To create the confusion matrix, you can use confusion_matrix() and provide the actual and predicted outputs as the arguments:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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Pq8V0gDkzd7dAEBExAUXXBC//e1v+3WuThqAvFV54di+ENIAZK3a96T3hXE3ACRKJw1A3oy7ASBNxt0AQNl00gDkzbgbANJUSjikjbsBIFE6aQDylnAnLaQByJpxNwBQNp00AHlLuJMW0gBkzbgbACibThqArKXcSQtpALKWckgbdwNAonTSAOSt1FDvCvZISAOQNeNuAKBsOmkAslYqGncDQJKMuwGAsumkAchayepuAEiTcTcAUDadNABZs7obABJVKtW7gj0z7gaAROmkAciacTcAJCrlkDbuBoBE6aQByFrKC8eENABZM+4GAMqmkwYga/buBoBE2bsbACibThqArBWNuwEgTSnfkzbuBoBE6aQByFrKz0kLaQCylvKOY8bdAJAonTQAWTPuBoBEpfwIlnE3ACRKJw1A1lJ+TlpIA5A1q7sBgLLppAHImoVjAJCoUqmhYq892bBhQ8yaNSuGDx8eH/rQh+LnP/95v2oT0gBQZTfffHPMnz8/Hn300ejs7IzzzjuvX9cZdwOQtWovHNu+fXtcccUVMWHChIiI+NKXvhRz5szp17VCGoCsVfue9KBBg3oCOiJi586d8fnPf75f1wppAKiRl19+Oe6///548MEH+3V+zUP6v/37z2r9lbBf2PbKU/UuAbK0L5uZfHPrb+KBrb/peX91a2u0tLTs9tzVq1fH9ddfH0888UTMmDEj2traorm5udfPbyiVavsYd9PAg2v5dbDfENLwToVxk6r+Hf920BkV+6yPvLKsz3MefvjhOPPMM+P++++Pc889t9dzre4GgBo6/fTT48QTT4xXXnmlz3PdkwYga/XYFXTUqFFx1FFH9XmeThqArBVLDRV77c7mzZvjvvvui82bN0dExLPPPhs7duyIj33sY33WJqQBoIpef/31uPHGG2PKlClx9tlnxwMPPBDf/va3+3WtcTcAWav2T1Uedthh8eKLL+7VtUIagKwV611AL4y7ASBROmkAslaKdH+qUkgDkLViPZ7B6ifjbgBIlE4agKwVjbsBIE0p35M27gaAROmkAchays9JC2kAsmbcDQCUTScNQNaMuwEgUSmHtHE3ACRKJw1A1lJeOCakAchaMd2MNu4GgFTppAHImr27ASBRCf9SpXE3AKRKJw1A1lJ+TlpIA5C1YkO696SNuwEgUTppALKW8sIxIQ1A1lK+J23c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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cm = confusion_matrix(y, model.predict(x))\n", "import seaborn as sns\n", "sns.heatmap(cm, annot = True);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Three true negative predictions: The first three observations are zeros predicted correctly.\n", "- No false negative predictions: These are the ones wrongly predicted as zeros.\n", "- One false positive prediction: The fourth observation is a zero that was wrongly predicted as one.\n", "- Six true positive predictions: The last six observations are ones predicted correctly." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " precision recall f1-score support\n", "\n", " 0 1.00 0.75 0.86 4\n", " 1 0.86 1.00 0.92 6\n", "\n", " accuracy 0.90 10\n", " macro avg 0.93 0.88 0.89 10\n", "weighted avg 0.91 0.90 0.90 10\n", "\n" ] } ], "source": [ "print(classification_report(y, model.predict(x)))" ] }, { "attachments": { "Screen%20Shot%202023-11-02%20at%2010.46.36%20PM.png": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABw4AAACqCAYAAAC0/muqAAABQmlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGASSCwoyGFhYGDIzSspCnJ3UoiIjFJgf87AzcDEIMagzsCUmFxc4BgQ4ANUwgCjUcG3awyMIPqyLsisVym1y3yyM1KNO37uX3Tp7iZM9SiAKyW1OBlI/wHilOSCohIGBsYEIFu5vKQAxG4BskWKgI4CsmeA2OkQ9hoQOwnCPgBWExLkDGRfAbIFkjMSU4DsJ0C2ThKSeDoSG2ov2A0+7goeLkEKJt4EHEsqKEmtKAHRzvkFlUWZ6RklCo7AEEpV8MxL1tNRMDIwMmZgAIU3RPVnMXA4MoqdQohVXmdgsAgEMmIQYiE3GRh2BTAwcM9GiGmoMTDwAsPtuGlBYlEi3AGM31iK04yNIGyeIgYG1h///3+WZWBg38XA8Lfo///fc////7uEgYEZaOaBQgD9VF97/zF0KwAAAIplWElmTU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAIdpAAQAAAABAAAATgAAAAAAAACQAAAAAQAAAJAAAAABAAOShgAHAAAAEgAAAHigAgAEAAAAAQAABw6gAwAEAAAAAQAAAKoAAAAAQVNDSUkAAABTY3JlZW5zaG90YxKOmgAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAddpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDYuMC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTcwPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE4MDY8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpVc2VyQ29tbWVudD5TY3JlZW5zaG90PC9leGlmOlVzZXJDb21tZW50PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4Ku8LsWgAAABxpRE9UAAAAAgAAAAAAAABVAAAAKAAAAFUAAABVAABRH2MqgnIAAEAASURBVHgB7J0HuN3Escc3BEIghACPYFogQMgDQic0A6GEZsCmGQymuAEmNs2YXowBm2KqsQ2m25huSiCEZnrvndBCD+EBCQmBByHkkae/rkees5Z0pFmdY137v993r1bSjrT6ndVod2d39jv/iYJjIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESmKUJfIeGw1n69+fDkwAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkEBMgIZDFgQSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAFHwyELAQmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAA2HLAMkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAKOhkMWAhIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARoOWQZIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgAQiAlzjkMWABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiAhkOWARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgAc44ZBkgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARKICNBVKYsBCZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAADYcsAyRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAApxxyDJAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiQQEaCrUhYDEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABGg5ZBkiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABDjjkGWABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEggIkBXpSwGJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACNByyDJAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACXDGIcsACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBARICuSlkMSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAEaDhkGSABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEuCMQ5YBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCBiABdlbIYkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJ0HDIMkACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJMAZhywDJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACEQG6KmUxIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESoOGQZYAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAzDlkGSIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAEIgJ0VcpiQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQMMhywAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkABnHLIMkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJRAToqpTFgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgIZDlgESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAHOOGQZIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESiAhU5qr0/AlXEygJkAAJkAAJkAAJkAAJkAAJ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DsszJLvyzCBBbjZuZGfnRnZkF0bALk19R3Z2AnZJljuysxOwSbLM2bhBiuzIzk7ALslyR3Z2AnZJljuysxOwS7Lc2diRm40bpIQdDYeKYYjhsG+fPdwf/vBycrVNN93MnXTyqcm+Hxk0aKB76sknk8PrrLOuO2fMuGSfkWwCTz75hBs8aN8kwbhzx7s111wr2W9H5PPP/+G6b7OV+/LLL+Pb9e3b3w0avF/QraswHP7pT39ykyZNisriH9xHH33klllmGbfWWmu51VZbza288sputtlmM+Xx4osvdp9++mlT2RVWWMFtvfXWqemeeeYZd+2117o33njDffXVV26llVZyMPquueaaDob2kCAKLcRwWHX+LrzwQvf3v/+91GN95zvfcQcddJCbffbZY7nXXnvN3XzzzYWuMWDAALfAAgsUSqsTVcFOX+/SSy+N8/zzn//cnXpqtg7UMnnxkDL9f//3f+62225zU6ZMcW+99Zb73ve+59ZYYw23+uqrx+Xuv/7rv/JunXuuam642ZAhQ9w777zjevbs6Xbbbbfc+xc5iTL99NNPuxdeeME99dRTschyyy3nll12Wbfjjju6//7v/069zF133eWeffbZ1HP64Nxzz+0GDx6sDxWK15ldFe/cF1984a666ir3ZPSNR/nF4JJ111031sPQed///vcLcUpLVDW7f/zjH65fv37u22+/dccee2z8bqTdN+/Yq6++6n73u9/lJUk9Bybrr79+cq6K70xysZRIHdndeeed7vnnn0/Jbf6hnXfe2S255JJxItRDxo0rVn/cfPPN3SqrrJJ/8ZSzVbCz6qOU7Ex3KFTXh3xnpsuMd6Du7N5991338MMPx98J/EYYBIlvw89+9jO38cYbu1//+tfeE3XsVqErUy+sDoayQ7m477773Isvvhi/Z88991xcT0L9ZPnll3e77767qd6ELFahr6qudyp0SUPfWi+umh2+i+edd57OYqH4oosu2lAf6gz1E7wbjz32WPxOocx997vfdUsssUTcJttll13cUkstVejZsxKF6KtQXZmVJxwPfV9xjVayCynTVbzveL6sUAW7Rx55xKG84Q86b/7554/L2oorruh23XXXuC6adf+841Xo+s5ULxYWZ599tjv33HPj3bvvvtv95Cc/kVOltqHvXMj73iyjVZQ7/x543r59+7rHH388ZgZ2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Ctz60UcfusMOPST2OvbY/u7Yfv0b/JMeN6Cfe/bZZ8L33XHHndwVV179vRYvsygcvv322+6GG25wL774onvvvffcr371K7frrru6nXfe2e2www7f6/E3+Any3jC6oKUpHD733HNuxowZ7rXXXnNffvml23777V3Lli1dq1atvveisfdRGnwWO408C7dvvvnGzZ07182fP9+9/vrrbrXVVnMtWrRwu+yyS5h366+/vnZwjTwKO/0EZWH3r3/9y91yyy3u6aefdvad8ZOf/MS1adMm/J6wa97qq6+uH2AjjszCzv94n376qevTp49bsWKFGz9+fPjv1t9eSfNZ2NE+OSyTlPjzn//sJk2aFL7WzTff7NZYY41MXrcxvkgWeUfbLpu8++Mf/+juvvtu9+tf/9qdc845jTFdMjmmLHKOtl02OWcndOjQoW7ZsmWuc+fOrnv37pmc48b4IlnkHW27bPKOtp3+L4T2CXblCGRxvfPfp1raJ/aZsfPPfPnzWbvZO1db+4TCoZdvjalwGB3W1EsvCwo/u0WLVfHz5DGj3IMPzo8/64KFD7sf/3ideLmhZp5//jnXv98x8duNGDnKdelyRLyc9UzawuHtt9/uxo4dW/Sw7AbnmDFjim5vyhvSfBlEN33Nr9h0ySWXuA4dOhTb3KTXY6edvjRu9o7//Oc/Xe/evd0LL7xQ8ADWWmstd8cdd7gtttii4PamvBI7/eyltVuyZInr2bOn+/zzzwsehBWt7RewSixGpLXLB7N/n6NHjw5XX3nllW7vvffO36ViltPa0T5xLs0fNvmJZDlnuWfTM88849ZZp+Hbx/7xfJ/zafKOtl1NjmSRd2Zp17e///3vbrvttnN33nnn93naf9DXTpNzduC07bK71i1fvtztt99+YT4ce+yxbuTIkT9obnyfb54272jbZZd3tO30TKd9gl05Ammvd/57VFP7xD43dv7ZL38+Szd712psn1A49PKtMRYOf7reem7mzDuDwtmPvSOt3Nn8Yl237j3ckCHDfrAPfFTPbu7ll1+O33/+gw+5ddddN17OciZN4fChhx5y/fvn9srcbbfdwoua/aIfTQMHDnSDBw+OFivmZ5ovg8mTJ7urrroqtrCCzU477eQWL16cc3P9mmuucXvuuWe8X6XMYKedyTRu//nPf1y3bt3CHIve/Ze//KXbOBii+qmn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" } }, "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "\n", "A group of 20 students spends between 0 and 6 hours studying for an exam. How does the number of hours spent studying affect the probability of the student passing the exam?\n", "\n", "The table shows the number of hours each student spent studying, and whether they passed (1) or failed (0).\n", "\n", "![Screen%20Shot%202023-11-02%20at%2010.46.36%20PM.png](attachment:Screen%20Shot%202023-11-02%20at%2010.46.36%20PM.png)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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PXq0JKlJkyZKSEjQ008/XePYr776Ss2bN1dQUJAkqV27dgoMDNShQ4caMjIAAPAgjxSW7du3Kz8/XzExMbaxnj17Ki0trcaxMTEx2r9/v7Zs2SJJOnTokP785z8rNja2oeICAAAP80hhSU9Pl4+Pj90lndDQUOXm5qqgoMDu2G7duunJJ5/U8OHD9emnn2rdunX66KOPZDKZ6py/W7duioiIUEREhJKTk932dwAAgIbhkTUshYWFatmypXx8futLgYGBkqSysrIaa1NmzpwpPz8/3X///YqKitKoUaPqnX///v0KCQlxfXAAAOARHjnDEhYWpsrKSrux8vJySap1Ie3MmTN111136bPPPtORI0c0ePBgWSyWBskKAAA8zyOFJTo6WqWlpaqoqLCN5ebmKiIiwra49rRNmzZp3759Cg0NVVhYmNLS0rR792598MEHDR0bAAB4iEcKS9++fRUeHq6dO3faxtLT0zVw4MAax+7Zs0cBAQG2x5GRkbrhhht09OjRBskKAAA8zyOFxd/fX1OnTlVqaqokqbS0VJs2bVJiYqLy8/MVFxenH3/8UZJ0/fXX6z//+Y9KSkokSRaLRYcPH9YNN9zgiegAAMADTFar1eqJFzabzUpMTFRVVZUKCws1fvx49e7dW9nZ2erRo4c2btyouLg4SVJaWppWrVqlHj166NixY7ruuus0YMCAGnMWFRWpRYsWKiwsZNEtAABewpHPb48VFnegsAAA4H0c+fzmyw8BAIDhUVgAAIDhUVgAAIDhUVgAAIDhUVgAAIDhUVgAAIDhUVgAAIDhUVgAAIDhUVgAAIDhUVgAAIDhUVgAAIDhUVgAAIDhuaywlJSUuGoqAAAAO37O/oLZbFZOTo6qq6vtxhYuXKh58+a5NBwAAIDkZGH517/+pcTERJWVldmNW61WmUwmCgsAAHALpwrLzJkz9fjjj2vo0KEKCAiwjVssFs2fP9/l4QAAACQnC8tf/vIXjRo1Sm3btq3x3MyZM10WCgAA4PecWnT79ttv65133qn1ueXLl7skEAAAwB85VVh2796tefPmydfXt8bPww8/7K6MAADgPOfUJaEJEyZo8ODBuv3229WkSRPbuMVi0eLFi10eDgAAQHKysERGRmrBggVq0aJFjec6derkslAAAAC/59QloSVLlmjt2rW1Prd7926XBAIAAPgjk9Vq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FRAQoCuvvFJDhw6Vn5/TUwEAADjEqTMs7733nkaPHq3Kykq1b99erVu31vHjx9WyZUutW7dOHTt2dGfWM+IMCwAA3sflG8c99NBD6t27t3744QcdPXpUu3fvVnZ2tl599VUlJia6JDQAAMAfOVVYrFar5s+frz//+c924/Hx8ercubNLgwEAAJzmVGF5/fXXtXnz5hrjJ0+eVElJid3YW2+9dW7JAAAA/supNSxDhgzRTz/9pFatWikwMFCSZLFYdODAATVr1kwXXHCBpFMF5ttvv1VRUZF7UteBNSwAAHgfl98l1KlTJzVt2lTdunWTyWSyjV977bV2x5nNZhUWFp5FZAAAgJqcKixTpkxRkyZN1K5duzMe27dv37PNBAAAYMepwhIVFeXwsf369XM2CwAAQK2cWnQLAADgCfUWlmeeeUYdOnRoqCwAAAC1qrewvP7661q0aJHt8ffff1/nsdXV1a5LBQAA8Dv1FpabbrpJ/fv3tz1+6aWX6jx2zZo1rksFAADwO/Uuur3kkks0duxYRUZGytfXV7t379acOXNqHFdWVqbU1FTdcsstbgsKAADOX/UWljFjxqhdu3Z65513lJ2drezsbG3ZsqXGcZWVlTp69KjbQgIAgPPbGW9rvvHGG3XjjTdKksaPH6/FixfXetyrr77q2mQAAAD/5dTW/MXFxQoODq71OYvFIh8fz94lzdb8AAB4H5dvzR8cHKzy8nItW7ZM3377rQICAhQfH69hw4Z5vKwAAIDGy6kzLPv379f111+vvLw8RUZGqk2bNiooKJCfn582bNhg+/JDT+EMCwAA3seRz2+nTovce++9mjhxoo4fP66MjAxt375d6enpev/99/XEE0+4JDQAAMAfOf1dQo8++miN8YsuuohLQgAAwG2cahnNmjWrdXz37t3asWOHSwIBAAD8kVNnWPr166c+ffpowIABCgkJUU5OjrZu3art27fXebszAADAuXKqsAwbNkxt2rTRs88+q23btkmS4uLitGHDBv3tb39zS0AAAACn7hIyOu4SAgDA+7j8LiEAAABPoLAAAADDo7AAAADDc6qw7N271105AAAA6uRUYbnxxhv17LPP6vDhw+7KAwAAUINTtzXPnz9fHTp00MKFC5WVlaU+ffpoxIgRCg8Pd1c+AACAc7utedu2bXr99deVm5urv//97xo+fHid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AAAYHoUFAAAYHoUFAAAYHoUFAAAYHoUFAAAYnkcLS1JSksaPH69//OMf+uSTT+o87uWXX1ZkZKRat26tSZMmqaysrAFTAgAATzvjtzW7y8KFC5WRkaGUlBRVVFQoNjZW69atU3R0tN1xaWlp+vjjj/X8889rz549mjt3rsxmsxYtWuSh5AAAoKF5pLBUVVVp9uzZWr16tSSpSZMmSkhI0NNPP62UlBS7YzMzM7V27Vr5+Pho5MiRslgsWrx4MYUFAIDziEcuCW3fvl35+fmKiYmxjfXs2VNpaWk1jp04caJ8fH6L2bdvXwUGBjZITgAAYAweKSzp6eny8fFRaGiobSw0NFS5ubkqKCiwOzYgIMDu8fHjx3XzzTfXO3+3bt0UERGhiIgIJScnuy44AADwCI9cEiosLFTLli3tzpycPmtSVlZmV2T+aO3atXrttdfqnX///v0KCQlxTVgAAOBxHjnDEhYWpsrKSrux8vJySaq3rHzwwQe644471K5dO7fmAwAAxuKRwhIdHa3S0lJVVFTYxnJzcxUREaGgoKBaf+fAgQM6dOjQGS8HAQCAxscjhaVv374KDw/Xzp07bWPp6ekaOHBgrcf/8ssvWrlypaZOnWobKy0tdXtOAABgDB4pLP7+/po6dapSU1MlnSofmzZtUmJiovLz8xUXF6cff/xR0qkzL+PHj1dsbKw2btyo9evXKzk5We+//74nogMAAA8wWa1Wqyde2Gw2KzExUVVVVSosLNT48ePVu3dvZWdnq0ePHtq4caO6deumXr16KT093e53fX19dezYMbVu3dpuvKioSC1atFBhYSGLbgEA8BKOfH57rLC4A4UFAADv48jnN19+CAAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAADI/CAgAA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PfeoT58+ys3Ndct7CuA3FBYALvHss8+qqKhIc+fOVVpamo4dO6ZRo0bJ19dXkyZNUvv27W3H3nzzzerRo4ck6eTJk2rVqpW+/vprpaamasaMGbr66qu1bds2FRcX64knntDmzZt1ySWX1Pq6q1atUlRUlObMmaPPPvtM7du3V2BgoJ577jlJ0oMPPqikpKR6M0inis+AAQP0z3/+UwsWLNC0adOUn58vSercubNSUlIkSX379pUkmUwmRUZG6rnnnlPr1q1d90YCqJVxz+cCMIyZM2eqRYsWdT5fXV2tF154QR999JGkUx/mU6ZM0aBBg5Senq6LL764xuWV048DAwN13XXXSZJGjBihwYMHa/jw4UpNTdV7772nO++8UzExMbb1NH+Uk5Oj5cuX66abblKHDh10991315mzrgyS9Pbbb6tZs2a69NJLJUlxcXFq27at7flevXrpyiuv1LJlyxQbGytJ2r17tx5++OE6Xw+A63CGBcAZJSUlaenSpXY/v7dv3z4VFBQoJCTENtazZ09J0rfffnvG+U8Xh+DgYNtYQkKCWrdurdjYWI0fP15dunSp9XdHjhypwsJCde3aVTNmzLCVCWdt2bJFkZGRdmNNmjSxezxx4kQtW7ZM5eXlysjIqDMTANejsABwmZycHNt/b9OmjSQpICDgrOZq1qyZ/vOf/2jWrFl6++231atXLxUXF9c47k9/+pP27NmjCRMmKDk5Wf369ZPZbHb69fLy8lRYWFjvMSNGjJAkrVy5UitXrtTIkSOdfh0AZ4fCAuCcXXTRRQoODtbWrVttYwUFBfLx8VGfPn0knSouFRUVtuctFku9e5xs2bJFVqtVjz32mHbs2KGcnBz9+9//rnHchg0bFBISogULFmjjxo3auXNnnWd16ssQHR2t3bt31yhFv8/YpEkTjR49Wq+88orS09MVExNTz7sCwJUoLADqVFlZKenUGpX6xoOCgjR58mSlpKSoqKhI0qmdYseOHWtbBxIVFaXU1FSlp6dr/vz5ysrK0v79+5WVlWUrBVVVVbbX+OWXX/Tmm29KkmJiYnTRRRcpOjq6RsY9e/Zow4YNkqR+/fqpbdu2tks7QUFBOnDggD7++GNZrdZ6M9x9990qKSnRfffdp/Lycu3atUsnTpzQd999p+PHj9teb+LEidq1a5fdgl0A7kdhAVCrbdu26aWXXpIkPf3003Y73T766KOSpOXLl2vNmjWSpFmzZunWW2/Vddddp0mTJumHH37QwoULbfM99thj+u677zRkyBBdccUV6tq1q8LDw1VaWqpnnnlGkjR37lylp6fbfuf+++/XHXfcoenTp2vMmDF1rk+5+eabNXHiRE2ePFkvvvii7XLU/fffr+nTpysvL08mk6nODFVVVerevbtWrFihzZs3KyoqSp988omio6PVpEkTmUwm22t16dJF8fHxXA4CGpjJyr7TAOCU8ePHa/HixZ6OAZxXOMMCAE7YtWuX7dZnAA2HfVgAwAFTpkyRv7+/vvvuO61evdrTcYDzDoUFABzw1VdfKTc317bBHICGxRoWAABgeKxhAQAAhkdhAQAAhkdhAQAAhkdhAQAAhkdhAQAAhkdhAQAAhvf/XDwuNidnmfIAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t=np.array([0.50,0.75,1.00,1.25,1.50,1.75,1.75,2.00,2.25,2.50,2.75,3.00,3.25,3.50,4.00,4.25,4.50,4.75,5.00,5.50])\n", "y=np.array([0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1])\n", "\n", "plt.scatter(t,y)\n", "plt.xlabel('Hours study')\n", "plt.ylabel('Probability of passing exam');" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.611263466540677 -1.3655017807311167\n", "midpoint 3.0518784171554536\n", "0.8\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from sklearn import linear_model\n", "\n", "t=np.array([0.50,0.75,1.00,1.25,1.50,1.75,1.75,2.00,2.25,2.50,2.75,3.00,3.25,3.50,4.00,4.25,4.50,4.75,5.00,5.50])\n", "y=np.array([0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1])\n", "\n", "x=t.reshape(-1,1)\n", "model = LogisticRegression(solver='liblinear', random_state=0)\n", "model.fit(x, y)\n", "\n", "plt.scatter(x,y,marker='.',label='actual responses')\n", "z = np.linspace(0, 10, 100).reshape(-1, 1)\n", "plt.plot(z,model.predict_proba(z)[:,1],label='reg line p(x)')\n", "m=model.coef_[0][0]\n", "b=model.intercept_[0]\n", "print('slope&y-intersect',m,b)\n", "midpoint=(0.5-b)/m\n", "print('midpoint',midpoint)\n", "x1=(-0.1-b)/m\n", "x2=(+1.1-b)/m\n", "plt.plot([x1,x2],[-0.1,1.1],label='logit f(x)')\n", "plt.plot([-.5,10.5],[0.5,0.5],'k--')\n", "print('model score',model.score(x, y))\n", " \n", "plt.scatter(x,model.predict(x)+0.05,marker='x',label='predictions')\n", "for n,m,o in zip(x,y,model.predict(x)+0.05):\n", " plt.plot([n,n],[m,o],'k--')\n", "plt.grid()\n", "plt.legend();\n" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cm = confusion_matrix(y, model.predict(x))\n", "sns.heatmap(cm, annot = True);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Seven true negative predictions: The seven observations are zeros predicted correctly.\n", "- One false negative predictions: These are the ones wrongly predicted as zeros.\n", "- Three false positive prediction: The three observations are zeros that were wrongly predicted as one.\n", "- Nine true positive predictions: The nine observations are ones predicted correctly.\n", "\n", "Now, pick your hours, get your probability" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "hours probablity\n", "0.50 0.26\n", "0.75 0.29\n", "1.00 0.32\n", "1.25 0.35\n", "1.50 0.39\n", "1.75 0.43\n", "1.75 0.43\n", "2.00 0.46\n", "2.25 0.50\n", "2.50 0.54\n", "2.75 0.58\n", "3.00 0.61\n", "3.25 0.65\n", "3.50 0.68\n", "4.00 0.75\n", "4.25 0.77\n", "4.50 0.80\n", "4.75 0.82\n", "5.00 0.84\n", "5.50 0.88\n" ] } ], "source": [ "def model2prob(model,x):\n", " log_odds = model.coef_ * x + model.intercept_\n", " odds = np.exp(log_odds)\n", " probability = odds / (1 + odds)\n", " return(probability)\n", "\n", "print('hours','probablity')\n", "for z in x:\n", " print('%.2f' % z[0],'%.2f' % model2prob(model,z)[0][0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "----\n", "\n", "Just like we could extend the idea of linear regression to polynomial regression, we aren't confined to linear decision boundaries with logistic regression.\n", "\n", "Consider the hypothesis:\n", "$$\n", "h_\\theta(x) = g(\\theta_0 + \\theta_1 x_1 + \\theta_2 x_2 + \\theta_3 x_1^2 + \\theta_4 x_2^2)\n", "$$\n", "\n", "Let's say $\\theta_0 = -1$, $\\theta_1 = 0$, $\\theta_2 = 0$, $\\theta_3 = 1$, and $\\theta_4 = 1$. Then we will predict that $y=1$ if:\n", "$$\n", "-1 + x_1^2 + x_2^2 \\geq 0\n", "$$\n", "\n", "Giving us a circular decision boundary. We can go to even higher-order polynomials, allowing a very wide range of shapes for our decision boundary." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "If we try to use the sigmoid function with our mean squared error cost function, $J(\\theta)$ will have lots of local maxima and make minimization very difficult. First lets modify our notation a bit for cost functions to be more flexible going forward.\n", "\n", "Recall our mean squared error cost function\n", "$$\n", "J(\\theta) = \\frac{1}{m}\\sum_{i=1}^m \\frac{1}{2} (h_\\theta(x^{(i)}) - y^{(i)})^2\n", "$$\n", "\n", "We'll define the term being summed as $\\mathrm{Cost}$, and in general this term will be a function of $h_\\theta(x^{(i)})$ and $y^{(i)}$ (we'll drop the superscripts for brevity). So for the case of the mean squared error:\n", "$$\n", "\\mathrm{Cost}(h_\\theta(x), y) = (h_\\theta(x) - y)^2\n", "$$\n", "\n", "Now let's consider the following cost function:\n", "$$\n", "\\mathrm{Cost}(h_\\theta(x), y) = \\begin{cases} \n", " -\\log(h_\\theta(x)) ~~~~ & \\mathrm{if~} y=1 \\\\\n", " -\\log(1 - h_\\theta(x)) ~~~~ & \\mathrm{if~} y=0 \\\\\n", " \\end{cases}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can again minimize $J(\\theta)$ using gradient decent:\n", "\n", "$$\n", "\\mathrm{repeat~until~convergence} \\{\\\\\n", "\\theta_j = \\theta_j - \\alpha \\frac{\\partial}{\\partial\\theta_j}J(\\theta_0, \\theta_1) \\mathrm{~~~~for~}j=0\\mathrm{~and~}j=1\n", "\\\\\\}\n", "$$\n", "\n", "A little calculus leads to:\n", "$$\n", "\\frac{\\partial}{\\partial \\theta} = \\frac{1}{m}\\sum_{i=1}^m(h_\\theta(x^{(i)}) - y^{(i)})x_j^{(i)}\n", "$$\n", "\n", "which looks identical to the case for linear regression, but remember our $h_\\theta(x)$ is different now." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our new $J(\\theta)$:\n", "$$\n", "J(\\theta) = -\\frac{1}{m}\\left[\\sum_{i=1}^m y^{(i)}\\log h_\\theta(x^{(i)}) + (1 - y^{(i)})\\log (1 - h_\\theta(x^{(i)})\\right]\n", "$$\n", "\n", "is equivalent to the following in vector form:\n", "$$\n", "J(\\theta) = -\\frac{1}{m}(y^T \\log(h) + (1 - y)^T\\log(1 - h))\n", "$$\n", "\n", "and our hypothesis in vector form:\n", "$$\n", "h = g(X\\theta)\n", "$$\n", "\n", "Implying the following form for the gradient decent algorithm\n", "$$\n", "\\mathrm{repeat~until~convergence} \\{\\\\\n", "\\theta := \\theta - \\frac{\\alpha}{m} X^T(g(X\\theta)-\\vec{y}) \\mathrm{~~~~for~}j=0\\mathrm{~and~}j=1\n", "\\\\\\}$$\n", "\n", "But we're getting to problems that are too complex for our simple gradient decent approach, so we'll start leaning more heavily on more advanced algorithms (e.g., conjugate gradient, BFGS, L-BFGS, powell) for optimization. We won't go into the details of how these work, so we'll make use of existing implementations." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's download some two-feature data to work with. We'll look at student admittance based on their performance on two exams. This data is in the repo, or it can be downloaded manually:\n", "```bash\n", "!wget https://raw.githubusercontent.com/JWarmenhoven/Coursera-Machine-Learning/master/notebooks/data/ex2data1.txt -O ../data/ex2data1.txt\n", "``` " ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "34.62365962451697,78.0246928153624,0\n", "30.28671076822607,43.89499752400101,0\n", "35.84740876993872,72.90219802708364,0\n", "60.18259938620976,86.30855209546826,1\n", "79.0327360507101,75.3443764369103,1\n" ] } ], "source": [ "!head -n5 data/ex2data1.txt" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "data = np.loadtxt('data/ex2data1.txt', delimiter=',')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's build your feature matrix $X$ and result training vector $y$." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "X = np.column_stack((np.ones(len(data)), data[:, :2]))\n", "y = data[:, 2].reshape(-1, 1)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "def plot_data(data, xlabel='Exam 1 score', ylabel='Exam 2 score', cat0label='rejected', cat1label='admitted'):\n", " cat0 = data[:, 2] == 0\n", " cat1 = data[:, 2] == 1\n", "\n", " plt.scatter(data[cat0][:, 0], data[cat0][:, 1], marker='o', label=cat0label)\n", " plt.scatter(data[cat1][:, 0], data[cat1][:, 1], marker='+', label=cat1label)\n", "\n", " plt.xlabel(xlabel)\n", " plt.ylabel(ylabel)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "image/png": "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q1atMGTIEFy6dAlTp07F3LlzAQAff/wxDh06hODgYPz000/VxgIAf//733HhwgWcOHECx48fR14eR9RwcjYi+XBUd683jTZk8uICUv1AderUyboEw7Rp0zB69Gh89dVXWLNmDf7xj3+gadOmAIDx48cjJCQEy5cvBwD0798fffr0sXmv/fv3Iz8/H8OHDwcANGvWDGPHjsWXX36J9PR0ZGZm4pVXXsFLL71krUn5+9//joCAANy4caPKGBctWlRtLFu3bsUXX3yBN99807o45+zZsx11ioiInM5Rsw5bup8qY+l+8hSSr3nxBFIevmopdg4NDbVuO3DgAM6dO2fTuhEcHGwzp4ufn5/N+xw4cAAXL15E3759rdv++OMPREREICsrCxkZGTAajejSpYt1/5gxY6yLbFalplg2bNiAkJAQtG7d2rr/tttuq8WRExFJhyNmHfam0YZMXlxAbh+onJwcLFu2DI888ohd39O5c2d89dVXle5fvHgxAKCkpMShsZw/fx5NmjSx6z2JiKSovrMOe9Oil+w2cgG5DV8NDg5GcnJyhe1paWnVfs+JEyfw22+/2Ww3GAz49ddfrWtSnT17tsL3Xr58uc6x+Pn54cqVK1V+PxGRt/CmRS+ZvLiAHD5QtxYN9+nTB1u2bMHChQutLSXnz59HUlJSld/fp08fFBQUYOTIkbh48SIA8+ijGTNmwMfHB7GxsQCAt956y+b7zp49i/PnzwOofIhzTbH06tULN27cwOHDhyt8r8lUeWsXEZGn8prRhsKD5efnCwAiPz+/ytcYjUZx+fJlYTQanR6PyWQSJy9eF5+cuiROXrwuTCaT039mTZ544gkBQKSlpVm3nTlzRvj7+wsAws/PT4SHhwtfX1/x3XffWV/zwgsviFs/PkajUfTu3VsAEABEixYtRMOGDcWMGTOsr5kwYYIAIOLj40VKSorYvHmzmDRpkvXcJycnCwDi+PHj4tdffxXXrl2rMZaff/5ZNGrUSHTq1ElcvXpVCCHEN998IwCICRMmCIPBUK/z48rPBxERmdV0/WbLiwtJbfjq+PHj8e677wIAevfujY0bNwIAOnfujH379qFHjx4AzDPWfvLJJ9WuFaRUKrFr1y5MnjwZQUFBKCoqwpQpU2xaa9auXYuEhARs2LABDz74II4cOYI333wTSqX5Y3j//fdjwIABmDp1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O3bEpUuXEBcXh7i4OABAnz590L17dyxduhQAcNddd6G0tNQhx0BEf2LyQkS11rt3b2sCYtGzZ09MnjwZ+/fvR+/evW32vfHGGzh69Ch2796NrKwsmEwm6z5LwmDh7+9v89zPzw9lZWUOifvxxx9HbGws2rRpg7lz5+KZZ54BAJw9exY9evSwvq5v377Wfx87dgwDBgywPtdoNGjZsiXOnDkDAFAqlQgMDLT5OWlpaVi2bJnNexKR47HbiIjs8vDDD1fY5ufnh4KCArz99ts221944QXs27cPS5YswX333eeqECu444478N///heDBw/G3LlzrS0vJpMJv/zyi81rCwsLrf/+/fffbfY1bdq0ykJmwDwC6uzZszbbrl+/Xt/wiagcJi9EZLePP/7Y2ory8ccf48EHH8RLL72E559/3nrBz8zMxEsvvYQ5c+a4M1QAwJ49e9CsWTNs3LgR69atw9atW3H9+nW0a9cOmzdvxs2bN62v3bx5MwCgW7duOHLkiM375OXlITY2tsqf065dO7z55pswGAwV3o+IHIfJCxFVylKrUb5m4+LFizh69CiUSiV+//13HDp0CA8//DCeeOIJtGjRAgkJCQBgHWWzceNGpKSk4LPPPkNBQQEOHz4Mg8EAo9Fo040khKjwHIC1BqUq5d+nMrt370ZqaioAYMSIEWjSpAk0Gg3i4+Nx+fJlDBkyBJs2bcK0adMQEhICAJg7dy6OHz+O06dPAzAX96pUKgwfPtwaX0lJic3PiY+PR1paGvr164eVK1fikUceQVRUVLWxEVEdCCKico4cOSIGDBggAIiePXuKiRMniokTJ4pRo0YJjUYjPvroI5GTkyN69+4txowZI0wmk8jNzRXR0dECgJgzZ44oKSkREyZMEEFBQWLy5MniyJEjIjg4WKxevVocPXpUtGjRQkRERIh9+/aJ//73v6J///7Cx8dHvPPOOyIrK0uMGTNGABCLFy8WZWVllcb58ccfi/DwcBEZGSk++eSTKo/n8ccfFxqNRjz99NNi+vTp4sCBA9Z9a9asEX/9619FaGioeOutt2y+b926daJz587iscceE1OnThWXLl0SQghx6tQp0bVrV+Hn51fhexYvXiyaNGkiWrRoId555526/hcQUTUUQvz/7Q0RERGRDLDbiIiIiGSFyQsRERHJCpMXIiIikhUmL0RERCQrTF6IiIhIVpi8EBERkawweSEiIiJZYfJCREREssLkhYiIiGSFyQsRERHJyv8BrB98EPu5elQAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_data(data)\n", "plt.legend(framealpha=0.5);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Recall our vectorized form of $J(\\theta)$:\n", "$$\n", "J(\\theta) = -\\frac{1}{m}(y^T \\log(h) + (1 - y)^T\\log(1 - h))\n", "$$\n", "\n", "and sigmoid hypothesis:\n", "$$\n", "h_\\theta(x) = g(X\\theta)\n", "$$\n", "\n", "Let's define our cost function $J(\\theta)$ and it's gradient." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "def cost(theta, X=X, y=y):\n", " m = y.size\n", " h = expit(X.dot(theta))\n", " \n", " J = -1/m * (y.T.dot(np.log(h)) + (1 - y).T.dot(np.log(1 - h)))\n", " J = J[0]\n", " \n", " if np.isnan(J):\n", " return np.inf\n", " \n", " return J" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Also recall our gradient\n", "$$\n", "\\frac{\\partial}{\\partial \\theta} = \\frac{1}{m}\\sum_{i=1}^m(h_\\theta(x^{(i)}) - y^{(i)})x_j^{(i)}\n", "$$\n", "\n", "or, in vector form\n", "$$\n", "\\frac{\\partial J(\\theta)}{\\partial \\theta_j} = \\frac{1}{m} X^T(g(X\\theta) - y)\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**note**: `scipy`'s `minimize` function expects function arguments to be row vectors, so we're going to need to specify our starting point in row-vector form, and make sure the gradient returns a row-vector result." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "def cost_gradient(theta, X=X, y=y):\n", " m = y.size\n", " h = expit(X.dot(theta.reshape(-1, 1)))\n", " \n", " gradient = 1/m * X.T.dot(h - y)\n", " \n", " return gradient.flatten()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "starting theta: \n", " [0. 0. 0.]\n", "Cost: \n", " 0.6931471805599452\n", "Grad: \n", " [ -0.1 -12.00921659 -11.26284221]\n" ] } ], "source": [ "theta0 = np.zeros(X.shape[1])\n", "\n", "c = cost(theta0, X, y)\n", "c_grad = cost_gradient(theta0, X, y)\n", "print('starting theta: \\n', theta0)\n", "print('Cost: \\n', c)\n", "print('Grad: \\n', c_grad)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's minimize this thing." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/var/folders/mq/fpm2c9dj11j3lmfhx1hkhrzc0000gn/T/ipykernel_8487/2529832227.py:5: RuntimeWarning: divide by zero encountered in log\n", " J = -1/m * (y.T.dot(np.log(h)) + (1 - y).T.dot(np.log(1 - h)))\n", "/var/folders/mq/fpm2c9dj11j3lmfhx1hkhrzc0000gn/T/ipykernel_8487/2529832227.py:5: RuntimeWarning: divide by zero encountered in log\n", " J = -1/m * (y.T.dot(np.log(h)) + (1 - y).T.dot(np.log(1 - h)))\n" ] }, { "data": { "text/plain": [ " message: Optimization terminated successfully.\n", " success: True\n", " status: 0\n", " fun: 0.20349770158950983\n", " x: [-2.516e+01 2.062e-01 2.015e-01]\n", " nit: 25\n", " jac: [-2.686e-09 4.364e-07 -1.397e-06]\n", " hess_inv: [[ 2.853e+03 -2.329e+01 -2.274e+01]\n", " [-2.329e+01 2.045e-01 1.730e-01]\n", " [-2.274e+01 1.730e-01 1.962e-01]]\n", " nfev: 33\n", " njev: 29" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res = minimize(cost, theta0, method=None, jac=cost_gradient, options={'maxiter':400})\n", "\n", "theta_opt = res.x.reshape((-1, 1))\n", "\n", "res" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With our model now fit, we can ask what the probability is for a student's acceptance if they scored a 45 on Exam 1, and 85 on Exam 2. " ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7762903249331018\n" ] } ], "source": [ "def h(X, theta=theta_opt):\n", " return expit(X.dot(theta))\n", "\n", "test_point = np.array([1, 45, 85])\n", "\n", "print(\"{}\".format(h(test_point)[0]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's now declare a decison boundary, and say that we predict $y=1$ if $h_\\theta(x) \\geq 0.5$." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "def predict(X, theta=theta_opt, threshold=0.5):\n", " p = h(X, theta) >= threshold\n", " return p.astype('int')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since our data set is classified, we can assess our training accuracy by seeing how well the model predicts the results from the training data." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "training accuracy: 89.0%\n" ] } ], "source": [ "p = predict(X)\n", "\n", "accuracy = 100 * np.count_nonzero(p == y)/p.size\n", "print(\"training accuracy: {}%\".format(accuracy))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Not bad. Let's see where the decision boundary falls with respect to the data." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_data(data)\n", "\n", "x1low, x1high = plt.xlim()\n", "x2low, x2high = plt.ylim()\n", "xx1, xx2 = np.meshgrid(np.linspace(x1low, x1high, 100), np.linspace(x2low, x2high, 100))\n", "\n", "testX = np.column_stack([np.ones(xx1.ravel().shape[0]), xx1.ravel(), xx2.ravel()])\n", "hh = h(testX).reshape(xx1.shape)\n", "\n", "plt.contour(xx1, xx2, hh, [0.5])\n", "plt.scatter(test_point[1], test_point[2], color='r', marker='v', label='Test Point')\n", "plt.legend(framealpha=0.5);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now lets consider a different hypothesis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For this example we'll download some new two-feature training data. This data is also available in the repo, or can be downloaded with:\n", "```bash\n", "!wget https://raw.githubusercontent.com/JWarmenhoven/Coursera-Machine-Learning/master/notebooks/data/ex2data2.txt -O ../data/ex2data2.txt\n", "```" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.051267,0.69956,1\n", "-0.092742,0.68494,1\n", "-0.21371,0.69225,1\n", "-0.375,0.50219,1\n", "-0.51325,0.46564,1\n" ] } ], "source": [ "!head -n5 data/ex2data2.txt" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(118, 3)\n" ] }, { "data": { "image/png": "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KSnBs88+a/IxrVq1QkpKCubNm4fg4GB06tQJa9euRVVVFaZNmwYAmDVrFjZt2oSkpCQsWrQISqUSp06dwsCBA9G9e3e7j+/gwYMYMGAABg8ejL179+LMmTOGK/dskZaWhpdffhlKpRKJiYmorq7Gd999h99++w2pqal44403EBYWhr59+8LLywsHDx6ESqUy1Erq0qULjh07hocffhh+fn5o27atyee5du0aysrKcO3aNWi1WsOUYVRUVKMkeiJqjMESETlEYGCgTe23bNmCxYsX46WXXkJpaSk6deqExYsXW3zM6tWrodPp8Pzzz+PmzZsYMGAAPvvsM0PQ0K5dOxw/fhzz5s3DY489Bm9vb/Tp08coz8keaWlpOHDgAF566SWEhYVh//79htEsW7zwwgsICAjAunXrMG/ePLRq1QoxMTGGkgpt2rTB2rVr8eOPP8Lb2xsPPvggjhw5Ai+v+kmBv/3tb0hNTcW2bdvQsWNHXL161eTzLF261HCFHQBDGYcTJ05gyJAhNvebyNMoBEEQXN0JIiK5UCgUeP/995tcJoWI3AdzloiIiIgsYLBEREREZAFzloiIbMDMBSLPw5ElIiIiIgsYLBERERFZwGCJiIiIyAIGS0REREQWMFgiIiIisoDBEhEREZEFDJaIiIiILGCwRERERGTB/wd5h7Wo2FaNUwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data2 = np.loadtxt('../data/ex2data2.txt', delimiter=',')\n", "print(data2.shape)\n", "\n", "plot_data(data2, xlabel='Microchip Test 1', ylabel='Microchip Test 2', cat0label='y = 0', cat1label='y = 1')\n", "plt.legend();" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "from sklearn.preprocessing import PolynomialFeatures" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "X2 = data2[:, :2]\n", "y2 = data2[:, 2].astype('int').reshape((-1, 1))\n", "\n", "test_frac = .1\n", "test_sel = np.random.choice([True, False], size=len(X2), p=[test_frac, 1-test_frac])\n", "\n", "X2_test = X2[test_sel]\n", "X2 = X2[~test_sel]\n", "y2_test = y2[test_sel]\n", "y2 = y2[~test_sel]" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(106, 21)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "poly = PolynomialFeatures(5)\n", "XX2 = poly.fit_transform(X2)\n", "XX2_test = poly.fit_transform(X2_test)\n", "XX2.shape # 1 x1 x2 x1^2 x1x2 x2^2" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "reg = 0.1\n", "cost2 = lambda theta: cost(theta, XX2, y2)\n", "cost2_gradient = lambda theta: cost_gradient(theta, XX2, y2)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.6931471805599453" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "theta0 = np.zeros(XX2.shape[1])\n", "cost2(theta0)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ " message: Optimization terminated successfully.\n", " success: True\n", " status: 0\n", " fun: 0.28217218944898437\n", " x: [ 1.885e+00 -6.620e+00 ... -9.773e+01 2.393e+01]\n", " nit: 317\n", " jac: [ 1.933e-06 2.207e-06 ... 4.589e-08 -7.612e-07]\n", " hess_inv: [[ 4.043e+02 2.646e+02 ... -1.204e+03 -1.783e+03]\n", " [ 2.646e+02 3.343e+03 ... 2.239e+04 4.552e+03]\n", " ...\n", " [-1.204e+03 2.239e+04 ... 3.925e+05 5.402e+04]\n", " [-1.783e+03 4.552e+03 ... 5.402e+04 7.341e+04]]\n", " nfev: 318\n", " njev: 318" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res2 = minimize(cost2, theta0, method=None, jac=cost2_gradient, options={'maxiter':3000})\n", "\n", "theta_opt2 = res2.x.reshape((-1, 1))\n", "res2" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "training accuracy: 90.57%\n", "test accuracy: 75.00%\n" ] } ], "source": [ "p2 = predict(XX2, theta_opt2)\n", "p2_test = predict(XX2_test, theta_opt2)\n", "\n", "training_accuracy = 100 * np.count_nonzero(p2 == y2)/p2.size\n", "test_accuracy = 100 * np.count_nonzero(p2_test == y2_test)/p2_test.size\n", "print(\"training accuracy: {:.2f}%\".format(training_accuracy))\n", "print(\"test accuracy: {:.2f}%\".format(test_accuracy))" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1, 2, figsize=(12, 4))\n", "\n", "for sel, ax, label in zip([~test_sel, test_sel], axs, ['Training', 'Test']):\n", " plt.sca(ax)\n", " plt.title(label)\n", " plot_data(data2[sel], xlabel='Microchip Test 1', ylabel='Microchip Test 2', cat0label='y = 0', cat1label='y = 1')\n", "\n", "x1low, x1high = axs[0].get_xlim()\n", "x2low, x2high = axs[0].get_ylim()\n", "xx1, xx2 = np.meshgrid(np.linspace(x1low, x1high, 100), np.linspace(x2low, x2high, 100))\n", "\n", "testX = np.column_stack([xx1.ravel(), xx2.ravel()])\n", "\n", "hh = h(poly.fit_transform(testX), theta_opt2).reshape(xx1.shape)\n", "\n", "for ax in axs:\n", " plt.sca(ax)\n", " plt.contour(xx1, xx2, hh, [0.5])\n", " plt.legend(framealpha=0.5);" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# https://www.kaggle.com/code/akshitmadan/student-data-prediction-using-logistic-regression\n", "\n", "# https://medium.com/@gloryc/predicting-students-mean-score-logistic-regression-9eab61eee9f5" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.12.3" } }, "nbformat": 4, "nbformat_minor": 4 }