{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# LogisticRegression" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "ExecuteTime": { "end_time": "2016-06-26T23:52:32.278542", "start_time": "2016-06-26T23:52:32.264312" }, "collapsed": false }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import pandas as pd\n", "\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2016-06-26T22:07:21.250362", "start_time": "2016-06-26T22:07:21.199834" } }, "source": [ "## オッズとlogit\n", "- p / (1- p)\n", "- 上記に対数関数適用" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "ExecuteTime": { "end_time": "2016-06-26T22:42:29.126938", "start_time": "2016-06-26T22:42:29.107793" }, "collapsed": true }, "outputs": [], "source": [ "def odds(p):\n", " return p / (1 - p)" ] }, { "cell_type": "code", "execution_count": 105, "metadata": { "ExecuteTime": { "end_time": "2016-07-02T20:03:45.159486", "start_time": "2016-07-02T20:03:45.146943" }, "collapsed": false, "scrolled": false }, "outputs": [], "source": [ "def plot_logit(ps):\n", " figure, axes = plt.subplots(1, 4, figsize=(20, 5))\n", "\n", " s_odds = np.vectorize(odds)(ps)\n", " s_logit = np.log(s_odds)\n", " df = pd.DataFrame({\n", " \"p\": ps,\n", " \"odds\": s_odds,\n", " \"logit\": s_logit\n", " })\n", " df.plot(x=\"p\", y=\"odds\", ax=axes[0])\n", " df.plot(x=\"odds\", y=\"logit\", ax=axes[1])\n", " df.plot(x=\"p\", y=\"logit\", ax=axes[2])\n", " df.plot(y=\"p\", x=\"logit\", ax=axes[3])\n", "\n", " return df.T" ] }, { "cell_type": "code", "execution_count": 101, "metadata": { "ExecuteTime": { "end_time": "2016-07-02T17:53:37.734155", "start_time": "2016-07-02T17:53:36.370379" }, "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", " | 0 | \n", "1 | \n", "2 | \n", "3 | \n", "4 | \n", "5 | \n", "6 | \n", "7 | \n", "8 | \n", "9 | \n", "... | \n", "989 | \n", "990 | \n", "991 | \n", "992 | \n", "993 | \n", "994 | \n", "995 | \n", "996 | \n", "997 | \n", "998 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
logit | \n", "-6.906755 | \n", "-6.212606 | \n", "-5.806138 | \n", "-5.517453 | \n", "-5.293305 | \n", "-5.109978 | \n", "-4.954821 | \n", "-4.820282 | \n", "-4.701490 | \n", "-4.595120 | \n", "... | \n", "4.59512 | \n", "4.701490 | \n", "4.820282 | \n", "4.954821 | \n", "5.109978 | \n", "5.293305 | \n", "5.517453 | \n", "5.806138 | \n", "6.212606 | \n", "6.906755 | \n", "
odds | \n", "0.001001 | \n", "0.002004 | \n", "0.003009 | \n", "0.004016 | \n", "0.005025 | \n", "0.006036 | \n", "0.007049 | \n", "0.008065 | \n", "0.009082 | \n", "0.010101 | \n", "... | \n", "99.00000 | \n", "110.111111 | \n", "124.000000 | \n", "141.857143 | \n", "165.666667 | \n", "199.000000 | \n", "249.000000 | \n", "332.333333 | \n", "499.000000 | \n", "999.000000 | \n", "
p | \n", "0.001000 | \n", "0.002000 | \n", "0.003000 | \n", "0.004000 | \n", "0.005000 | \n", "0.006000 | \n", "0.007000 | \n", "0.008000 | \n", "0.009000 | \n", "0.010000 | \n", "... | \n", "0.99000 | \n", "0.991000 | \n", "0.992000 | \n", "0.993000 | \n", "0.994000 | \n", "0.995000 | \n", "0.996000 | \n", "0.997000 | \n", "0.998000 | \n", "0.999000 | \n", "
3 rows × 999 columns
\n", "\n", " | 0 | \n", "1 | \n", "2 | \n", "3 | \n", "4 | \n", "5 | \n", "6 | \n", "7 | \n", "8 | \n", "9 | \n", "... | \n", "11 | \n", "12 | \n", "13 | \n", "14 | \n", "15 | \n", "16 | \n", "17 | \n", "18 | \n", "19 | \n", "20 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
a | \n", "0.000045 | \n", "0.000123 | \n", "0.000335 | \n", "0.000911 | \n", "0.002473 | \n", "0.006693 | \n", "0.017986 | \n", "0.047426 | \n", "0.119203 | \n", "0.268941 | \n", "... | \n", "0.731059 | \n", "0.880797 | \n", "0.952574 | \n", "0.982014 | \n", "0.993307 | \n", "0.997527 | \n", "0.999089 | \n", "0.999665 | \n", "0.999877 | \n", "0.999955 | \n", "
x | \n", "-10.000000 | \n", "-9.000000 | \n", "-8.000000 | \n", "-7.000000 | \n", "-6.000000 | \n", "-5.000000 | \n", "-4.000000 | \n", "-3.000000 | \n", "-2.000000 | \n", "-1.000000 | \n", "... | \n", "1.000000 | \n", "2.000000 | \n", "3.000000 | \n", "4.000000 | \n", "5.000000 | \n", "6.000000 | \n", "7.000000 | \n", "8.000000 | \n", "9.000000 | \n", "10.000000 | \n", "
2 rows × 21 columns
\n", "