{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "import sklearn" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Logistic Regression" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "data1 = pd.read_csv('ex2data1.txt', header=None, names=['Exam1', 'Exam2', 'Admitted'])" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Exam1Exam2Admitted
034.62366078.0246930
130.28671143.8949980
235.84740972.9021980
360.18259986.3085521
479.03273675.3443761
\n", "
" ], "text/plain": [ " Exam1 Exam2 Admitted\n", "0 34.623660 78.024693 0\n", "1 30.286711 43.894998 0\n", "2 35.847409 72.902198 0\n", "3 60.182599 86.308552 1\n", "4 79.032736 75.344376 1" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data1.head()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfkAAAF/CAYAAABKX7AhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X2QZXdd5/H3l6TidCIEAtuTIA+5m4jAIJHHQV3MxcoS\nmMIs60qEla3oRtYq15noOtIDopn8odKZcTXJllu7IBgtpMiygrjGWYJ6VUo3gMAaMhsxcaIEzVwg\nJiD0IJDv/nFPMzc9fXtu36fz9H5Vdc29p293f0/3dH/O7+H8fpGZSJKk5nlU2QVIkqT5MOQlSWoo\nQ16SpIYy5CVJaihDXpKkhjLkJUlqqLmFfES8LSKOR8QdQ8fOi4jbIuKTEfH+iHjs0PveEBF/FRF3\nRcRL51WXJEltMc+W/NuBl204dgC4LTOfBvx+8ZyIeCbw/cAzi4/5lYiwl0GSpCnMLUgz80+Af9hw\n+Arg5uLxzcAri8f/CnhnZn4lM+8F7gZeOK/aJElqg0W3lndm5vHi8XFgZ/H4icB9Q6+7D/imRRYm\nSVLTlNYlnoP1dLdaU9f1diVJmsKZC/56xyPi/My8PyIuAPrF8U8DTx563ZOKY48QEQa/JKl1MjMm\n+bhFh/z7gKuA1eLf9w4d/82I+M8Muum/GfjQZp9g0hNtgog4mJkHy66jLJ6/59/W82/zuYPnP00D\nd24hHxHvBC4FnhARnwJ+FngzcEtEXA3cC1wJkJlHI+IW4CjwVeBHc8Hb43U6sWd5mX1LS+xYW+NE\nv8+Nx47lrYusQZKkWZpbyGfma0a867IRr/954OfnVc9WOp3Ys2sXN+zfz8Xrxw4f5qJOJzDoJUl1\n5b3owPIy+4YDHmD/fi5eXmZvWTWN0Cu7gJL1yi6gZL2yCyhZr+wCStQru4CS9couoK4MeWBpiR0j\nji8tupatZGav7BrK5Pl7/mXXUJY2nzt4/tMw5IG1NU6MOL626FokSZoVQx7o97nx8GHuHj526BD3\n9PvcVFZNkiRNKxY8iX0qEZHzuoWumF2/d2mJpbU11vp9bnLSnVSOCLqZjsNKMF32GfI15R9BNVkE\nBzM5WHYdUhVMk31219dXt+wCJEnVtugV7yRpUxF0OXnxem2cbLf07LWSJmPI14h/BLVddRrWKers\nAUSA3fXS9Az5GvGPoCbQxYVEKq9OF2OqF8fkpQYoenmapFd2AQvWLbsANZMt+frqlV2AKqXLyV6e\nLjUf1pllnbaS1WaGfE35R0ujOKxzii4VvChuwsWYqs+Ql2rKkKg3L8a0CK0JefeLV9OMGRK9xVVU\nHV4ASQOtCHn3i1dbtTXQathK7pVdgJqpFbPra7RfvDSpXtkFaHJtvRjT/LUi5OuyX7w0KUNiS72y\nC5DK0oqQd794qb28AFKbtSLk3S9ektRGrdlq1v3iJUl15H7ykiQ1lPvJS5KkUxjykiQ1lCEvSVJD\nGfKSJDWUIS9JUkMZ8pJqqdiERtIWDHlJddUtuwCp6gx5SZIaqhVbzUpqBveJl7bHkJdUGzXcJ36m\nIuh6MaPtsLtekuqjW3YBqhdDXlJd9couQKo6u+sl1VJbuq2dh6BpGPKSVGFtn4eg6dhdL0k14iJA\n2g5DXpLqo4eT77QNhrwk1YRj8NquUsbkI+Ia4IeBAN6SmTdExHnAu4CnAvcCV2bmg2XUJ0mjlHGv\nupPvNKmFh3xEPItBwL8A+ApwJCL+F/AjwG2ZeX1ErAAHijdJqpIuC759z8l3mlQZ3fVPB27PzBOZ\n+TXgj4B/A1wB3Fy85mbglSXUJklSY5TRXf8J4OeK7vkTwB7gI8DOzDxevOY4sLOE2iTpFBXrLl/0\n11ONLTzkM/OuiFgF3g98Efg48LUNr8mIyEXXJkkbDY3B94rnpXaXOwav7Shl4l1mvg14G0BE/Bxw\nH3A8Is7PzPsj4gKgv9nHRsTBoae9zOzNuVxJ7dbF1rMWKCK6zOhWybJm1y9nZj8ingJ8L/AioANc\nBawW/753s4/NzIOLqlPt4y5fGkOv7ALUbEXjtbf+PCKunfRzlbWs7bsj4vEMZtf/aGY+FBFvBm6J\niKspbqErqTa1Wxf/iLdexcbgpYmV1V3/XZscewC4rIRyJOkRqjQGr/HZE3cqN6jRQlT5l89Wm9QY\nXeyJewRDXovSpaK/fLbadBq9sguQJmXIS9IW7M2pNnvitmbIa25q+svXK7sASeOzJ25rhrzmpo6/\nfBW++JCkbXOrWUmaQtFjpQU5zfe7t6AyasOQ16L0yi5AmpNu2QW0THfUO+yJO5Uh3xJltzb85ZOk\nxXNMvj262JqWZqKmk0prqynf7zLWCzHkJWmb6jiptM4a9P3usuDGliHfYE25+tVJVV45UFL1GPIN\n1qCrX53UxWGXqumVXUDL9MouYDvKbmwZ8pI0BXtWFqtu3++yG1uGfHv0yi5Akym7JaBHcshEdWLI\nt4R/lOqr7JbAvNUwNLt40azJ9Bb9Bb1PXlLZumUXIC1CGReztuSleumVXUAbOWSiujLkpRppSqDU\nITSHhxGaPmSi5jLkJS1cTUKziz0nqjnH5CVpe3plFyCNy5a8pLL1yi5g3TjDCFUZTpDGEZlZdg1j\ni4jMzDj9KyVpOhEcrOgwglpmmuyzu16SpIYy5CVpc72yC5CmZXe9JEkVZne9JEk6hSEvSVJDGfKS\nJDWUIS9JUkMZ8pIkNZQhL0lSQxnykiQ1lCEvSVJDGfKSJDWUIS9JUkMZ8pIkNZQhL+kRij3VJTWA\nIS9po27ZBUiaDUNekqSGOrOMLxoRbwBeCzwM3AH8EHAO8C7gqcC9wJWZ+WAZ9UltU3TRd4un18bJ\nTS17me6rLtXVwveTj4gLgT8AnpGZX46IdwG3AruAz2bm9RGxAjwuMw9s+Fj3k5fmLIKDmRwsuw5J\nA3XbT/7zwFeAsyPiTOBs4O+AK4Cbi9fcDLyyhNokSWqMhYd8Zj4A/CLwtwzC/cHMvA3YmZnHi5cd\nB3YuujZJAHbPS02x8JCPiIuAHwcuBJ4IfGNEvHb4NTkYQ1jsOIIkAByDl5qjjIl3zwf+NDM/BxAR\nvwV8O3B/RJyfmfdHxAVAf7MPjoiDQ097mdmbc72SJC1MRHSZ0a2sZUy8uwR4B/AC4ATwa8CHGMyq\n/1xmrkbEAeCxTryTJLXdNNm38JAHiIjXA1cxuIXuo8APA48GbgGewohb6Az58XU6sWd5mX1LS+xY\nW+NEv8+Nx47lrWXXJUnantqF/KQM+fF0OrFn1y5u2L+fi9ePHT7M3XfeyTUGvSTVS91uodOcLS+z\nbzjgAfbv5+LlZfaWVZO0SK6/Lw0Y8g20tMSOEceXFl2LVJJu2QVIVVDKsrZ1Uddx7bU1Tow4vrbo\nWlQ/EXS9jU5qBkN+hBHj2hd1OkHVg77f58bDh7louPZDh7in3+emMutSbXSp4YI4rr8vncqJdyPs\n3h1HVle5fOPxlRWO3H57vnwRNUyj6IXYu7TE0toaa/0+N1X94kTV0IS165twDtK6abLPlvwIdR/X\nLgLdUNdYbAVLzWTIj+C4ttqkCPIeQAQ0oBXcK7sA1U8T56M4u36EYlz77uFjjmtL9dC0P9RamG7Z\nBcyaLfkRjh3LWzudYGXFcW21Tq/sAiTNhhPvJKnBmtgFPUsb56MA1xWPKzMfxYl3kqRRutg7M1ID\n56M8gmPykiQ1lC35iqrranuanN2qmhVviZxYr+wCZs2Qr6A6r7a3KA0NxC4N/COjxWt6F/S8NPBv\nit31VeQucmPpll2AJFWdLfkNqtBNXvfV9jQ+u1U1bE49VLP+fKoRQ35IVbrJXW1vc00MRLtVtUGX\nGYdyXX83NBt21w+pSje5q+1tLpNe5tc3Hrlu/bF/xCRpc7bkh1Slm9zV9lqrV3YBWrwm9lCpOgz5\nIVXqJncXudPqlV3ArPkHvZ0cstE82V0/xG7y+jAQJen0XLt+g2J2vd3kkhZu1Oz6hq4LoTFNk32G\nvCRVXMTXJ5yqhabJPrvrJUlqKCfeSVIFOetes2DIS1IFOetes2B3vVRDRStPkrZkS34KVVjnXq3V\nZZO1ApyF3Vi9sgtQPRnyE6rKOvfSBl0MhMbxwk2TMuQnNGqd+5UV9uJKdZoDJ2JJ7TPt0JwhP6Gq\nrHOv9hg1ESuCbsTXJ2UZ/lKzdKf5YEN+QlVa517t5ixsSaM4u35CrnOvkvXKLkDSfKz3zhU9dNdO\n9blc1nZyrnOvqnF2vdQsg6CPa127XpKkhjHkW8T78iWpXQaz6+MPJ80+J97VhPflS1L7ZNKLKZq2\nTryriVH35S8vs7esmiRJ1WbI14T35Uv14x4DKtvCQz4iviUiPjb09lBE7IuI8yLitoj4ZES8PyIe\nu+jaqsz78qVa6pZdgNpt4SGfmX+Zmc/JzOcAzwO+BLwHOADclplPA36/eK6C9+VLkrar1Nn1EfFS\n4Gcy88URcRdwaWYej4jzgV5mPn3D651d73352ibvnd++ab5nG/cYAK4rHrvM8Bb8fzraNNlX9uz6\nVwPvLB7vzMzjxePjwM5ySqquItANdW1XF1fI264uE37PXGZ4Yl38fzpzpYV8RJwFfA+wsvF9mZkR\nsWkXQ0QcHHray8zeXApUI9g6kFQ3EdFlRvM5ymzJvxz488z8TPH8eEScn5n3R8QFQH+zD8rMg4sq\nUI3QpYWtA7el3b45fc8m/bhW8P/p5orGa2/9eURMvH59mSH/Gk521QO8D7gKWC3+fW8ZRUlNYJfx\n9s3je7ZZUNm7dJL/T+evlJCPiHOAy4DXDR1+M3BLRFwN3AtcWUJpagBbB6q4LrbwW2fci7tZXwSW\nEvKZ+UXgCRuOPcAg+KWp2Do4Ra/sAmqoV3YBLdQru4A56zLeOY77urGUPbte0pzZe7F9s/6e2bt0\nen4f5sOQV9P1yi5Asnepnca9uJvnReCWIR8RzwCeCNyemf84dPxlmXlkmi8sLYKtA0llGffibp4X\ngSOXtY2IfQxmuO8F7oyIVw69+xdmVYAktUyv7ALUHlu15P8D8LzM/MeIuBB4d0RcmJm/vJDKJKmB\n7F1qrd6MXzeWkWvXR8Sdmblr6Pk3Av8TOAq8JDO/bZaFjKPta9dLktpnmuzbahe6fkR8PciLMflX\nAI8Hnj3JF5MkSYuzVUv+ycBXMvP+DccD+M7M/OAC6ttYky15SVKrTJN9pW41u12GvCSpbeq81awq\nrNi/ft/SEjvW1jjR73Oj+9dru1yrXSqPIa9NdTqxZ9cubti/n4vXjx0+zEWdTmDQa5u6eNuYVIqt\nJt49QkQ8JiLOW3+bZ1Eq3/Iy+4YDHmD/fi5eXmZvWTVJkrbntC35iPgR4Drgy8DDxeEE/vkc61LJ\nlpbYMeL40qJrUf24VrtUDeN01/8U8KzM/Oy8i1F1rK1xYsTxtUXXovpxrXbNgvM5pjdOd/1fg3/Y\n26bf58bDh7l7+NihQ9zT73NTWTVJap1uGV+06IlqhHFa8geAP4uIPwP+qTiWmblvfmWpbMeO5a2d\nTrCywt6lJZbW1ljr97nJSXeaQK/sAqRt6tKQ/7fjhPx/Bz4A3MFgTD4YjMlrRqp6q1pRQ+l1qN7s\nbtV2OJ9jtsYJ+TMy8z/NvZKW8la1+nGcUJqfsuZzNPXiYpyQ/71ihv37GMywByAzH5hbVS0y6la1\nlRX2Yiu6qro0pCtP0kBTJ4uOE/L/lkH3/IENxzuzL6d9vFVNkkbqlV1A3Z025DPzwgXU0VreqlYP\nTe3Kk6qsxN+tsr7uzI21rG1EPAt4JpxsdWbmr8+rqDYpblW7aLjL3lvVqqepXXmSTtWkC/dxVrw7\nCFwK7AJ+F3g58EHAkJ8Bb1WTJM3LabeajYhPAJcAH83MSyJiJ/COzLxsEQVuqMWtZlU6Z9dLWqRp\nsm+cFe/WMvNrwFcj4lygDzx5ki8mNYEBL6kuxhmT/0hEPA54C/AR4IvAn861KmlKVV1gSJIW6bTd\n9Y94cUQHeExm/t/5lbTl17e7Xqc1YoGhu++8k2sMekl1M9fu+oi4ev1xZh4D7oyIayf5YtIijFpg\naHmZvWXVJEllGGdM/rKIuDUinljcSvdnwGPmXJc0MRcYkqSBcRbDeU1EvBr4Cwbj8T+QmR+ce2XS\nhFxgSJIGxumufxqwD/gt4G+B10bEOfMuTJpUscDQ3cPHXGBIUhuNc5/8XcCPZeYHIuJRwE8AV2fm\nMxdR4IZanHinsRSz611gSFLtTZN944T8uZn50IZjT8vMT07yBadhyEuS2mYus+sj4vUAmflQRLxq\nw7t/cJIvJkmSFmerMfnXDD1+44b3vXwOtUiSpBka5xY6SZJUQ4a8pJmLoFt2DVIdzfp3Z6v75J8d\nEV8oHi8NPQZcVET14Br2pemCG/lIE+gyw9+dkSGfmWfM6ovUkeFQfyPWsL+o0wn8WUpqg3F2oZu5\niHgs8FZgF5DADwF/BbwLeCpwL3BlZj5YRn2GQzOMWsN+ZYW9gD/HGSu6GbvF02vj5A0/PbfnlUab\n5+9OKSEP3ADcmpnfFxFnAucAPw3clpnXR8QKcKB4WzjDoRlcw36xij9GPYAIyORgmfVIdTHP352F\nh3xEnAu8ODOvAsjMrwIPRcQVwKXFy25mcMKlhLzhUL5ZDJe4hr2ktiujJd8BPhMRbwcuAf4c+HFg\nZ2YeL15zHNhZQm2A4VC2WQ2XFGvYXzT8eVzDfmF6ZRcg1VRvlp/stMvazlpEPJ/BdrXfkZkfjohf\nBr7AYH38xw297oHMPG/DxyZw3dChXmb2Zl3jZiFz6BD3HD3KPsfk52/37jiyusrlG4+vrHDk9ttz\nWwsxVWEN+wi6jklLGldEdOERt9JdO+mytmW05O8D7svMDxfP3w28Abg/Is7PzPsj4gKgv9kHZ+bB\neRd47Fje2ukEKytucFKGWQ6XFD+zsn9uXWzZShpT0XjtrT+PiGsn/VwLD/kixD81tMnNZcCdxdtV\nwGrx73sXXduwioRDKzlcIkmzUdbs+r3AOyLiLOAeBrfQnQHcEhFXU9xCV1JtKlkTxtK9nUxSFSx8\nTH4abjXbHlUYS5+VCA56O5mkSU2TfWW15KUtOVwiSdNzgxpp/nplFyCpneyulySpwqbJPlvykiQ1\nlCEvSVJDGfKSJDWUIS9JGluxBoRqwpCXJG1Ht+wCND5DXpKkhnIxHEnSllymub4MeY2lWGZ239IS\nO9bWONHvc2Ndl5mVdKqttkQujveK1+EyzfVhyOu0Op3Ys2sXNwxvGHP4MBd1OoFBLzVGF1dnbBzH\n5HVay8vsGw54gP37uXh5mb1l1SSpNL2yC9D4bMnrtJaW2DHi+NKia5E0O5OMtTsGXy+GvE5rbY0T\nI46vLboWSbPjWHvz2V2v0+r3ufHwYe4ePnboEPf0+9xUVk2SpNNzFzqNpZhdv3dpiaW1Ndb6fW5y\n0p3UHFvNrle5psk+Q16SpApzq1lJknQKQ16SpIYy5CVJaihDXpKkhjLkJUlqKENekqSGMuQlSWoo\nQ16SpIYy5CVJaihDXlKlFDujSZoBQ15S1XTLLkBqCkNekqSGcj95aYRi5719S0vsWFvjRL/PjXXa\nea9O9Rdd9N3i6bVxciuOnjujSZMz5FUZVQqlTif27NrFDfv3c/H6scOHuajTCaoalMPqVn8R5D2A\nCMjkYJn1SE1hd70qYT2UVle5/OBBLl1d5fJdu7ih04k9ZdSzvMy+4YAE2L+fi5eX2VtGPdtV9/ol\nzYYhr0qoWigtLbFjxPGlRdcyiZrX3yu7AKkpDHlVQtVCaW2NEyOOry26lknUuX7H4KXZMeRVCVUL\npX6fGw8f5u7hY4cOcU+/z01l1LNdda9f0mxEZpZdw9giIjMzTv9K1c1mE8UOHeKeo0fZV+bku+Vl\n9i4tsbS2xlq/z01VnLQ2St3rlzQwTfYZ8qoMQ0mSTlW7kI+Ie4HPA18DvpKZL4yI84B3AU8F7gWu\nzMwHN3ycIS9JapU6hvwx4HmZ+cDQseuBz2bm9RGxAjwuMw9s+DhDXtpCldYakDQb02RfmYvhbCz4\nCuDS4vHNDG6jOYCksdRtARxJ81dWS/6vgYcYdNf/t8x8S0T8Q2Y+rnh/AA+sPx/6OFvyLWYrdWu7\nd8eR1VUu33h8ZYUjt9+eLy+jJknTq2NL/jsz8+8j4p8Bt0XEXcPvzMyMiE2vPrrd6PkHvn1spZ5e\n1dYakFS+UkI+M/+++PczEfEe4IXA8Yg4PzPvj4gLgP5mH3vhhYMu/c9+lhece25c/9BDubqwwlWa\nUSviraywFzDkqd5aA5ImExFdZrTl8sIXw4mIsyPi0cXjc4CXAncA7wOuKl52FfDezT7+B39w8Par\nv8p5T3+6+063ha3U03MBHKkZMrOXmQfX36b5XGW05HcC7xkMu3Mm8I7MfH9EfAS4JSKupriF7nSf\nyD/w7WEr9fSOHctbO51gZcW1BiQNLDzkM/MY8G2bHH8AuGw7n8s/8O1RtFIvGu6yX13lS/0+/6fM\nuqqmCHRDXRJQ4/3k7YZsl6KV+oI3vYnXX3wxZz/8MLzsZZx9xhm8ttOJD9talaRT1W5Z20sv5Y/s\nhmwnbxGTZi+Crjv/VVsdb6GbWK+X3bJrUDmcfCfNRRcM+aZyq1nVhpPvJGl7ateSV3ttNvnOuRnS\n9kXQ5eR92NfGyY7gnl33zVK7MXmXtW03t6NVXdRlrDuCg5kcLLsOjdaqMXm1m7eIqUa6ONatkhny\n2+AGKZIaqFd2AZofQ35MbpBSfV6EqWx1HOuual2aDUN+TG6QUm1ehFVfGy7CisDsAUSAY90qmyE/\nJu/RrjYvwqqtCRdhdZlIJw3zPvkxeY92tXkRVm2jLsKWl9lbVk0T6G7z9b051CBtiyE/JrfxrDYv\nwqqtjRdhtvpVBXbXj8ltPKtpfZz3rLN44pvexJde9SrOvuSSwfu8CKuOul6E1XEinTTMxXBUW5uN\n866u8qXPfpZ7HvUoPu1FWHVs9rM6dIh7jh5lX11+Ri4a005VmIvhYjhqpc3GeVdWOHtlhU+7K121\n2BOmSVUgZLvUeH6FIa/aauM4b501YLXCXtkFtFQXv/cTM+RVW3Ud51U9ld1lq8Vp0lwMQ1615a50\napsKdF0vRNkh26RFjQx51ZbjvGqhLi3oum5SyJbNkFetNWCcV1K19couYBqG/AZtWF9bUn2U3XVd\nAb0yv3jdv8e1C/ndu+PIvAK4CetrS2qWtndd1z1ky1a7kF9d5fL1x7MOYDc5kSQ1Sa3Xrp/1Bhfe\ndy2p4nqL+kLFMIFqrnYt+Y22E8CnG2/3vmtJVbbgrusuFZ101pZbCWeh9iE/bgCPM97ufdeSVAtd\nKnoBUjW1DvntBPA44+3edy3Nlner1Isz+ZundiG/ssKRSQJ43PF277uWZsO7Vco1yQVWlWfyewEy\nmdqF/KS7izneriaoU8vYu1XK08QLrCpfgFRZrWfXb0cx3n738DHH21Un63+4V1e5/OBBLl1d5fJd\nu7ih04k9Zde2Ge9WKc+oC6xt3o3Um21VKkPtWvKTcrxddVe3lrG9Z+WZxQVWxbvAe2UXUBetCXlw\nvF31VreWsXerlKfpF1gVvwCplFaFvFRndfvDXffeszrNf9jICyyti8wsu4axRURmZpz+lVLzbDaZ\n6tAh7jl6lH11CZ+6GDFx7e477+Saunyvi4uUWl5g6ZGmyT5DXqoR/3Avxu7dcWR4n4x1KyscmfQO\nH2lS02Sf3fVSjVR5Xkmdu7c3qtv8B2kUQ17S1Jp2X3bd5j9Io7TmPnlJ8zOj+7IrownranQ6sWf3\n7jjS7UZv9+44UtX1FDRfpbXkI+IM4CPAfZn5PRFxHvAu4KnAvcCVmflgWfVJGl/TurebcGdAk3pW\nNLkyu+uvAY4Cjy6eHwBuy8zrI2KleH6grOIkja+J3dtVnv9wOnVbOEnzU0p3fUQ8CdgDvBVYnzF4\nBXBz8fhm4JUllCZpAk3o3m6SpvWsaHJlteR/Cfgp4DFDx3Zm5vHi8XFg58KrkjSRundvN00Te1Y0\nmYWHfES8Auhn5sciorvZazIzI6I+N/BLqnX3dtO44p3WldGS/w7giojYA+wAHhMRvwEcj4jzM/P+\niLgA6G/2wRFxcOhpLzN78y5YkurEnpV6KxrA3Zl8rjJXvIuIS4H9xez664HPZeZqRBwAHpuZBza8\n3hXvVDlNWgRGUvXUfcW79auMNwO3RMTVFLfQlVaRNCZvVZJUZa5dL03BNc6l+qhrr1vdW/JSbXmr\nklQPbe11c1lbaQreqiTVw6yWXq7bcsG25KUpeKuSVA+z6HWrY2+AIS9NwVuVpHqYRa9bHZcLNuSl\nKbkIjFR9s+h1q+McHENektR4s+h1q+McHG+hkyRpDJuNyR86xD1Hj7JvnkN002SfIS9J0piKe+0X\nOgfHkJckqaGmyT7vk5ckqaEMeUmSGsqQlySpoQx5SZIaypCXJKmhXAxH2oa6blUpqZ0MeWlMddyc\nQlK72V0vjWlWW1VK0qIY8tKY6rg5haR2M+SlMdVxcwpJ7WbIS2Mqtqq8e/jYdreqlKRFcu16aRvK\n2JxCUru5QY0kSQ3lBjWSJOkUhrwkSQ1lyEuS1FCGvCRJDWXIS5LUUIa8JEkNZchLktRQhrwkSQ1l\nyEuS1FCGvCRJDWXIS5LUUIa8JEkNZchLktRQhrwkSQ1lyEuS1FCGvCRJDXVm2QVIUpV1OrFneZl9\nS0vsWFvjRL/PjceO5a1l1yWNY+EhHxE7gD8CvgE4C/jtzHxDRJwHvAt4KnAvcGVmPrjo+iRpXacT\ne3bt4ob9+7l4/djhw1zU6QQGvepg4d31mXkCeElmfhvwbOAlEfEvgAPAbZn5NOD3i+caEhHdsmso\nk+fv+S/6ay4vs2844AH27+fi5WX2LrIOf/btPv9plDImn5lfKh6eBZwB/ANwBXBzcfxm4JUllFZ1\n3bILKFm37AJK1i27gJJ1F/0Fl5bYMeL40oJL6S7461VNt+wC6qqUkI+IR0XEx4HjwB9m5p3Azsw8\nXrzkOLCzjNokad3aGidGHF9bdC3SJMpqyT9cdNc/CfiuiHjJhvcnkGXUJknr+n1uPHyYu4ePHTrE\nPf0+N5VAS4zbAAAGP0lEQVRVk7QdMcjTEguI+BlgDfhhoJuZ90fEBQxa+E/f8FqDX5LUOpkZk3xc\nGbPrnwB8NTMfjIgl4F8C1wHvA64CVot/37vxYyc9SUmS2mjhLfmI+FYGE+seVbz9RmYeKm6huwV4\nCt5CJ0nS1ErvrpckSfNR2WVtI2JHRNweER+PiKMR8QvF8fMi4raI+GREvD8iHlt2rfMSEWdExMci\n4neK520693sj4i+K8/9QcaxN5//YiHh3RPy/4v//7racf0R8S/FzX397KCL2teX8ASLiDRFxZ0Tc\nERG/GRHf0Jbzj4hrivP+RERcUxxr7LlHxNsi4nhE3DF0bOT5Fv83/ioi7oqIl57u81c25F00B4Br\ngKOcvNOgTeeeDCZiPiczX1gca9P53wDcmpnPYPD//y5acv6Z+ZfFz/05wPOALwHvoSXnHxEXAq8D\nnpuZ38pgLZFX04Lzj4hnMZiE/QLgEuAVEXERzT73twMv23Bs0/ONiGcC3w88s/iYX4mIrXM8Myv/\nBpwNfBjYxeCP3c7i+PnAXWXXN6dzfhLwAeAlwO8Ux1px7sX5HQMev+FYK84fOBf4602Ot+L8N5zz\nS4E/adP5A+cBfwk8jsHk6N9hMEG58ecPfB/w1qHnbwJe3/RzBy4E7hh6vun5Am8AVoZedwR40Vaf\nu7IteWj9ojm/BPwU8PDQsbacOwxa8h+IiI9ExOuKY205/w7wmYh4e0R8NCLeEhHn0J7zH/Zq4J3F\n41acf2Y+APwi8LfA3wEPZuZttOP8PwG8uOiuPhvYw6DB04ZzHzbqfJ8I3Df0uvuAb9rqE1U65LOl\ni+ZExCuAfmZ+DNj0tsGmnvuQ78xBd+3Lgf8YES8efmfDz/9M4LnAr2Tmc4EvsqF7suHnD0BEnAV8\nD/A/Nr6vyedfdE//OIPW3ROBb4yI1w6/pqnnn5l3MbiN+v3A7wEfB7624TWNPPdRxjjfLb8XlQ75\ndZn5EPC7DMbnjkfE+QDFojn9Mmubk+8AroiIYwxaMd8dEb9BO84dgMz8++LfzzAYj30h7Tn/+4D7\nMvPDxfN3Mwj9+1ty/uteDvx58X8A2vPzfz7wp5n5ucz8KvBbwLfTkp9/Zr4tM5+fmZcy2Nfkk7Tn\nZ79u1Pl+Gnjy0OueVBwbqbIhHxFPWJ9ROLRozsc4uWgOjFg0p+4y842Z+eTM7DDorvyDzPx3tODc\nASLi7Ih4dPH4HAbjsnfQkvPPzPuBT0XE04pDlwF3Mhibbfz5D3kNJ7vqoSU/fwbjsS+KiKWICAY/\n/6O05OcfEcvFv08Bvhf4Tdrzs1836nzfB7w6Is6KiA7wzcCHtvpElb1PPlw0B4CIuBT4ycy8oi3n\nXvznfU/x9EzgHZn5C205f4CIuAR4K4OdGu8BfojBLOu2nP85wN8Ancz8QnGsTT//1zP44/4w8FEG\nM84fTQvOPyL+GHg88BXgJzLzD5v8s4+IdwKXAk9gMP7+s8BvM+J8I+KNwL8Hvgpck5n/e8vPX9WQ\nlyRJ06lsd70kSZqOIS9JUkMZ8pIkNZQhL0lSQxnykiQ1lCEvSVJDGfJSw0XE1zZs3fr6BX7tU7bR\nlLQ43icvNVxEfCEzH13S134x8I/Ar+dg21RJC2RLXmqhiDg3Iu5aXzo3It4ZEVcXj/9rRHw4Ij4R\nEQeHPubeiPj5ojfgIxHx3Ih4f0TcHRE/stnXycw/YbD+uKQSGPJS8y1t6K5/VbHp048BvxYRrwbO\nzcxfLV7/xsx8AXAJcGlEPKs4nsDfFLsD/jHwa8C/Bl4EXLfIE5I0njPLLkDS3K0VwfwImfmBiLgS\n+C/As4fe9f0R8ToGfx8uAJ7JYJ9vGGyQAYMNg87JzC8CX4yIL0fEYzLz83M7C0nbZkteaqmIeBTw\nDAb71Z9XHOsAPwl8d2ZewmCL5x1DH/bl4t+HgX8aOv4wNhqkyjHkpfb6CQZb2P4A8PaIOBN4DIPQ\n/3xE7GSwp/tmYjElSpqGV95S8y1FxMeGnv8eg/H0q4EXZOYXi+09fzozryteexfwKeCDIz5nFm/D\nz08xtI3m4yPiU8DPZubbpzobSWPzFjpJkhrK7npJkhrKkJckqaEMeUmSGsqQlySpoQx5SZIaypCX\nJKmhDHlJkhrKkJckqaH+P8ts4VsE2NJLAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8, 6))\n", "plt.xlabel('Exam 1')\n", "plt.ylabel('Exam 2')\n", "\n", "plt.plot(data1[data1['Admitted'] == 0]['Exam1'], data1[data1['Admitted'] == 0]['Exam2'], 'yo')\n", "plt.plot(data1[data1['Admitted'] == 1]['Exam1'], data1[data1['Admitted'] == 1]['Exam2'], 'b+')\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from sklearn import linear_model" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.91\n", "[[ 0.09776322 0.09164896]]\n", "[-11.55874081]\n" ] } ], "source": [ "clf = linear_model.LogisticRegression(penalty='l1', C = 1)\n", "clf.fit(data1[['Exam1', 'Exam2']].values, data1['Admitted'].values)\n", "print clf.score(data1[['Exam1', 'Exam2']].values, data1['Admitted'].values)\n", "print clf.coef_\n", "print clf.intercept_" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nrr7f8ngX3pmZWfVI/wacAfwY+AgRK5/4UgkL7yQ9A/g6MCsi/tb6tcg+eZSn7N/MzKwdEd8h28r2\nLmAp0nSktnP0em0HNgHKduv5OvClyCoOAVZK2jwi7pa0BTA4ynPnttxtRkSzq8GamZn1QsSDwMB/\nSr+aBMcD/3OF9K12XrLn3fV5V/xC4C+RVRmuPn5SfmyepDnAphExZ9hz3V1vZmbVl7Xi/wv4mOA5\npdmFTtLuwA+Am3miS/5o4FrgYuCFwJ3A/hFx/7DnOsmbmVl9SJsL/lSaJN8OJ3kzM6ubUhbemZmZ\nWXc5yZuZmVWUk7yZmVlFOcmbmZlVlJO8mZlZRTnJm5mZVZSTvJmZWUU5yZuZmVWUk7yZmVlFOcmb\nmZlVlJO8mZlZRTnJm5mZVZSTvJmZWUU5yZuZmVWUk7yZmVlFOcmbmZlVlJO8mZlZRTnJm5mZVZST\nvJmZWUU5yZuZmVWUk7yZmVlFOcmbmZlVlJO8mZlZRTnJm5mZVZSTvJmZWUU5yZuZmVWUk7yZmVlF\nOcmbmZlVVJIkL+lcSSslLW05tpmkxZJuk3SlpE1TxGZmZlYVqVry5wFvGHZsDrA4IrYGvpfftxaS\nGqljSMnX7+tPHUMqdb528PW3I0mSj4gfAvcNO7wfsDC/vRB4S0+DKodG6gASa6QOILFG6gASa6QO\nIKFG6gASa6QOoKyKNCY/OSJW5rdXApNTBmNmZlZ2RUry/xQRAUTqOMzMzMpMWT5NcGLpxcC3ImKH\n/P6tQCMi7pa0BXB1RGwz7DlO/GZmVjsRoYk8b71OB9KGy4ADgXn5/5cOf8BEL9LMzKyOkrTkJV0E\n7Ak8h2z8/aPAN4GLgRcCdwL7R8T9PQ/OzMysIpJ115uZmVl3FbLwDkDSBpKWSLpR0nJJn8yP12bR\nHEnrSrpB0rfy+3W69jsl3Zxf/7X5sTpd/6aSvibpl/nP/9S6XL+kf83f99X/HpA0sy7XDyDpaEnL\nJC2VdKGkp9fl+iXNyq/7Fkmz8mOVvfbxLg6X/2z8WtKtkl6/ttcvbJKPiIeBvSJiJ+ClwF6Sdqde\ni+bMApbzxEyDOl17kBViviwidsuP1en6TwUuj4htyX7+b6Um1x8Rv8rf95cBLwceAi6hJtefFyV/\nANg5L0xeFziAGly/pO2B9wO7AjsCb5S0JdW+9jEvDidpO+AdwHb5c86UtOY8HhGF/wdsCPwcmEL2\nx25yfnxz4NbU8XXpmp8PXAXsRTYLgbpce359K4BnDztWi+sHNgF+M8LxWlz/sGt+PfDDOl0/sBnw\nK+BZZMXR3wJeV4frB/4v8PmW+/8DHFX1awdeDCxtuT/i9QJHAwMtj1sEvGJNr13YljyApHUk3UhW\nnHd1RCyjPovmnAIcCaxqOVaXa4esJX+VpOskfSA/Vpfr7wf+LOk8SddLOkfSRtTn+lsdAFyU367F\n9UfEvcDJwO+APwL3R8Ri6nH9twB75N3VGwLTyBo8dbj2VqNd73OBu1oedxfwvDW9UKGTfESsiqy7\n/vnAayTtNezrlVw0R9IbgcGIuAEYcdpgVa+9xasj667dF/igpD1av1jx618P2Bk4MyJ2Bh5kWPdk\nxa8fAEnrA28Cvjr8a1W+/rx7+sNkrbvnAs+Q9K7Wx1T1+iPiVrJp1FcCVwA3Ao8Pe0wlr300Y7je\nNX4vCp3kV4uIB4DvkI3PrZS0OUC+aM5gyti65FXAfpJWkLViXivpS9Tj2gGIiD/l//+ZbDx2N+pz\n/XcBd0XEz/P7XyNL+nfX5PpX2xf4Rf4zAPV5/3cBfhIRf4mIx4BvAK+kJu9/RJwbEbtExJ5ke5zc\nRn3e+9VGu94/AC9oedzz82OjKmySl/Sc1RWFkvrIxqRu4IlFc2CURXPKLiKOiYgXREQ/WXfl9yPi\n3dTg2gEkbSjpmfntjcjGZZdSk+uPiLuB30vaOj+0N7CMbGy28tff4j94oqseavL+k43HvkJSnySR\nvf/Lqcn7L2lS/v8LgbcBF1Kf93610a73MuAASetL6gdeAly7phcq7Dx5STuQ7Ua3Tv7vSxExX9Jm\n1GjRHEl7AkdExH51ufb8h/eS/O56wAUR8cm6XD+ApB2BzwPrA3cAB5FVWdfl+jcCfgv0R8Tf8mN1\nev+PIvvjvgq4nqzi/JnU4Pol/QB4NvAocHhEXF3l917jXBxO0jHA+4DHgFkR8d01vn5Rk7yZmZm1\np7Dd9WZmZtYeJ3kzM7OKcpI3MzOrKCd5MzOzinKSNzMzqygneTMzs4pykjerOEmPD9u69agenvsp\n22iaWe94nrxZxUn6W0Q8M9G59wD+Dnwxsm1TzayH3JI3qyFJm0i6dfXSuZIuknRwfvuzkn4u6RZJ\nc1uec6ekT+S9AddJ2lnSlZJulzR9pPNExA/J1h83swSc5M2qr29Yd/2/55s+fQg4X9IBwCYR8YX8\n8cdExK7AjsCekrbPjwfw23x3wB8A5wNvBV4BHN/LCzKzsVkvdQBm1nVDeWJ+koi4StL+wGeAl7Z8\n6R2SPkD292ELYDuyfb4h2yADsg2DNoqIB4EHJf1D0sYR8deuXYWZjZtb8mY1JWkdYFuy/eo3y4/1\nA0cAr42IHcm2eN6g5Wn/yP9fBTzScnwVbjSYFY6TvFl9HU62he07gfMkrQdsTJb0/yppMtme7iNR\nb0I0s3b4k7dZ9fVJuqHl/hVk4+kHA7tGxIP59p7/HRHH54+9Ffg98KNRXjPyf633n6JlG81nS/o9\n8NGIOK+tqzGzMfMUOjMzs4pyd72ZmVlFOcmbmZlVlJO8mZlZRTnJm5mZVZSTvJmZWUU5yZuZmVWU\nk7yZmVlFOcmbmZlV1P8HHfEENnVenR4AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xx = np.linspace(30, 100, 100)\n", "yy = -(clf.coef_[:, 0] * xx + clf.intercept_) / clf.coef_[:, 1]\n", "\n", "plt.figure(figsize=(8, 6))\n", "plt.xlabel('Exam 1')\n", "plt.ylabel('Exam 2')\n", "\n", "plt.plot(data1[data1['Admitted'] == 0]['Exam1'], data1[data1['Admitted'] == 0]['Exam2'], 'yo')\n", "plt.plot(data1[data1['Admitted'] == 1]['Exam1'], data1[data1['Admitted'] == 1]['Exam2'], 'b+')\n", "plt.plot(xx, yy, color='r', label='decision boundary');\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Regularized logistic regression" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "data2 = pd.read_csv('ex2data2.txt', header=None, names=['Test1', 'Test2', 'y'])" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Test1Test2y
00.0512670.699561
1-0.0927420.684941
2-0.2137100.692251
3-0.3750000.502191
4-0.5132500.465641
\n", "
" ], "text/plain": [ " Test1 Test2 y\n", "0 0.051267 0.69956 1\n", "1 -0.092742 0.68494 1\n", "2 -0.213710 0.69225 1\n", "3 -0.375000 0.50219 1\n", "4 -0.513250 0.46564 1" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data2.head()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAF/CAYAAAC1/ZXDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X+wZGdd5/HPhwTMKCBEMgmSrLnLD4Uou4jODT/WNC4Y\nMhRBXBCyq6ssKrJFJuua9VKLu7lYajFMtCRBXXYlLLICbpX8SGQyEC0as4ITQn5WhggTJhoCZDD8\nSCATisB3/+hzmc6d7r5Pd58fzznn/aq6Nd2nz+3z7Z6+59vP83zP8zgiBABAioc0HQAAoD1IGgCA\nZCQNAEAykgYAIBlJAwCQjKQBAEjWaNKwfZntu2zfPOXxge2v2r6++PnNumMEABx1fMPHf5ukSyX9\n6Yx9PhIR59YUDwBghkZbGhFxtaQvb7Gb64gFALC13Mc0QtIzbd9oe6/tpzQdEAD0WdPdU1u5TtJp\nEXGf7XMkvU/SkxqOCQB6K+ukERH3jt2+0vYf2T4xIr40vp9tJtACgAVExFxDAFknDdsnSzocEWF7\nhyRvThgb5n3hXWV7PSLWm44jB7wXR/FeHMV7cdQiX7gbTRq23yXpLEmPsX2HpIskPVSSIuItkl4i\n6dW2H5B0n6SXNxUrAKDhpBER523x+B9K+sOawgEAbCH36inMb9h0ABkZNh1ARoZNB5CRYdMBtJm7\nsAiT7WBMAwDms8i5k5YGACAZSQMAkIykAQBIRtIAACQjaQAAkpE0AADJSBoAgGQkDQBAMpIGACAZ\nSQMAkIykAQBIRtIAACQjaQAAkpE0AADJSBoAgGQkDQBAMpIGACAZSQMAkIykAQBIRtIAACQjaQAA\nkpE0AADJSBoAgGQkDQBAMpIGACAZSQMAkIykAQBIRtIAACQjaQAAkpE0AADJSBoAgGQkDQBAMpIG\nACAZSQMAkIykAQBIRtIAACQjaQAAkpE0AADJSBoAgGQkDQBAMpIGACAZSQMAkIykAQBIdnzTAQAp\nVla8c/t27dq2TSccOaL7Dx/WJYcOxd6m4wL6hqSB7K2seOcZZ+hNF16oJ2xsu/hiPX5lxSJxAPWi\newrZ275du8YThiRdeKGesH27zm8qJqCvaGkge9u26YQp27fVHcsy6GJDF5A0kL0jR3T/lO1H6o5l\nUXSxoSvonkL2Dh/WJRdfrIPj2/bs0W2HD+vSpmKaF11s6ApaGsjeoUOxd2XFWlvT+du2aduRIzpy\n+LAubdM39K50sQEkDbRCkSBakyQ260IXGyDRPQXUogtdbIAkOSKajmFptiMi3HQcwCxF9VRru9jQ\nPYucO0kaANBTi5w76Z4CACQjaQAAkjWaNGxfZvsu2zfP2OcS25+2faPtp9UZHwDgwZpuabxN0vOn\nPWh7p6QnRMQTJf2KpD+uKzAAwLEavU4jIq62ffqMXc6V9PZi3/22H2X75Ii4q4742qjv8xv1/fUD\nVcv94r7HSbpj7P5nJZ0qiaQxQdfmN5o3AXTt9QM5arp7KsXmcrD21whXpEvzG20kgN27dfb6us7a\nvVtnn3GG3rSy4p3TfqdLrx/IVe4tjTslnTZ2/9Ri2zFsr4/dHUbEsLqw8tSl+Y2mJYC1NZ2vKdOJ\ndOn1A1WwPZA0WOY5ck8al0t6jaR32z5T0lemjWdExHqdgeWoS/MbLZIAuvT6gSoUX6aHG/dtXzTv\nczRdcvsuSR+V9IO277D9H2y/yvarJCki9kr6jO2Dkt4i6T82GG72mp7fyF7uG8y4RRJA068f6AOm\nEemYJuc3srUeofUynmvSoPaePbrtwAHt2mownPmdgDTMPYVGlZk0JBIAUDWSBmpXdEkNirsXSXp9\ncXsYcbTvFEB+Fjl35j4QjswViWEoSbZUZksjV1xAiD4jaQBz4AJC9B3dU5BUzrdnW4Pcu6SWfZ2r\nq963e7fO3rx9bU379u+Pc8qNFqgW3VNYSFnfntuQMJZ9nVxAiL5rwzQi2MLKineurnrfYODh6qr3\nzZpqY5K+TL9RxuvkAkL0HS2NluPbc7oyXmdxAeHjN18/wgWE6AuSRsstMkfTZn359lzG6zx0KPau\nrFhra/26foSKMWwgabQc357TlfU6i5Nlb06YVIxhHEmj5fj2nK4vr7NsZbRm0R0kjZbj2/N8+vI6\ny9SXMS+kIWm0HN+eUbW+jHkhDRf3AZhp0RmHkT8mLARQCWYc7iaSBgAg2SLnTq4IBwAkYyAcaAEu\nrkMuSBpotTbMrLssLq5DTuieQuOK1f8WtczvtkJfJpREO5A0kINB0wHkjIvrkBO6p9A6m9cl99Ha\nj06uS87FdcgJSQMLW2Y8YZkTfxXrkpcx0FzVYHVfJpREO5A0sIyBtFjSqOLEv6gyBpqrHKxmqhjk\nhKSBthsu+wRlzOJa9UywTLSIXJA0MJeKxhMW/b1S1iUvY6A518Fqru9A2UgamEsV3UpND16XMdCc\n42A113egCpTcoveKgeaD49vmHWgu4znKxvUdqAItDSxj2HQAZShjoDnHwepcu8zQbiQNLKzpbqUy\nlTHQnNtg9bJdZoyHYBKSBtBRy1zfwXgIpmE9DaDDFl08aXXV+3bv1tmbt6+tad/+/XFONdGibouc\nO2lptEjZ3QV0P3Tfol1mjIdgGpJGS5TdXZBD90OT05r3YUr1ZeRYQow8UHLbEmWXT9Zdjjll+vNJ\n2+rS5LGPseT08KXLsYQYeaClUaEyu3/K7i5ooPthoCVKdHvQMhgooxLmHEuIkQeSRkXK7v4pu7ug\nqe6HJaYhGWjJk2rfplRfVm4lxMgDSaMiZU9gV/b02HVMt73VSbru2W1zmlm3iGGgkpJYD1piyARJ\noyJld/+U3V1QR/fDsifprrcMSk5iA2XUvbUIqvnagaRRkSq6f8ruLsig+2E468GKWwYzj4165VDN\nhzRUT1WE6pNjDJsOYFyGLZXhvL9ga2Br3da6Ri2x9eJnUHZwVWNyxfagpVERqk8ebMpJeqD0k2Xq\nfq20SBJreowm5+pAVIekUaGmu3+6NDjaldfRFblXB6I6dE9126DpADbrUpdKZoZ1Hqzs7iS6c9uD\nlgZq1XSXSg6qqBKquyWWe3UgqkPS6Jiul6m2XVeqhNpQHYhq0D3VMREaRmi9+Ab/+o3bmSaMYdMB\n1K0rVUJ0J/UXLY1MdWkQe5quv75J2lIltFUXGt1J/UXSyNdAy38TX/b3UbI2VAmldqHRndRPdE91\nWB+/yeduWrfOrbe+YdhQSMfoShcaqkFLIyMMYuepzK7Cad0699yztqOM5y9DW7rQ0AySRkYoR83W\nQCV29U3q1rGVTdJoQxcamkPSABqSa8uyjmnz0V6OiKZjWJrtiAhvvWd79KF6ah51vx+bT+iSXl/c\nruSEbn+nTDoLRfUUlVEdt8i5k5ZGpvqaMGYkh4FqrAbre1chlVGYhqRRMhaSWdpAmZcKV9TqKfv5\ngEqQNErUlSkicpFRn//mYw0mbFtKX1uWaB+SRonKXhe8L7ZIDuvFPo11EbFeN3DU1KRh+6mS/qek\nUzU64a1FxJeLx66JiKVLBG0/X9IfSDpO0p9ExO5Njw8kvV/SZ4pNfxERv73scatCffti2jB+MGer\nZyC6m9BRs1oafyxpXdJ+Sa+U9Le2z42Ig5IeuuyBbR8n6c2SnivpTkkft315RHxy064fiYhzlz1e\nHahvr9SwyYO3IbEBdZiVNB4REfuK2xfb/oSkfbZ/rqRj75B0MCJulyTb75b0Ikmbk0ZrSmm7UN+e\nQdfKxGPn3t2T0fhLtigS6YZZSSNsf29EfFWSIuLDtn9G0nskPbqEYz9O0h1j9z8raXVzDJKeaftG\njVojF0bEgRKOXYmyZv5s+I9roAa/1bfkBDvcvIGWyGwUiXTHrKTxRklPkfSxjQ0RcZPtn5T030o4\ndspVhddJOi0i7rN9jqT3SXpSCceuzLL17fxx5a8liS1JXS1LikS6Y2rSiIg/m7L9HyX9cgnHvlPS\naWP3T9OotTF+rHvHbl9p+49snxgRX9r8ZLbXx+4OI2JYQoy1a+KPi66V0g2bDmAOA9UQL0UieSiK\niwbLPEeTJbfXSnqi7dMlfU7SyySdN76D7ZMlHY6IsL1Do2lPjkkYkhQR65VGW5Mm/riW7VrJYBwk\nK7wXx6JIJA/Fl+nhxn3bF837HI0ljYh4wPZrJH1Qo5Lbt0bEJ22/qnj8LZJeIunVth+QdJ+klzcV\nb10W/eNq+MQ9ULu+XfdaEy3LLhSJYGTLCQttPzsi/t+mbc+KiL+tNLI5dGnCwkljGnv26LYDB7Rr\n1phGWRPeLZJ8cptsD+nq/L9jEsT8VDVh4aWSnrZp25snbEMJml57OTVhMA6CFONfQpgEsRtmXRH+\nDEnPlHSS7f+so9dLPEIsE1up1D+uJk/clJh2xrDi5x/UcAzUaFZL42EaJYjjin833KPRWAMaxokb\ny6JViHnNKrn9iKSP2H5bRPyD9J2pPx6+ccEfUBg2HQDyQddlt6UMhL9T0q9K+pakj0v6Xklviog3\nVh9emi4NhC+KslfkiCKJvC1y7kwZmzgjIu6R9NOSrpR0uqSfnz88VImEAaAOKUnjeNsP1ShpXBER\n31TaFCBAY4ouEjRv2HQAKFdK0niLpNslPVzS3xRXcDOmgdwNmg4AtIC7aMsxjWN+wbak4yLigWpC\nmh9jGtiMvnRga5Vc3Gf7FEm/I+lxEfF8SU+W9AxJb10oSqAiVO0A1Uupnton6W2SXhcRTy3GN66P\niB+uI8AUtDSwGS0NYGtVTSPymIj4c9uvlaSI+GYxgSAANI4VAes1axqR44txi6/Z/r6x7WeKgXAs\noOZrSeo6DhrEomX1m1U9dU3x769LukLSP7f9UUnvkLSr6sDQSYO6DsQYRj9MW7Rs+3ad31RMXTer\ne8qSFBGfsP0Tkn6w2Pb3xbUaANAoVgSs36ykMT67bejoLLdnF4Mnv195dD3S1WlAqGhClVgRsH6z\nksbm2W1RrYE62A/PTLyoEisC1m9W0vhCRLy+tkgAYE5NL1rWR42tEZ6zukr4cu66qai7rOznA1gR\nsGazksZza4siI3WW8GXedTNQySf5phMhgOVNLbmNiLvrDCQXlPABwHR0T20ybwlfiV1ZwwV+p1Q5\nd5cByENS0rD9WEk7JH1b0scj4guVRtWgeUr4yuzKyuGknHl3GYAMbLmehu1fkrRf0s9Ieomk/bZf\nWXVgTSlK+A6Ob5tWwkdXFlCelRXvXF31vsHAw9VV71tZ8c6mY8KxUloavyHpaRtjHMU8VB9TR6dG\nn6eEr+NXow6bDgD1a+oiU+aQao+UpPFPkr42dv9rxbbOSi3h6/LVqDl0l6ERAzXwhWFaq31tTeeL\nctqspCz3epukv7O9bntd0t9J+rTtXy+mGemtebqyAEzX8VZ7p6S0NG4rfjZWa3p/cfvhVQXVFlyN\nii7IoWquy632rpl7jfAcsXIfUI6mVjycNKaxZ49uO3BAu/gSVp1SV+6z/aaIuMD2FRMejog4d+4I\nAWACWu3tMbWlYfvpxVoag0mPR8SwwrjmQksDKEdXp+jHZIucO+me6hlOCgA2LHLuTLm479m2r7L9\naduHip/PLB4mylQMYs5j3v0B4DtSqqfeKuk/SbpO0reqDQcLGIgL8QDUJCVpfCUirqw8ElQmh5JK\nAN0wq3rq6cXND9veI+k9kr6x8XhEXFdxbJhi3iTARIQAyjKrpfF7OnpBnyT92KbHn1N+OEhBEgDQ\nlKlJIyIGNcaB+gybOjCVW0D7pVRP/a7tR43df7Tt3642LMxhOM/ODZ+0Bw0eG0AJUiYs3BkRX9m4\nExFflvSC6kLCPPjmjrosUN6NDkqpnnqI7RMi4n5Jsr1N0sOqDQtdQeVWpwxEeXfvpSSNP5P017Yv\nk2RJr5D0p5VGhc5g0B7oli2TRkTstn2TpH9dbPqtiPhgtWEByAEtRWyW0tKQpOvH9r2+oljQfcOm\nA8B8aClis5TqqZ+VtF/SS4ufa2y/tOrA0D18MwXab8tZbouuqedGxOHi/kmS/joinlpDfEmY5Rao\nHtfZdE+pizCNP6+kL47dv7vYBqBH+pAwVla8c/t27dq2TSccOaL7Dx/WJSwE9WApSWOfpA/afqdG\nyeJlkpjAEECnTFpy9uKL9fiVFYvEcdTM7inblnSapB+X9Kxi89UR8d4aYktG9xSADYu2FlZXvW/3\nbp29efvamvbt3x/nVBNts6rqntobET8s6S8WCwsA6rFMa2HbNp0wZfu2suNss5nVUzFqhnzC9o6a\n4gGAhW3frl3jCUOSLrxQT9i+Xedv9btHjuj+KduPlBVfF6TMPXWmpI/Z/oztm4ufm6oODADmtUxr\n4fBhXXLxxTo4vm3PHt12+LAuLSu+Lkjpnjqmjw8AcrRMa+HQodi7smKtren8bdu07cgRHTl8WJcy\nCP5gKddpnCnpQETcU9x/pKQnR8T+GuJLwkA4AGnymMaePbrtwAHt4uR/rEXOnSlJ4wZJPxoR3y7u\nHyfp2oh42sKRlizXpEHNN1C/4u+O1kKCqqqntJEwitvfKhIHZmhTzTdX+qJLir+vrP7GuiRlIPyQ\n7V22H2r7YbYvkPSZqgNru2WqOBowmPcXWJAH6KeUpPGrGl3Yd6ekz2pUTfUrVQbVBT2o+R40HQCA\n+qWsp3GXRlOHlM728yX9gaTjJP1JROyesM8lks6RdJ+kX4yIVkzNnnvNN+skdFNfuxoZP6zP1KRh\ne61YgGlSjXJExK5lDlyMi7xZ0nM1asV83PblEfHJsX12SnpCRDzR9qqkP9aopZO9oub78ZurOOap\n+a7yBLDIOgkkmlYYqGfrlrRp/LALZrU0DhT/fmLCY7NLrtLskHQwIm6XJNvvlvQiSZ8c2+dcSW+X\npIjYb/tRtk8uWj9ZK6nme6CMTgAsyIMcTRs/XFvT+WJAvHRTk0ZEXFH8+78rOvbjJN0xdv+zklYT\n9jlVUvZJQ2pVFcew6QCwuL63AHswfpiVWd1TV2jUophUwxsRce6Sx05trWw+fhmtnGw1cQJY8HmT\nf6ev/ex16XsLMPfxw66Z1T11pkbf7N+l0XKv0tETeBkn7js1mnZ9w2nF8Wbtc2qx7Ri218fuDiNi\nuHyI9WvLCWDOJDAQrRlUpIzxw76wPdCSlY+zksZjJT1P0nnFzwckvSsiblnmgGOulfRE26dL+pxG\nFVrnbdrnckmvkfTuYjqTr0wbz4iI9ZLiAtpsWPYT5l6ZxJxR6Yov08ON+7Yvmvc5Zo1pPKDRCn1X\n2v4ujU7oH7G9HhFvnjvaCc9v+zWSPqhRye1bI+KTtl9VPP6WiNhre6ftg5K+LukVyx63ZYZNB7Co\nvvezN6Xs97YtlUktGj9sva1W7jtB0gskvVzS6Rp9878sIiZ2ETUl17mnMGJrPdduNszWx9Xs+qTU\nuadsv0PSGRpl79+KiJuXjA9Ay1CZhM1mjWn8O426hC6QdIH9oGQUEfHIKgND3ubs5x7WGRvKQ2US\nNps1ppEyLxVKlPuA44Z5+7kZw2gvKpOw2ZbrabRBF8Y0ppyID95yiy7ILXHQz90vrE/RXZWtp4E0\ny7QU2jQVAv3c/dJkZVJbWt99QtIoybKliW06EdPPjTq0pdy3bxi3KMmyiy616URc9HMfHN9GPzfK\n1rKFzHqDlkZJlm0ptGnAkStwUYc2tb77hKRRkmVbCm07EXMFLqrWptZ3n5A0SlJGS4ETMXBUm1rf\nfULJbYkoTQTKxd9UtRY5d5I0OopSRQBb4ToNSKJUEdViUa1+o+S2gyhVRMUGTQeA5pA0OohSRQBV\noXuqgyhVTEM3SzoW1cIGkkYHUaqYbCCmbU/SlrXrUT2SRge17UJBAO1ByS1aadGupc3dLJJeX9zu\nXDdLVd1v8z4v3YD5ouQWtcngRDDQAl1LPetmGaiC7rcF/t8riQPNoHoKixo0HQCA+tHSQGtUUMGz\nyO9kLZcqpyrjYLaDZpE0atbmD/y8J4Kyu7DK7lrqYj97Lt1vVcXBbAfNI2nUqO0f+AVOBAN18Ns8\nmtOmZZG7ijGNGjG9R6mGTQewjKLVVrVhDcdIMSzriZjtoHm0NGrUsQ/8cNLGuvrUO9C1NFDFJ/Uc\nym3LjoPZDppH0qhRlz7w004EufSpozIDNdiCYbaD5pE0SpA6uJ3jB77NA/Ntk0tlU5sx20HzuCJ8\nSVMGtw/ecosumPRBzmklsnljn1cGFwBmy9Z6W1phfbqKvm9Yua8Bq6vet3u3zt68fW1N+/bvj3Oa\niCmFrcGOHX5tbrH3JdG0KWmMa2vcmGyRcyfVU0tq8eD2INPYBw0eu07DpgMAFkHSWFKbB7fbHHvb\ntbg1NWw6ADSLpLGkYnD74Pi2pge3p7E1sLVua13SRTfe+Ld3v/KVu790ww1nfWefJmLfHNfG7Zqu\nZcAcWpzsUBLGNEqQy+D2PJVQG33TucS+Oa6mjg/0CVOjN6Q4yTZa8rfoFCU5xA6gPeie6ogFpigZ\nVh/VQoZNBwBgOpJGR8xbCZVr33SucQEYIWl0BJVQAOpA0uiINlVxAWgvqqc6JLdKKAB5YxoRAEAy\nphEBAFSK6zTQOKZnxyR8LvJE0kCj2r5uOqrB5yJfdE+hUaybjkn4XOSLpIFGZTo9OxrG5yJfJA00\natZFicxy219crJovkgYatcVFiYMyjkHyaR8uVs0X12n0VE6VKdMuSixrmvS6p1vvy5K1VeNi1eox\nNXoH1HEyz60yZXx69qJVMLC1Q6MFmTYMW3QiHqiB2Xpz+iJQBqbtzxNJIyN1ncynVaasrel8NfxH\nWiSGoSTZ0qIthI3kU9xta/JJltsXAXQXSSMjdZ3M+1CZUlbySdV0ksr5iwC6haSRkbpO5i2qTBk2\nHUCqupPUZn34IoA8UD2VkbpO5rlWpqyseOfqqvcNBh6urnrf6af7u0t66mFJz5OtFn0RQMvR0shI\ncTJ//Hg3QxUn80OHYu/KirW2lk9lSpV98g2MYdR9vNo+OwAlt5npa5nh6qr37d6tszdvX1vTvv37\n45wmYmqbvn52sDhKbjugr2WG9Mkvr6+fHdSLMQ1kgT55oB0aSRq2T7R9le1P2f6Q7UdN2e922zfZ\nvt72NXXHifrkOjgP4MEaGdOw/UZJ/xQRb7S9JunREfHaCfsdkvT0iPjSFs/XmTGNPqNPHqhXa9YI\nt32rpLMi4i7bp0gaRsQPTdjvkKQfi4i7t3g+kgYAzKlNa4SfHBF3FbfvknTylP1C0l/Zvtb2L9cT\nGgBgmsqqp2xfJemUCQ+9bvxORITtac2dZ0XE522fJOkq27dGxNVlxwpMw4y1wINVljQi4nnTHrN9\nl+1TIuILth8r6fCU5/h88e8Xbb9X0g5JE5OG7fWxu8OIGC4aOzBmoA5eUZ5rMuzaTL25sT3QkuvU\nNHWdxuWSfkHS7uLf923ewfZ3SzouIu61/T2SfkrS66c9YUSsVxMq0EkDZZYMmam3esWX6eHGfdsX\nzfscTY1pvEHS82x/StJPFvdl+/ttf6DY5xRJV9u+QdJ+SX8ZER9qJFr0iq2BrXVb6xrNWLte/Awa\nDi1J3XGWdbxpM/Vu367zy3h+lKORlkZRQvvcCds/J+kFxe3PSPqXNYcGND5jbQkGmtCKqHD69onH\nmxezArQD04gAPZF7MmRWgHYgaQCzDZsOIEXdi0CVcbwJg94fY6be/DHLLdAC81Q72VrfqhVRZvVU\nyvE2mzLoffCWW/R/tm/XmcwKUA9muQW6a6ASWz1Nl9vOWJ72TKbCzxtJA61UZz1/C481rCK2Mo/H\noHd7kTTQOnXW8zd5rBtuOEuXXrrzx0844aP7pGf+29Rxg0mPVZn4Fmm1MOjdXoxpoHXqXOUv9Vhl\njBHMOtY118T+RaudZowfXNDUeMGkmPbs0W0HDmgXYxj1YUwDvVBn18YcxxpoyW6hql7XjPGD89XQ\nSn85rlOPNCQNtE6dXRsZHWu46PPmOn7A8rTtxHKvaJ06V/mbdayypxuZdaxlur4YP0CZGNNAK9W5\nyl/KsRa5VmHRYy3ynIwfYJLWrNxXNpJGXvo4vXVZSaMqLKWLSRgIR+N6PL31sOkAZmH8AGVhTAOl\n6uv01k1fYQ3UhaSBUuVaqQOgHCQNlIpKHaDbSBooVZ3lsADqR/UUSkelDtAOlNwCAJItcu6kewoA\nkIykAQBIRtIAACQjaQAAkpE0AADJSBoAgGRMWAjgO/o4QzHmQ9IAIKnXMxRjDlzch17jm/VRq6ve\nt3u3zt68fW1N+/bvj3OaiAnVYj0NYA58s34wZihGCgbC0Vt1r/2xsuKdq6veNxh4uLrqfSsr3lnF\ncRbFDMVIQUsDvVXnN+s2tGqKGYofv3ktcWYoxjiSBnqrzm/W01o1a2s6X5ksw3roUOxdWbHW1pih\nGNORNNBbdX6zbst4AWuJYyskDfRWnd+sGS9AV1ByC9Rg0pjGnj267cAB7aL7B01hESYgY6xoiNyQ\nNAAAyVi5DwBQKZIGACAZSQMAkIykAQBIRtIAACQjaQAAkpE0AADJSBoAgGQkDQBAMpIGACAZSQMA\nkIykAQBIRtIAACQjaQAAkpE0AADJSBoAgGQkDQBAMpIGACAZSQMAkIykAQBIRtIAACRrJGnYfqnt\nW2x/y/aPztjv+bZvtf1p22t1xggAOFZTLY2bJb1Y0t9M28H2cZLeLOn5kp4i6TzbT64nvPayPWg6\nhlzwXhzFe3EU78VyGkkaEXFrRHxqi912SDoYEbdHxDclvVvSi6qPrvUGTQeQkUHTAWRk0HQAGRk0\nHUCb5Tym8ThJd4zd/2yxDQDQkOOremLbV0k6ZcJD/zUirkh4iig5JADAkipLGhHxvCWf4k5Jp43d\nP02j1sZEtkkyBdsXNR1DLngvjuK9OIr3YnGVJY05eMr2ayU90fbpkj4n6WWSzpu0Y0RMew4AQIma\nKrl9se07JJ0p6QO2ryy2f7/tD0hSRDwg6TWSPijpgKQ/j4hPNhEvAGDEEfTqAADS5Fw9NREXBh5l\n+0TbV9n+lO0P2X7UlP1ut32T7ettX1N3nFVK+X+2fUnx+I22n1Z3jHXZ6r2wPbD91eJzcL3t32wi\nzqrZvsyg0PaNAAAGOElEQVT2XbZvnrFPLz4T0tbvx9yfi4ho1Y+kH5L0JEkflvSjU/Y5TtJBSadL\neqikGyQ9uenYK3gv3ijpN4rba5LeMGW/Q5JObDreCl7/lv/PknZK2lvcXpX0d03H3eB7MZB0edOx\n1vBe/CtJT5N085THe/GZmOP9mOtz0bqWRnBh4LhzJb29uP12ST89Y98uFguk/D9/5z2KiP2SHmX7\n5HrDrEXqZ76Ln4MHiYirJX15xi59+UxISno/pDk+F61LGon6cmHgyRFxV3H7LknTPvgh6a9sX2v7\nl+sJrRYp/8+T9jm14riakPJehKRnFl0ye20/pbbo8tKXz0SquT4XOZTcHoMLA4+a8V68bvxORMSM\na1WeFRGft32SpKts31p8+2i71P/nzd+iOvP5GJPymq6TdFpE3Gf7HEnv06irt4/68JlINdfnIsuk\nETVfGJizWe9FMbh1SkR8wfZjJR2e8hyfL/79ou33atSV0YWkkfL/vHmfU4ttXbPlexER947dvtL2\nH9k+MSK+VFOMuejLZyLJvJ+LtndPbXlhoO2HaXRh4OX1hVWbyyX9QnH7FzT6hvAgtr/b9iOK298j\n6ac0mmW4C1L+ny+X9O8lyfaZkr4y1qXXJVu+F7ZPtu3i9g6NSu77ljCk/nwmksz7uciypTGL7RdL\nukTSYzS6MPD6iDjH9vdL+l8R8YKIeMD2xoWBx0l6a3TzwsA3SPq/tl8p6XZJPyuNLpJU8V5o1LX1\nnuIzcbykP4uIDzUTbrmm/T/bflXx+FsiYq/tnbYPSvq6pFc0GHJlUt4LSS+R9GrbD0i6T9LLGwu4\nQrbfJeksSY8pLiK+SKOKsl59JjZs9X5ozs8FF/cBAJK1vXsKAFAjkgYAIBlJAwCQjKQBAEhG0gAA\nJCNpAACSkTTQCba/bfsdY/ePt/1F21cU919Y5RT5toe2nz5h+9NtvynxOb5vbHrqz9v+bHH7OttJ\n11TZPsv2M6Y89kO2P2b7ftu/nvJ8wGatu7gPmOLrks6wfUJE3C/peRpNoxGSVMxZljJvmTaujo35\nLmKauG9EfELSJ5KeIOJujaaw3ljD+t6I+P05YpCk50i6V9LHJjx2t6TzNXs2ZGAmWhrokr2SXlDc\nPk/Su1RMNWP7F21fWtw+2fZ7bd9Q/JxZTL/x97bfrtE0K6fZ3mP7Zo8WsPrZjYPYXiu23WD7d8eO\n/1Lb+4vneXax72CstbNu+x22P+rRwlm/tMXr2Yj96UVL5lrb+2yfUmzf5dGCZDfafqftH5D0Kkm/\nVrRQnj3+ZBHxxYi4VtI3F3hvAUm0NNAtfy7pv9v+S0k/IumtGi1As9klkj4cES+2/RBJD5d0oqQn\nSPr5iLjG9r+R9C8kPVXSSZI+bvtvNGoJnCtpR0Tc7wevlnhcRKwWM4VepFFrZ7MflnRmcczrbX9g\nY0LJCaLolrpU0gsj4m7bL5P0O5JeqdHCW6dHxDdtPzIi7rH9P7RYCwVIQtJAZ0TEzbZP16iV8YEZ\nuz5H0s8Vv/NtSffYPlHSP0TExnK4z5L0zqKL6rDtj0j6cY3m8Lms6AJTRHxl7HnfU/x7nUYr6B0T\noqT3R8Q3JH3D9oc1mnH4/VPitKQflHSGRuuhSKN5pT5XPH6TpHfafp8ePFll5xdaQnNIGuiayyVd\nrNHJ/aQZ+006sX49YZ9Z279R/Pstpf9tfXuLxy3ploh45oTHXiDpJyS9UNLrbP9I4jGBhTGmga65\nTNJ6RNwyY5+/lvRqSbJ9nO1HTtjnakkvs/0Qjxav+glJ+yVdJekVtrcVv//oOWKzpBfZ/i7b36fR\n2swf3+J3/l7SScUU3rL9UNtPKQbr/1lEDCW9VtL3atTlda+kRyTEASyEpIGu2KiSujMi3jy2LSbc\nvkDSc2zfpNE6FE8ef47ied6rUffPjRolmf8SEYcj4oMatWautX29pGmlqzHhdhTP+WGNqpt+KyK+\nMOs1Fet9v0TSbts3SLpe0jM06qZ6R/EarpP0poj4qkYVYi8uBsKfNf5ktk8ppsb+NUm/afsfbT98\nxvGBYzA1OlCTooz2axHxe03HAiyKlgZQL76lodVoaQAAktHSAAAkI2kAAJKRNAAAyUgaAIBkJA0A\nQDKSBgAg2f8H+l//yZXdDSkAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(6, 6))\n", "\n", "plt.xlabel('Microchip Test 1')\n", "plt.ylabel('Microchip Test 2')\n", "plt.plot(data2[data2['y'] == 0]['Test1'], data2[data2['y'] == 0]['Test2'], 'yo')\n", "plt.plot(data2[data2['y'] == 1]['Test1'], data2[data2['y'] == 1]['Test2'], 'b+')\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from sklearn.preprocessing import PolynomialFeatures" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [], "source": [ "poly = PolynomialFeatures(degree=6)\n", "trans = poly.fit_transform(data2[['Test1', 'Test2']])" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.796610169492\n", "[[ 0.95101369 0.68667827 1.28049945 -4.86274696 -1.62187205 -2.34346532\n", " 0. 0. 0. 0. 0. 0. 0.\n", " 0. -2.36650423 0. 0. 0. 0. 0.\n", " 0. 0. 0. 0. 0. 0. 0.\n", " 0. ]]\n", "[ 0.91886906]\n" ] } ], "source": [ "clf2 = linear_model.LogisticRegression(penalty='l1', C = 1)\n", "clf2.fit(trans, data2['y'].values)\n", "print clf2.score(trans, data2['y'].values)\n", "print clf2.coef_\n", "print clf2.intercept_" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(6, 6))\n", "\n", "plt.xlabel('Microchip Test 1')\n", "plt.ylabel('Microchip Test 2')\n", "plt.plot(data2[data2['y'] == 0]['Test1'], data2[data2['y'] == 0]['Test2'], 'yo')\n", "plt.plot(data2[data2['y'] == 1]['Test1'], data2[data2['y'] == 1]['Test2'], 'b+')\n", "\n", "dim = np.linspace(-1, 1.5, 1000)\n", "xx, yy = np.meshgrid(dim, dim)\n", "\n", "# Plot the decision boundary. For that, we will assign a color to each\n", "# point in the mesh [x_min, m_max]x[y_min, y_max].\n", "Z = clf2.predict(poly.transform(np.c_[xx.ravel(), yy.ravel()]))\n", "\n", "# Put the result into a color plot\n", "Z = Z.reshape(xx.shape)\n", "plt.contour(xx, yy, Z, cmap=plt.cm.Paired)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "##overfitting" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "clf2_over = linear_model.LogisticRegression(penalty='l1', C = 1000)\n", "clf2_over.fit(trans, data2['y'].values)\n", "\n", "plt.figure(figsize=(6, 6))\n", "\n", "plt.xlabel('Microchip Test 1')\n", "plt.ylabel('Microchip Test 2')\n", "plt.plot(data2[data2['y'] == 0]['Test1'], data2[data2['y'] == 0]['Test2'], 'yo')\n", "plt.plot(data2[data2['y'] == 1]['Test1'], data2[data2['y'] == 1]['Test2'], 'b+')\n", "\n", "dim = np.linspace(-1, 1.5, 1000)\n", "xx, yy = np.meshgrid(dim, dim)\n", "\n", "# Plot the decision boundary. For that, we will assign a color to each\n", "# point in the mesh [x_min, m_max]x[y_min, y_max].\n", "Z = clf2_over.predict(poly.transform(np.c_[xx.ravel(), yy.ravel()]))\n", "\n", "# Put the result into a color plot\n", "Z = Z.reshape(xx.shape)\n", "plt.contour(xx, yy, Z, cmap=plt.cm.Paired)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##underfitting" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAF/CAYAAAC1/ZXDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8VOXZN/DfNclkY4cQUEGJiguoFW0Jrbadqig7Ai5g\nXetW+whoXfK8r7bGPvq8pVhbUavWXatQWxbZpKJ1WpcaVAKigIjEBQSC7NmXud4/5kSGkJmcmTnb\nzPy+n08+zHJyzjXD5Fxz3/d17ltUFURERGb43A6AiIhSB5MGERGZxqRBRESmMWkQEZFpTBpERGQa\nkwYREZnmatIQkadEZLuIrInyfEBE9opIhfFzp9MxEhHRAdkuH/9pAA8CeC7GNv9S1XEOxUNERDG4\n2tJQ1TcB7O5gM3EiFiIi6pjXxzQUwA9EZLWILBWRQW4HRESUydzunurISgD9VbVWREYCWADgOJdj\nIiLKWJ5OGqq6P+L2KyLyJxHpqaq7IrcTEU6gRUSUAFWNawjA00lDRPoAqFJVFZGhAKRtwmgV7wtP\nVyJSpqplbsfhBXwvDuB7cQDfiwMS+cLtatIQkdkAfgygUES+AnAXAD8AqOpjAC4AcIOINAOoBTDZ\nrViJiMjlpKGqUzp4/mEADzsUDhERdcDr1VMUv6DbAXhI0O0APCTodgAeEnQ7gFQm6bAIk4goxzSI\niOKTyLmTLQ0iIjKNSYOIiExj0iAiItOYNIiIyDQmDSIiMo1Jg4iITGPSICIi05g0iIjINCYNIiIy\njUmDiIhMY9IgIiLTmDSIiMg0Jg0iIjKNSYOIiExj0iAiItOYNIiIyDQmDSIiMo1Jg4iITGPSICIi\n05g0iIjINCYNIiIyjUmDiIhMY9IgIiLTmDSIiMg0Jg0iIjKNSYOIiExj0iAiItOYNIiIyDQmDSIi\nMo1Jg4iITGPSICIi05g0iIjINCYNIiIyjUmDiIhMY9IgIiLTmDSIiMg0Jg0iIjKNSYOIiExj0iAi\nItOYNIiIyDQmDSIiMo1Jg4iITGPSICIi07LdDoDIjOJiGVVUhGn5+cirq0N9VRVmVVbqUrfjIso0\nTBrkecXFMmrwYDxw6604tvWx++7DMcXFAiYOImexe4o8r6gI0yITBgDceiuOLSrCVLdiIspUbGmQ\n5+XnIy/K4/lOx5IMdrFROmDSIM+rq0N9lMfrnI4lUexio3TB7inyvKoqzLrvPmyMfGzmTHxWVYUH\n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\nH9zWC4X3Qq98AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "clf2_under = linear_model.LogisticRegression(penalty='l2', C = 0.01)\n", "clf2_under.fit(trans, data2['y'].values)\n", "\n", "plt.figure(figsize=(6, 6))\n", "\n", "plt.xlabel('Microchip Test 1')\n", "plt.ylabel('Microchip Test 2')\n", "plt.plot(data2[data2['y'] == 0]['Test1'], data2[data2['y'] == 0]['Test2'], 'yo')\n", "plt.plot(data2[data2['y'] == 1]['Test1'], data2[data2['y'] == 1]['Test2'], 'b+')\n", "\n", "dim = np.linspace(-1, 1.5, 1000)\n", "xx, yy = np.meshgrid(dim, dim)\n", "\n", "# Plot the decision boundary. For that, we will assign a color to each\n", "# point in the mesh [x_min, m_max]x[y_min, y_max].\n", "Z = clf2_under.predict(poly.transform(np.c_[xx.ravel(), yy.ravel()]))\n", "\n", "# Put the result into a color plot\n", "Z = Z.reshape(xx.shape)\n", "plt.contour(xx, yy, Z, cmap=plt.cm.Paired)\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.9" } }, "nbformat": 4, "nbformat_minor": 0 }