Skip to content

Instantly share code, notes, and snippets.

@whbzju
Created April 9, 2015 11:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save whbzju/ff06fce9fd738dcf8096 to your computer and use it in GitHub Desktop.
Save whbzju/ff06fce9fd738dcf8096 to your computer and use it in GitHub Desktop.
kaggle bike demand
{
"metadata": {
"name": "",
"signature": "sha256:0d5d67fed48737a4ccf557ce3d29560c93921267789dc59251f724c776170828"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# kaggle\u4e0a\u7684\u81ea\u884c\u8f66\u51fa\u79df\u6570\u91cf\u9884\u6d4b\n",
"1. \u8bd5\u4e86LR\uff0c\u628acategorical\u7684\u7279\u5f81\u505a\u6210\u4e86dummies\uff0c\u4f46\u662f\u6548\u679c\u4e0d\u597d\n",
"2. \u8f6c\u5230RandomForest\uff0c\u5176\u4ed6\u65f6\u95f4\u7279\u5f81\u6700\u91cd\u8981\uff0c\u5f97\u52300.48\u7684\u6210\u7ee9\n",
"3. \u540e\u7eed\u5bf9\u65f6\u95f4\u7279\u5f81\u52a0\u5de5\uff0c\u5f97\u5230weekend\uff0cyear\u548cmonth\n",
"4. casual\u548cregister\u5206\u5f00\uff0c\u4e0d\u540c\u76ee\u6807\u7684\u6570\u636e\u5206\u5e03\u4e0d\u540c\uff0c\u5bf9\u6548\u679c\u6709\u63d0\u5347\u3002\n",
"5. \u5bf9casual\u5408register\u5206\u522b\u53d6log\uff0c\u89e3\u51b3\u6570\u636e\u504f\u659c\u95ee\u9898\n",
"6. \u5229\u7528\u968f\u673a\u68ee\u6797\u9009\u62e9\u7279\u5f81\n",
"7. \u53bb\u9664\u76f8\u5173\u6027\u9ad8\u7684\u7279\u5f81"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"%matplotlib inline"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from sklearn import cross_validation\n",
"from sklearn.metrics import mean_squared_error\n",
"from sklearn.ensemble import RandomForestRegressor"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_origin = pd.read_csv(\"data/train.csv\")\n",
"df_origin.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>datetime</th>\n",
" <th>season</th>\n",
" <th>holiday</th>\n",
" <th>workingday</th>\n",
" <th>weather</th>\n",
" <th>temp</th>\n",
" <th>atemp</th>\n",
" <th>humidity</th>\n",
" <th>windspeed</th>\n",
" <th>casual</th>\n",
" <th>registered</th>\n",
" <th>count</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 2011-01-01 00:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 81</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 13</td>\n",
" <td> 16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 2011-01-01 01:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.02</td>\n",
" <td> 13.635</td>\n",
" <td> 80</td>\n",
" <td> 0</td>\n",
" <td> 8</td>\n",
" <td> 32</td>\n",
" <td> 40</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 2011-01-01 02:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.02</td>\n",
" <td> 13.635</td>\n",
" <td> 80</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 27</td>\n",
" <td> 32</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 2011-01-01 03:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 75</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 10</td>\n",
" <td> 13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 2011-01-01 04:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 75</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
" datetime season holiday workingday weather temp atemp \\\n",
"0 2011-01-01 00:00:00 1 0 0 1 9.84 14.395 \n",
"1 2011-01-01 01:00:00 1 0 0 1 9.02 13.635 \n",
"2 2011-01-01 02:00:00 1 0 0 1 9.02 13.635 \n",
"3 2011-01-01 03:00:00 1 0 0 1 9.84 14.395 \n",
"4 2011-01-01 04:00:00 1 0 0 1 9.84 14.395 \n",
"\n",
" humidity windspeed casual registered count \n",
"0 81 0 3 13 16 \n",
"1 80 0 8 32 40 \n",
"2 80 0 5 27 32 \n",
"3 75 0 3 10 13 \n",
"4 75 0 0 1 1 "
]
}
],
"prompt_number": 3
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### \u67e5\u770b\u5b8c\u657424\u5c0f\u65f6count\u7684\u60c5\u51b5"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_origin.tail(24)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>datetime</th>\n",
" <th>season</th>\n",
" <th>holiday</th>\n",
" <th>workingday</th>\n",
" <th>weather</th>\n",
" <th>temp</th>\n",
" <th>atemp</th>\n",
" <th>humidity</th>\n",
" <th>windspeed</th>\n",
" <th>casual</th>\n",
" <th>registered</th>\n",
" <th>count</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>10862</th>\n",
" <td> 2012-12-19 00:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 12.30</td>\n",
" <td> 15.910</td>\n",
" <td> 61</td>\n",
" <td> 0.0000</td>\n",
" <td> 6</td>\n",
" <td> 35</td>\n",
" <td> 41</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10863</th>\n",
" <td> 2012-12-19 01:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 12.30</td>\n",
" <td> 15.910</td>\n",
" <td> 65</td>\n",
" <td> 6.0032</td>\n",
" <td> 1</td>\n",
" <td> 14</td>\n",
" <td> 15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10864</th>\n",
" <td> 2012-12-19 02:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 11.48</td>\n",
" <td> 15.150</td>\n",
" <td> 65</td>\n",
" <td> 6.0032</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10865</th>\n",
" <td> 2012-12-19 03:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 13.635</td>\n",
" <td> 75</td>\n",
" <td> 8.9981</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10866</th>\n",
" <td> 2012-12-19 04:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 12.120</td>\n",
" <td> 75</td>\n",
" <td> 8.9981</td>\n",
" <td> 1</td>\n",
" <td> 6</td>\n",
" <td> 7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10867</th>\n",
" <td> 2012-12-19 05:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 14.395</td>\n",
" <td> 75</td>\n",
" <td> 6.0032</td>\n",
" <td> 2</td>\n",
" <td> 29</td>\n",
" <td> 31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10868</th>\n",
" <td> 2012-12-19 06:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 12.880</td>\n",
" <td> 75</td>\n",
" <td> 6.0032</td>\n",
" <td> 3</td>\n",
" <td> 109</td>\n",
" <td> 112</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10869</th>\n",
" <td> 2012-12-19 07:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 13.635</td>\n",
" <td> 75</td>\n",
" <td> 8.9981</td>\n",
" <td> 3</td>\n",
" <td> 360</td>\n",
" <td> 363</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10870</th>\n",
" <td> 2012-12-19 08:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 12.880</td>\n",
" <td> 87</td>\n",
" <td> 7.0015</td>\n",
" <td> 13</td>\n",
" <td> 665</td>\n",
" <td> 678</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10871</th>\n",
" <td> 2012-12-19 09:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 11.48</td>\n",
" <td> 14.395</td>\n",
" <td> 75</td>\n",
" <td> 7.0015</td>\n",
" <td> 8</td>\n",
" <td> 309</td>\n",
" <td> 317</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10872</th>\n",
" <td> 2012-12-19 10:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 13.12</td>\n",
" <td> 16.665</td>\n",
" <td> 70</td>\n",
" <td> 7.0015</td>\n",
" <td> 17</td>\n",
" <td> 147</td>\n",
" <td> 164</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10873</th>\n",
" <td> 2012-12-19 11:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 16.40</td>\n",
" <td> 20.455</td>\n",
" <td> 54</td>\n",
" <td> 15.0013</td>\n",
" <td> 31</td>\n",
" <td> 169</td>\n",
" <td> 200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10874</th>\n",
" <td> 2012-12-19 12:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 16.40</td>\n",
" <td> 20.455</td>\n",
" <td> 54</td>\n",
" <td> 19.0012</td>\n",
" <td> 33</td>\n",
" <td> 203</td>\n",
" <td> 236</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10875</th>\n",
" <td> 2012-12-19 13:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 17.22</td>\n",
" <td> 21.210</td>\n",
" <td> 50</td>\n",
" <td> 12.9980</td>\n",
" <td> 30</td>\n",
" <td> 183</td>\n",
" <td> 213</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10876</th>\n",
" <td> 2012-12-19 14:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 17.22</td>\n",
" <td> 21.210</td>\n",
" <td> 50</td>\n",
" <td> 12.9980</td>\n",
" <td> 33</td>\n",
" <td> 185</td>\n",
" <td> 218</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10877</th>\n",
" <td> 2012-12-19 15:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 17.22</td>\n",
" <td> 21.210</td>\n",
" <td> 50</td>\n",
" <td> 19.0012</td>\n",
" <td> 28</td>\n",
" <td> 209</td>\n",
" <td> 237</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10878</th>\n",
" <td> 2012-12-19 16:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 17.22</td>\n",
" <td> 21.210</td>\n",
" <td> 50</td>\n",
" <td> 23.9994</td>\n",
" <td> 37</td>\n",
" <td> 297</td>\n",
" <td> 334</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10879</th>\n",
" <td> 2012-12-19 17:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 16.40</td>\n",
" <td> 20.455</td>\n",
" <td> 50</td>\n",
" <td> 26.0027</td>\n",
" <td> 26</td>\n",
" <td> 536</td>\n",
" <td> 562</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10880</th>\n",
" <td> 2012-12-19 18:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 15.58</td>\n",
" <td> 19.695</td>\n",
" <td> 50</td>\n",
" <td> 23.9994</td>\n",
" <td> 23</td>\n",
" <td> 546</td>\n",
" <td> 569</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10881</th>\n",
" <td> 2012-12-19 19:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 15.58</td>\n",
" <td> 19.695</td>\n",
" <td> 50</td>\n",
" <td> 26.0027</td>\n",
" <td> 7</td>\n",
" <td> 329</td>\n",
" <td> 336</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10882</th>\n",
" <td> 2012-12-19 20:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 14.76</td>\n",
" <td> 17.425</td>\n",
" <td> 57</td>\n",
" <td> 15.0013</td>\n",
" <td> 10</td>\n",
" <td> 231</td>\n",
" <td> 241</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10883</th>\n",
" <td> 2012-12-19 21:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 13.94</td>\n",
" <td> 15.910</td>\n",
" <td> 61</td>\n",
" <td> 15.0013</td>\n",
" <td> 4</td>\n",
" <td> 164</td>\n",
" <td> 168</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10884</th>\n",
" <td> 2012-12-19 22:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 13.94</td>\n",
" <td> 17.425</td>\n",
" <td> 61</td>\n",
" <td> 6.0032</td>\n",
" <td> 12</td>\n",
" <td> 117</td>\n",
" <td> 129</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10885</th>\n",
" <td> 2012-12-19 23:00:00</td>\n",
" <td> 4</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 13.12</td>\n",
" <td> 16.665</td>\n",
" <td> 66</td>\n",
" <td> 8.9981</td>\n",
" <td> 4</td>\n",
" <td> 84</td>\n",
" <td> 88</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
" datetime season holiday workingday weather temp \\\n",
"10862 2012-12-19 00:00:00 4 0 1 1 12.30 \n",
"10863 2012-12-19 01:00:00 4 0 1 1 12.30 \n",
"10864 2012-12-19 02:00:00 4 0 1 1 11.48 \n",
"10865 2012-12-19 03:00:00 4 0 1 1 10.66 \n",
"10866 2012-12-19 04:00:00 4 0 1 1 9.84 \n",
"10867 2012-12-19 05:00:00 4 0 1 1 10.66 \n",
"10868 2012-12-19 06:00:00 4 0 1 1 9.84 \n",
"10869 2012-12-19 07:00:00 4 0 1 1 10.66 \n",
"10870 2012-12-19 08:00:00 4 0 1 1 9.84 \n",
"10871 2012-12-19 09:00:00 4 0 1 1 11.48 \n",
"10872 2012-12-19 10:00:00 4 0 1 1 13.12 \n",
"10873 2012-12-19 11:00:00 4 0 1 1 16.40 \n",
"10874 2012-12-19 12:00:00 4 0 1 1 16.40 \n",
"10875 2012-12-19 13:00:00 4 0 1 1 17.22 \n",
"10876 2012-12-19 14:00:00 4 0 1 1 17.22 \n",
"10877 2012-12-19 15:00:00 4 0 1 1 17.22 \n",
"10878 2012-12-19 16:00:00 4 0 1 1 17.22 \n",
"10879 2012-12-19 17:00:00 4 0 1 1 16.40 \n",
"10880 2012-12-19 18:00:00 4 0 1 1 15.58 \n",
"10881 2012-12-19 19:00:00 4 0 1 1 15.58 \n",
"10882 2012-12-19 20:00:00 4 0 1 1 14.76 \n",
"10883 2012-12-19 21:00:00 4 0 1 1 13.94 \n",
"10884 2012-12-19 22:00:00 4 0 1 1 13.94 \n",
"10885 2012-12-19 23:00:00 4 0 1 1 13.12 \n",
"\n",
" atemp humidity windspeed casual registered count \n",
"10862 15.910 61 0.0000 6 35 41 \n",
"10863 15.910 65 6.0032 1 14 15 \n",
"10864 15.150 65 6.0032 1 2 3 \n",
"10865 13.635 75 8.9981 0 5 5 \n",
"10866 12.120 75 8.9981 1 6 7 \n",
"10867 14.395 75 6.0032 2 29 31 \n",
"10868 12.880 75 6.0032 3 109 112 \n",
"10869 13.635 75 8.9981 3 360 363 \n",
"10870 12.880 87 7.0015 13 665 678 \n",
"10871 14.395 75 7.0015 8 309 317 \n",
"10872 16.665 70 7.0015 17 147 164 \n",
"10873 20.455 54 15.0013 31 169 200 \n",
"10874 20.455 54 19.0012 33 203 236 \n",
"10875 21.210 50 12.9980 30 183 213 \n",
"10876 21.210 50 12.9980 33 185 218 \n",
"10877 21.210 50 19.0012 28 209 237 \n",
"10878 21.210 50 23.9994 37 297 334 \n",
"10879 20.455 50 26.0027 26 536 562 \n",
"10880 19.695 50 23.9994 23 546 569 \n",
"10881 19.695 50 26.0027 7 329 336 \n",
"10882 17.425 57 15.0013 10 231 241 \n",
"10883 15.910 61 15.0013 4 164 168 \n",
"10884 17.425 61 6.0032 12 117 129 \n",
"10885 16.665 66 8.9981 4 84 88 "
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_origin.describe()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>season</th>\n",
" <th>holiday</th>\n",
" <th>workingday</th>\n",
" <th>weather</th>\n",
" <th>temp</th>\n",
" <th>atemp</th>\n",
" <th>humidity</th>\n",
" <th>windspeed</th>\n",
" <th>casual</th>\n",
" <th>registered</th>\n",
" <th>count</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td> 10886.000000</td>\n",
" <td> 10886.000000</td>\n",
" <td> 10886.000000</td>\n",
" <td> 10886.000000</td>\n",
" <td> 10886.00000</td>\n",
" <td> 10886.000000</td>\n",
" <td> 10886.000000</td>\n",
" <td> 10886.000000</td>\n",
" <td> 10886.000000</td>\n",
" <td> 10886.000000</td>\n",
" <td> 10886.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td> 2.506614</td>\n",
" <td> 0.028569</td>\n",
" <td> 0.680875</td>\n",
" <td> 1.418427</td>\n",
" <td> 20.23086</td>\n",
" <td> 23.655084</td>\n",
" <td> 61.886460</td>\n",
" <td> 12.799395</td>\n",
" <td> 36.021955</td>\n",
" <td> 155.552177</td>\n",
" <td> 191.574132</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td> 1.116174</td>\n",
" <td> 0.166599</td>\n",
" <td> 0.466159</td>\n",
" <td> 0.633839</td>\n",
" <td> 7.79159</td>\n",
" <td> 8.474601</td>\n",
" <td> 19.245033</td>\n",
" <td> 8.164537</td>\n",
" <td> 49.960477</td>\n",
" <td> 151.039033</td>\n",
" <td> 181.144454</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td> 1.000000</td>\n",
" <td> 0.000000</td>\n",
" <td> 0.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 0.82000</td>\n",
" <td> 0.760000</td>\n",
" <td> 0.000000</td>\n",
" <td> 0.000000</td>\n",
" <td> 0.000000</td>\n",
" <td> 0.000000</td>\n",
" <td> 1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td> 2.000000</td>\n",
" <td> 0.000000</td>\n",
" <td> 0.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 13.94000</td>\n",
" <td> 16.665000</td>\n",
" <td> 47.000000</td>\n",
" <td> 7.001500</td>\n",
" <td> 4.000000</td>\n",
" <td> 36.000000</td>\n",
" <td> 42.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td> 3.000000</td>\n",
" <td> 0.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 20.50000</td>\n",
" <td> 24.240000</td>\n",
" <td> 62.000000</td>\n",
" <td> 12.998000</td>\n",
" <td> 17.000000</td>\n",
" <td> 118.000000</td>\n",
" <td> 145.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td> 4.000000</td>\n",
" <td> 0.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 2.000000</td>\n",
" <td> 26.24000</td>\n",
" <td> 31.060000</td>\n",
" <td> 77.000000</td>\n",
" <td> 16.997900</td>\n",
" <td> 49.000000</td>\n",
" <td> 222.000000</td>\n",
" <td> 284.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td> 4.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 4.000000</td>\n",
" <td> 41.00000</td>\n",
" <td> 45.455000</td>\n",
" <td> 100.000000</td>\n",
" <td> 56.996900</td>\n",
" <td> 367.000000</td>\n",
" <td> 886.000000</td>\n",
" <td> 977.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 5,
"text": [
" season holiday workingday weather temp \\\n",
"count 10886.000000 10886.000000 10886.000000 10886.000000 10886.00000 \n",
"mean 2.506614 0.028569 0.680875 1.418427 20.23086 \n",
"std 1.116174 0.166599 0.466159 0.633839 7.79159 \n",
"min 1.000000 0.000000 0.000000 1.000000 0.82000 \n",
"25% 2.000000 0.000000 0.000000 1.000000 13.94000 \n",
"50% 3.000000 0.000000 1.000000 1.000000 20.50000 \n",
"75% 4.000000 0.000000 1.000000 2.000000 26.24000 \n",
"max 4.000000 1.000000 1.000000 4.000000 41.00000 \n",
"\n",
" atemp humidity windspeed casual registered \\\n",
"count 10886.000000 10886.000000 10886.000000 10886.000000 10886.000000 \n",
"mean 23.655084 61.886460 12.799395 36.021955 155.552177 \n",
"std 8.474601 19.245033 8.164537 49.960477 151.039033 \n",
"min 0.760000 0.000000 0.000000 0.000000 0.000000 \n",
"25% 16.665000 47.000000 7.001500 4.000000 36.000000 \n",
"50% 24.240000 62.000000 12.998000 17.000000 118.000000 \n",
"75% 31.060000 77.000000 16.997900 49.000000 222.000000 \n",
"max 45.455000 100.000000 56.996900 367.000000 886.000000 \n",
"\n",
" count \n",
"count 10886.000000 \n",
"mean 191.574132 \n",
"std 181.144454 \n",
"min 1.000000 \n",
"25% 42.000000 \n",
"50% 145.000000 \n",
"75% 284.000000 \n",
"max 977.000000 "
]
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_test = pd.read_csv('data/test.csv')\n",
"df_test.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>datetime</th>\n",
" <th>season</th>\n",
" <th>holiday</th>\n",
" <th>workingday</th>\n",
" <th>weather</th>\n",
" <th>temp</th>\n",
" <th>atemp</th>\n",
" <th>humidity</th>\n",
" <th>windspeed</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 2011-01-20 00:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 11.365</td>\n",
" <td> 56</td>\n",
" <td> 26.0027</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 2011-01-20 01:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 13.635</td>\n",
" <td> 56</td>\n",
" <td> 0.0000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 2011-01-20 02:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 13.635</td>\n",
" <td> 56</td>\n",
" <td> 0.0000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 2011-01-20 03:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 12.880</td>\n",
" <td> 56</td>\n",
" <td> 11.0014</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 2011-01-20 04:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 12.880</td>\n",
" <td> 56</td>\n",
" <td> 11.0014</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 6,
"text": [
" datetime season holiday workingday weather temp atemp \\\n",
"0 2011-01-20 00:00:00 1 0 1 1 10.66 11.365 \n",
"1 2011-01-20 01:00:00 1 0 1 1 10.66 13.635 \n",
"2 2011-01-20 02:00:00 1 0 1 1 10.66 13.635 \n",
"3 2011-01-20 03:00:00 1 0 1 1 10.66 12.880 \n",
"4 2011-01-20 04:00:00 1 0 1 1 10.66 12.880 \n",
"\n",
" humidity windspeed \n",
"0 56 26.0027 \n",
"1 56 0.0000 \n",
"2 56 0.0000 \n",
"3 56 11.0014 \n",
"4 56 11.0014 "
]
}
],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_test.shape"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 7,
"text": [
"(6493, 9)"
]
}
],
"prompt_number": 7
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## \u68c0\u6d4b\u5f02\u5e38\u503c\n",
"\u5e76\u6ca1\u6709\u53d1\u73b0nan\u548c\u5176\u4ed6\u5f02\u5e38"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_origin.columns.values"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 8,
"text": [
"array(['datetime', 'season', 'holiday', 'workingday', 'weather', 'temp',\n",
" 'atemp', 'humidity', 'windspeed', 'casual', 'registered', 'count'], dtype=object)"
]
}
],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def findNan(df):\n",
" cols = df.columns.values\n",
" print cols\n",
" for c in cols:\n",
" print c, df[c].unique()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"findNan(df_origin)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"['datetime' 'season' 'holiday' 'workingday' 'weather' 'temp' 'atemp'\n",
" 'humidity' 'windspeed' 'casual' 'registered' 'count']\n",
"datetime ['2011-01-01 00:00:00' '2011-01-01 01:00:00' '2011-01-01 02:00:00' ...,\n",
" '2012-12-19 21:00:00' '2012-12-19 22:00:00' '2012-12-19 23:00:00']\n",
"season [1 2 3 4]\n",
"holiday [0 1]\n",
"workingday [0 1]\n",
"weather [1 2 3 4]\n",
"temp [ 9.84 9.02 8.2 13.12 15.58 14.76 17.22 18.86 18.04 16.4\n",
" 13.94 12.3 10.66 6.56 5.74 7.38 4.92 11.48 4.1 3.28\n",
" 2.46 21.32 22.96 23.78 24.6 19.68 22.14 20.5 27.06 26.24\n",
" 25.42 27.88 28.7 30.34 31.16 29.52 33.62 35.26 36.9 32.8\n",
" 31.98 34.44 36.08 37.72 38.54 1.64 0.82 39.36 41. ]\n",
"atemp [ 14.395 13.635 12.88 17.425 19.695 16.665 21.21 22.725 21.97\n",
" 20.455 11.365 10.605 9.85 8.335 6.82 5.305 6.06 9.09\n",
" 12.12 7.575 15.91 3.03 3.79 4.545 15.15 18.18 25.\n",
" 26.515 27.275 29.545 23.485 25.76 31.06 30.305 24.24 18.94\n",
" 31.82 32.575 33.335 28.79 34.85 35.605 37.12 40.15 41.665\n",
" 40.91 39.395 34.09 28.03 36.365 37.88 42.425 43.94 38.635\n",
" 1.515 0.76 2.275 43.18 44.695 45.455]\n",
"humidity [ 81 80 75 86 76 77 72 82 88 87 94 100 71 66 57 46 42 39\n",
" 44 47 50 43 40 35 30 32 64 69 55 59 63 68 74 51 56 52\n",
" 49 48 37 33 28 38 36 93 29 53 34 54 41 45 92 62 58 61\n",
" 60 65 70 27 25 26 31 73 21 24 23 22 19 15 67 10 8 12\n",
" 14 13 17 16 18 20 85 0 83 84 78 79 89 97 90 96 91]\n",
"windspeed [ 0. 6.0032 16.9979 19.0012 19.9995 12.998 15.0013 8.9981\n",
" 11.0014 22.0028 30.0026 23.9994 27.9993 26.0027 7.0015 32.9975\n",
" 36.9974 31.0009 35.0008 39.0007 43.9989 40.9973 51.9987 46.0022\n",
" 50.0021 43.0006 56.9969 47.9988]\n",
"casual [ 3 8 5 0 2 1 12 26 29 47 35 40 41 15 9 6 11 4\n",
" 7 16 20 19 10 13 14 18 17 21 33 23 22 28 48 52 42 24\n",
" 30 27 32 58 62 51 25 31 59 45 73 55 68 34 38 102 84 39\n",
" 36 43 46 60 80 83 74 37 70 81 100 99 54 88 97 144 149 124\n",
" 98 50 72 57 71 67 95 90 126 174 168 170 175 138 92 56 111 89\n",
" 69 139 166 219 240 147 148 78 53 63 79 114 94 85 128 93 121 156\n",
" 135 103 44 49 64 91 119 167 181 179 161 143 75 66 109 123 113 65\n",
" 86 82 132 129 196 142 122 106 61 107 120 195 183 206 158 137 76 115\n",
" 150 188 193 180 127 154 108 96 110 112 169 131 176 134 162 153 210 118\n",
" 141 146 159 178 177 136 215 198 248 225 194 237 242 235 224 236 222 77\n",
" 87 101 145 182 171 160 133 105 104 187 221 201 205 234 185 164 200 130\n",
" 155 116 125 204 186 214 245 218 217 152 191 256 251 262 189 212 272 223\n",
" 208 165 229 151 117 199 140 226 286 352 357 367 291 233 190 283 295 232\n",
" 173 184 172 320 355 326 321 354 299 227 254 260 207 274 308 288 311 253\n",
" 197 163 275 298 282 266 220 241 230 157 293 257 269 255 228 276 332 361\n",
" 356 331 279 203 250 259 297 265 267 192 239 238 213 264 244 243 246 289\n",
" 287 209 263 249 247 284 327 325 312 350 258 362 310 317 268 202 294 280\n",
" 216 292 304]\n",
"registered [ 13 32 27 10 1 0 2 7 6 24 30 55 47 71 70 52 26 31\n",
" 25 17 16 8 4 19 46 54 73 64 67 58 43 29 20 9 5 3\n",
" 63 153 81 33 41 48 53 66 146 148 102 49 11 36 92 177 98 37\n",
" 50 79 68 202 179 110 34 87 192 109 74 65 85 186 166 127 82 40\n",
" 18 95 216 116 42 57 78 59 163 158 51 76 190 125 178 39 14 15\n",
" 56 60 90 83 69 28 35 22 12 77 44 38 75 184 174 154 97 214\n",
" 45 72 130 94 139 135 197 137 141 156 117 155 134 89 80 108 61 124\n",
" 132 196 107 114 172 165 105 119 183 175 88 62 86 170 145 217 91 195\n",
" 152 21 126 115 223 207 123 236 128 151 100 198 157 168 84 99 173 121\n",
" 159 93 23 212 111 193 103 113 122 106 96 249 218 194 213 191 142 224\n",
" 244 143 267 256 211 161 131 246 118 164 275 204 230 243 112 238 144 185\n",
" 101 222 138 206 104 200 129 247 140 209 136 176 120 229 210 133 259 147\n",
" 227 150 282 162 265 260 189 237 245 205 308 283 248 303 291 280 208 286\n",
" 352 290 262 203 284 293 160 182 316 338 279 187 277 362 321 331 372 377\n",
" 350 220 472 450 268 435 169 225 464 485 323 388 367 266 255 415 233 467\n",
" 456 305 171 470 385 253 215 240 235 263 221 351 539 458 339 301 397 271\n",
" 532 480 365 241 421 242 234 341 394 540 463 361 429 359 180 188 261 254\n",
" 366 181 398 272 167 149 325 521 426 298 428 487 431 288 239 453 454 345\n",
" 417 434 278 285 442 484 451 252 471 488 270 258 264 281 410 516 500 343\n",
" 311 432 475 479 355 329 199 400 414 423 232 219 302 529 510 348 346 441\n",
" 473 335 445 555 527 273 364 299 269 257 342 324 226 391 466 297 517 486\n",
" 489 492 228 289 455 382 380 295 251 418 412 340 433 231 333 514 483 276\n",
" 478 287 381 334 347 320 493 491 369 201 408 378 443 460 465 313 513 292\n",
" 497 376 326 413 328 525 296 452 506 393 368 337 567 462 349 319 300 515\n",
" 373 399 507 396 512 503 386 427 312 384 530 310 536 437 505 371 375 534\n",
" 469 474 553 402 274 523 448 409 387 438 407 250 459 425 422 379 392 430\n",
" 401 306 370 449 363 389 374 436 356 317 446 294 508 315 522 494 327 495\n",
" 404 447 504 318 579 551 498 533 332 554 509 573 545 395 440 547 557 623\n",
" 571 614 638 628 642 647 602 634 648 353 322 357 314 563 615 681 601 543\n",
" 577 354 661 653 304 645 646 419 610 677 618 595 565 586 670 656 626 581\n",
" 546 604 596 383 621 564 309 360 330 549 589 461 631 673 358 651 663 538\n",
" 616 662 344 640 659 770 608 617 584 307 667 605 641 594 629 603 518 665\n",
" 769 749 499 719 734 696 688 570 675 405 411 643 733 390 680 764 679 531\n",
" 637 652 778 703 537 576 613 715 726 598 625 444 672 782 548 682 750 716\n",
" 609 698 572 669 633 725 704 658 620 542 575 511 741 790 644 740 735 560\n",
" 739 439 660 697 336 619 712 624 580 678 684 468 649 786 718 775 636 578\n",
" 746 743 481 664 711 689 751 745 424 699 552 709 591 757 768 767 723 558\n",
" 561 403 502 692 780 622 761 690 744 857 562 702 802 727 811 886 406 787\n",
" 496 708 758 812 807 791 639 781 833 756 544 789 742 655 416 806 773 737\n",
" 706 566 713 800 839 779 766 794 803 788 720 668 490 568 597 477 583 501\n",
" 556 593 420 541 694 650 559 666 700 693 582]\n",
"count [ 16 40 32 13 1 2 3 8 14 36 56 84 94 106 110 93 67 35\n",
" 37 34 28 39 17 9 6 20 53 70 75 59 74 76 65 30 22 31\n",
" 5 64 154 88 44 51 61 77 72 157 52 12 4 179 100 42 57 78\n",
" 97 63 83 212 182 112 54 48 11 33 195 115 46 79 71 62 89 190\n",
" 169 132 43 19 95 219 122 45 86 172 163 69 23 7 210 134 73 50\n",
" 87 187 123 15 25 98 102 55 10 49 82 92 41 38 188 47 178 155\n",
" 24 18 27 99 217 130 136 29 128 81 68 139 137 202 60 162 144 158\n",
" 117 90 159 101 118 129 26 104 91 113 105 21 80 125 133 197 109 161\n",
" 135 116 176 168 108 103 175 147 96 220 127 205 174 121 230 66 114 216\n",
" 243 152 199 58 166 170 165 160 140 211 120 145 256 126 223 85 206 124\n",
" 255 222 285 146 274 272 185 191 232 327 224 107 119 196 171 214 242 148\n",
" 268 201 150 111 167 228 198 204 164 233 257 151 248 235 141 249 194 259\n",
" 156 153 244 213 181 221 250 304 241 271 282 225 253 237 299 142 313 310\n",
" 207 138 280 173 332 331 149 267 301 312 278 281 184 215 367 349 292 303\n",
" 339 143 189 366 386 273 325 356 314 343 333 226 203 177 263 297 288 236\n",
" 240 131 452 383 284 291 309 321 193 337 388 300 200 180 209 354 361 306\n",
" 277 428 362 286 351 192 411 421 276 264 238 266 371 269 537 518 218 265\n",
" 459 186 517 544 365 290 410 396 296 440 533 520 258 450 246 260 344 553\n",
" 470 298 347 373 436 378 342 289 340 382 390 358 385 239 374 598 524 384\n",
" 425 611 550 434 318 442 401 234 594 527 364 387 491 398 270 279 294 295\n",
" 322 456 437 392 231 394 453 308 604 480 283 565 489 487 183 302 547 513\n",
" 454 486 467 572 525 379 502 558 564 391 293 247 317 369 420 451 404 341\n",
" 251 335 417 363 357 438 579 556 407 336 334 477 539 551 424 346 353 481\n",
" 506 432 409 466 326 254 463 380 275 311 315 360 350 252 328 476 227 601\n",
" 586 423 330 569 538 370 498 638 607 416 261 355 552 208 468 449 381 377\n",
" 397 492 427 461 422 305 375 376 414 447 408 418 457 545 496 368 245 596\n",
" 563 443 562 229 316 402 287 372 514 472 511 488 419 595 578 400 348 587\n",
" 497 433 475 406 430 324 262 323 412 530 543 413 435 555 523 441 529 532\n",
" 585 399 584 559 307 582 571 426 516 465 329 483 600 570 628 531 455 389\n",
" 505 359 431 460 590 429 599 338 566 482 568 540 495 345 591 593 446 485\n",
" 393 500 473 352 320 479 444 462 405 620 499 625 395 528 319 519 445 512\n",
" 471 508 526 509 484 448 515 549 501 612 597 464 644 712 676 734 662 782\n",
" 749 623 713 746 651 686 690 679 685 648 560 503 521 554 541 721 801 561\n",
" 573 589 729 618 494 757 800 684 744 759 822 698 490 536 655 643 626 615\n",
" 567 617 632 646 692 704 624 656 610 738 671 678 660 658 635 681 616 522\n",
" 673 781 775 576 677 748 776 557 743 666 813 504 627 706 641 575 639 769\n",
" 680 546 717 710 458 622 705 630 732 770 439 779 659 602 478 733 650 873\n",
" 846 474 634 852 868 745 812 669 642 730 672 645 694 493 668 647 702 665\n",
" 834 850 790 415 724 869 700 793 723 534 831 613 653 857 719 867 823 403\n",
" 693 603 583 542 614 580 811 795 747 581 722 689 849 872 631 649 819 674\n",
" 830 814 633 825 629 835 667 755 794 661 772 657 771 777 837 891 652 739\n",
" 865 767 741 469 605 858 843 640 737 862 810 577 818 854 682 851 848 897\n",
" 832 791 654 856 839 725 863 808 792 696 701 871 968 750 970 877 925 977\n",
" 758 884 766 894 715 783 683 842 774 797 886 892 784 687 809 917 901 887\n",
" 785 900 761 806 507 948 844 798 827 670 637 619 592 943 838 817 888 890\n",
" 788 588 606 608 691 711 663 731 708 609 688 636]\n"
]
}
],
"prompt_number": 10
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\u6ca1\u6709\u53d1\u73b0null"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## \u7279\u5f81\u5de5\u7a0b\n",
"###\u65f6\u95f4\u79bb\u6563\u5316"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_origin['hour'] = df_origin['datetime'].str[11:13]\n",
"df_origin.hour = df_origin.hour.astype(int)\n",
"df_origin.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>datetime</th>\n",
" <th>season</th>\n",
" <th>holiday</th>\n",
" <th>workingday</th>\n",
" <th>weather</th>\n",
" <th>temp</th>\n",
" <th>atemp</th>\n",
" <th>humidity</th>\n",
" <th>windspeed</th>\n",
" <th>casual</th>\n",
" <th>registered</th>\n",
" <th>count</th>\n",
" <th>hour</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 2011-01-01 00:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 81</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 13</td>\n",
" <td> 16</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 2011-01-01 01:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.02</td>\n",
" <td> 13.635</td>\n",
" <td> 80</td>\n",
" <td> 0</td>\n",
" <td> 8</td>\n",
" <td> 32</td>\n",
" <td> 40</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 2011-01-01 02:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.02</td>\n",
" <td> 13.635</td>\n",
" <td> 80</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 27</td>\n",
" <td> 32</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 2011-01-01 03:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 75</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 10</td>\n",
" <td> 13</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 2011-01-01 04:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 75</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 11,
"text": [
" datetime season holiday workingday weather temp atemp \\\n",
"0 2011-01-01 00:00:00 1 0 0 1 9.84 14.395 \n",
"1 2011-01-01 01:00:00 1 0 0 1 9.02 13.635 \n",
"2 2011-01-01 02:00:00 1 0 0 1 9.02 13.635 \n",
"3 2011-01-01 03:00:00 1 0 0 1 9.84 14.395 \n",
"4 2011-01-01 04:00:00 1 0 0 1 9.84 14.395 \n",
"\n",
" humidity windspeed casual registered count hour \n",
"0 81 0 3 13 16 0 \n",
"1 80 0 8 32 40 1 \n",
"2 80 0 5 27 32 2 \n",
"3 75 0 3 10 13 3 \n",
"4 75 0 0 1 1 4 "
]
}
],
"prompt_number": 11
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### \u76ee\u524d\u6570\u636e\u6709workingday\u548choliday\uff0c\u4f46\u6211\u76f4\u89c2\u7406\u89e3\u661f\u671f\u51e0\u3001\u6708\u4efd\u3001\u5e74\u4efd\u5bf9\u7ed3\u679c\u6709\u5f71\u54cd"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from datetime import datetime "
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def func(df):\n",
" i = 0\n",
" for timestamp in df['datetime']:\n",
" i += 1\n",
" date_object = datetime.strptime(timestamp[:10], '%Y-%m-%d')\n",
" date = datetime.date(date_object).weekday()\n",
" df.loc[i-1, 'week'] = date\n",
" return df"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_origin = func(df_origin)\n",
"df_origin.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>datetime</th>\n",
" <th>season</th>\n",
" <th>holiday</th>\n",
" <th>workingday</th>\n",
" <th>weather</th>\n",
" <th>temp</th>\n",
" <th>atemp</th>\n",
" <th>humidity</th>\n",
" <th>windspeed</th>\n",
" <th>casual</th>\n",
" <th>registered</th>\n",
" <th>count</th>\n",
" <th>hour</th>\n",
" <th>week</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 2011-01-01 00:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 81</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 13</td>\n",
" <td> 16</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 2011-01-01 01:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.02</td>\n",
" <td> 13.635</td>\n",
" <td> 80</td>\n",
" <td> 0</td>\n",
" <td> 8</td>\n",
" <td> 32</td>\n",
" <td> 40</td>\n",
" <td> 1</td>\n",
" <td> 5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 2011-01-01 02:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.02</td>\n",
" <td> 13.635</td>\n",
" <td> 80</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 27</td>\n",
" <td> 32</td>\n",
" <td> 2</td>\n",
" <td> 5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 2011-01-01 03:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 75</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 10</td>\n",
" <td> 13</td>\n",
" <td> 3</td>\n",
" <td> 5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 2011-01-01 04:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 75</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 5</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 14,
"text": [
" datetime season holiday workingday weather temp atemp \\\n",
"0 2011-01-01 00:00:00 1 0 0 1 9.84 14.395 \n",
"1 2011-01-01 01:00:00 1 0 0 1 9.02 13.635 \n",
"2 2011-01-01 02:00:00 1 0 0 1 9.02 13.635 \n",
"3 2011-01-01 03:00:00 1 0 0 1 9.84 14.395 \n",
"4 2011-01-01 04:00:00 1 0 0 1 9.84 14.395 \n",
"\n",
" humidity windspeed casual registered count hour week \n",
"0 81 0 3 13 16 0 5 \n",
"1 80 0 8 32 40 1 5 \n",
"2 80 0 5 27 32 2 5 \n",
"3 75 0 3 10 13 3 5 \n",
"4 75 0 0 1 1 4 5 "
]
}
],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_origin['year'] = df_origin['datetime'].str[:4]\n",
"df_origin['month'] = df_origin['datetime'].str[5:7]\n",
"df_origin['year'] = df_origin.year.astype(int)\n",
"df_origin['month'] = df_origin.month.astype(int)\n",
"df_origin.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>datetime</th>\n",
" <th>season</th>\n",
" <th>holiday</th>\n",
" <th>workingday</th>\n",
" <th>weather</th>\n",
" <th>temp</th>\n",
" <th>atemp</th>\n",
" <th>humidity</th>\n",
" <th>windspeed</th>\n",
" <th>casual</th>\n",
" <th>registered</th>\n",
" <th>count</th>\n",
" <th>hour</th>\n",
" <th>week</th>\n",
" <th>year</th>\n",
" <th>month</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 2011-01-01 00:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 81</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 13</td>\n",
" <td> 16</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 2011-01-01 01:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.02</td>\n",
" <td> 13.635</td>\n",
" <td> 80</td>\n",
" <td> 0</td>\n",
" <td> 8</td>\n",
" <td> 32</td>\n",
" <td> 40</td>\n",
" <td> 1</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 2011-01-01 02:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.02</td>\n",
" <td> 13.635</td>\n",
" <td> 80</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 27</td>\n",
" <td> 32</td>\n",
" <td> 2</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 2011-01-01 03:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 75</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 10</td>\n",
" <td> 13</td>\n",
" <td> 3</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 2011-01-01 04:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 75</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 15,
"text": [
" datetime season holiday workingday weather temp atemp \\\n",
"0 2011-01-01 00:00:00 1 0 0 1 9.84 14.395 \n",
"1 2011-01-01 01:00:00 1 0 0 1 9.02 13.635 \n",
"2 2011-01-01 02:00:00 1 0 0 1 9.02 13.635 \n",
"3 2011-01-01 03:00:00 1 0 0 1 9.84 14.395 \n",
"4 2011-01-01 04:00:00 1 0 0 1 9.84 14.395 \n",
"\n",
" humidity windspeed casual registered count hour week year month \n",
"0 81 0 3 13 16 0 5 2011 1 \n",
"1 80 0 8 32 40 1 5 2011 1 \n",
"2 80 0 5 27 32 2 5 2011 1 \n",
"3 75 0 3 10 13 3 5 2011 1 \n",
"4 75 0 0 1 1 4 5 2011 1 "
]
}
],
"prompt_number": 15
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_origin.columns.values"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 16,
"text": [
"array(['datetime', 'season', 'holiday', 'workingday', 'weather', 'temp',\n",
" 'atemp', 'humidity', 'windspeed', 'casual', 'registered', 'count',\n",
" 'hour', 'week', 'year', 'month'], dtype=object)"
]
}
],
"prompt_number": 16
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_clean = df_origin[['season', 'holiday', 'workingday', 'weather', 'temp',\n",
" 'atemp', 'humidity', 'windspeed', 'casual', 'registered', 'count',\n",
" 'hour', 'week', 'year', 'month']]\n",
"df_clean.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>season</th>\n",
" <th>holiday</th>\n",
" <th>workingday</th>\n",
" <th>weather</th>\n",
" <th>temp</th>\n",
" <th>atemp</th>\n",
" <th>humidity</th>\n",
" <th>windspeed</th>\n",
" <th>casual</th>\n",
" <th>registered</th>\n",
" <th>count</th>\n",
" <th>hour</th>\n",
" <th>week</th>\n",
" <th>year</th>\n",
" <th>month</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 81</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 13</td>\n",
" <td> 16</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.02</td>\n",
" <td> 13.635</td>\n",
" <td> 80</td>\n",
" <td> 0</td>\n",
" <td> 8</td>\n",
" <td> 32</td>\n",
" <td> 40</td>\n",
" <td> 1</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.02</td>\n",
" <td> 13.635</td>\n",
" <td> 80</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 27</td>\n",
" <td> 32</td>\n",
" <td> 2</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 75</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 10</td>\n",
" <td> 13</td>\n",
" <td> 3</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 75</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 17,
"text": [
" season holiday workingday weather temp atemp humidity windspeed \\\n",
"0 1 0 0 1 9.84 14.395 81 0 \n",
"1 1 0 0 1 9.02 13.635 80 0 \n",
"2 1 0 0 1 9.02 13.635 80 0 \n",
"3 1 0 0 1 9.84 14.395 75 0 \n",
"4 1 0 0 1 9.84 14.395 75 0 \n",
"\n",
" casual registered count hour week year month \n",
"0 3 13 16 0 5 2011 1 \n",
"1 8 32 40 1 5 2011 1 \n",
"2 5 27 32 2 5 2011 1 \n",
"3 3 10 13 3 5 2011 1 \n",
"4 0 1 1 4 5 2011 1 "
]
}
],
"prompt_number": 17
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_test['hour'] = df_test['datetime'].str[11:13]\n",
"df_test.hour = df_test.hour.astype(int)\n",
"df_test = func(df_test)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 18
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_test.shape"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 19,
"text": [
"(6493, 11)"
]
}
],
"prompt_number": 19
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_test['year'] = df_test['datetime'].str[:4]\n",
"df_test['month'] = df_test['datetime'].str[5:7]\n",
"df_test['year'] = df_test.year.astype(int)\n",
"df_test['month'] = df_test.month.astype(int)\n",
"df_test.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>datetime</th>\n",
" <th>season</th>\n",
" <th>holiday</th>\n",
" <th>workingday</th>\n",
" <th>weather</th>\n",
" <th>temp</th>\n",
" <th>atemp</th>\n",
" <th>humidity</th>\n",
" <th>windspeed</th>\n",
" <th>hour</th>\n",
" <th>week</th>\n",
" <th>year</th>\n",
" <th>month</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 2011-01-20 00:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 11.365</td>\n",
" <td> 56</td>\n",
" <td> 26.0027</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 2011-01-20 01:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 13.635</td>\n",
" <td> 56</td>\n",
" <td> 0.0000</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 2011-01-20 02:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 13.635</td>\n",
" <td> 56</td>\n",
" <td> 0.0000</td>\n",
" <td> 2</td>\n",
" <td> 3</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 2011-01-20 03:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 12.880</td>\n",
" <td> 56</td>\n",
" <td> 11.0014</td>\n",
" <td> 3</td>\n",
" <td> 3</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 2011-01-20 04:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 12.880</td>\n",
" <td> 56</td>\n",
" <td> 11.0014</td>\n",
" <td> 4</td>\n",
" <td> 3</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 20,
"text": [
" datetime season holiday workingday weather temp atemp \\\n",
"0 2011-01-20 00:00:00 1 0 1 1 10.66 11.365 \n",
"1 2011-01-20 01:00:00 1 0 1 1 10.66 13.635 \n",
"2 2011-01-20 02:00:00 1 0 1 1 10.66 13.635 \n",
"3 2011-01-20 03:00:00 1 0 1 1 10.66 12.880 \n",
"4 2011-01-20 04:00:00 1 0 1 1 10.66 12.880 \n",
"\n",
" humidity windspeed hour week year month \n",
"0 56 26.0027 0 3 2011 1 \n",
"1 56 0.0000 1 3 2011 1 \n",
"2 56 0.0000 2 3 2011 1 \n",
"3 56 11.0014 3 3 2011 1 \n",
"4 56 11.0014 4 3 2011 1 "
]
}
],
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_clean_test = df_test.drop('datetime', axis=1)\n",
"df_clean_test.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>season</th>\n",
" <th>holiday</th>\n",
" <th>workingday</th>\n",
" <th>weather</th>\n",
" <th>temp</th>\n",
" <th>atemp</th>\n",
" <th>humidity</th>\n",
" <th>windspeed</th>\n",
" <th>hour</th>\n",
" <th>week</th>\n",
" <th>year</th>\n",
" <th>month</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 11.365</td>\n",
" <td> 56</td>\n",
" <td> 26.0027</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 13.635</td>\n",
" <td> 56</td>\n",
" <td> 0.0000</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 13.635</td>\n",
" <td> 56</td>\n",
" <td> 0.0000</td>\n",
" <td> 2</td>\n",
" <td> 3</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 12.880</td>\n",
" <td> 56</td>\n",
" <td> 11.0014</td>\n",
" <td> 3</td>\n",
" <td> 3</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 12.880</td>\n",
" <td> 56</td>\n",
" <td> 11.0014</td>\n",
" <td> 4</td>\n",
" <td> 3</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 21,
"text": [
" season holiday workingday weather temp atemp humidity windspeed \\\n",
"0 1 0 1 1 10.66 11.365 56 26.0027 \n",
"1 1 0 1 1 10.66 13.635 56 0.0000 \n",
"2 1 0 1 1 10.66 13.635 56 0.0000 \n",
"3 1 0 1 1 10.66 12.880 56 11.0014 \n",
"4 1 0 1 1 10.66 12.880 56 11.0014 \n",
"\n",
" hour week year month \n",
"0 0 3 2011 1 \n",
"1 1 3 2011 1 \n",
"2 2 3 2011 1 \n",
"3 3 3 2011 1 \n",
"4 4 3 2011 1 "
]
}
],
"prompt_number": 21
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## log casual\u548cregister\uff0c\u7136\u540e\u76f8\u52a0"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### \u4e0b\u9762\u4e24\u4e2a\u56fe\u53ef\u4ee5\u770b\u5230\uff0ccasual\u548cregister\u7684\u6570\u636e\u5206\u5e03\u5b58\u5728\u660e\u663e\u7684\u504f\u659c\uff0c\u901a\u8fc7log\u53d8\u5316\u540e\uff0c\u660e\u663e\u53d8\u597d"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_origin['casual'].hist()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 22,
"text": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f04e10f2c90>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\np1+TOXQAAAAASUVORK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x7f04e1d5e290>"
]
}
],
"prompt_number": 22
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_origin['registered'].hist()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 23,
"text": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f04e16c91d0>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nAaI30RX+pgAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x7f04e10f2e10>"
]
}
],
"prompt_number": 23
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_clean['log_cas'] = log(df_origin['casual'] + 1)\n",
"df_clean['log_reg'] = log(df_origin['registered'] + 1)\n",
"df_clean.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>season</th>\n",
" <th>holiday</th>\n",
" <th>workingday</th>\n",
" <th>weather</th>\n",
" <th>temp</th>\n",
" <th>atemp</th>\n",
" <th>humidity</th>\n",
" <th>windspeed</th>\n",
" <th>casual</th>\n",
" <th>registered</th>\n",
" <th>count</th>\n",
" <th>hour</th>\n",
" <th>week</th>\n",
" <th>year</th>\n",
" <th>month</th>\n",
" <th>log_cas</th>\n",
" <th>log_reg</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 81</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 13</td>\n",
" <td> 16</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" <td> 1.386294</td>\n",
" <td> 2.639057</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.02</td>\n",
" <td> 13.635</td>\n",
" <td> 80</td>\n",
" <td> 0</td>\n",
" <td> 8</td>\n",
" <td> 32</td>\n",
" <td> 40</td>\n",
" <td> 1</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" <td> 2.197225</td>\n",
" <td> 3.496508</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.02</td>\n",
" <td> 13.635</td>\n",
" <td> 80</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 27</td>\n",
" <td> 32</td>\n",
" <td> 2</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" <td> 1.791759</td>\n",
" <td> 3.332205</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 75</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 10</td>\n",
" <td> 13</td>\n",
" <td> 3</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" <td> 1.386294</td>\n",
" <td> 2.397895</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 75</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" <td> 0.000000</td>\n",
" <td> 0.693147</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 24,
"text": [
" season holiday workingday weather temp atemp humidity windspeed \\\n",
"0 1 0 0 1 9.84 14.395 81 0 \n",
"1 1 0 0 1 9.02 13.635 80 0 \n",
"2 1 0 0 1 9.02 13.635 80 0 \n",
"3 1 0 0 1 9.84 14.395 75 0 \n",
"4 1 0 0 1 9.84 14.395 75 0 \n",
"\n",
" casual registered count hour week year month log_cas log_reg \n",
"0 3 13 16 0 5 2011 1 1.386294 2.639057 \n",
"1 8 32 40 1 5 2011 1 2.197225 3.496508 \n",
"2 5 27 32 2 5 2011 1 1.791759 3.332205 \n",
"3 3 10 13 3 5 2011 1 1.386294 2.397895 \n",
"4 0 1 1 4 5 2011 1 0.000000 0.693147 "
]
}
],
"prompt_number": 24
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_clean['log_cas'].hist()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 25,
"text": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f04e1d5ec90>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x7f04e14cfe90>"
]
}
],
"prompt_number": 25
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_clean['log_reg'].hist()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 26,
"text": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f04e14a0f50>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x7f04e1452710>"
]
}
],
"prompt_number": 26
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### \u5176\u4ed6\u7279\u5f81\u5982temp\u7531\u4e8e\u672c\u6765\u5c31\u4e0d\u5b58\u5728\u504f\u659c\uff0c\u6545log\u53d8\u6362\u4e0d\u8d77\u4f5c\u7528"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_clean['temp'].hist()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 27,
"text": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f04e1207a10>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nvsQAAAAASUVORK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x7f04e1223dd0>"
]
}
],
"prompt_number": 27
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## \u968f\u673a\u68ee\u6797\u7279\u5f81\u9009\u62e9"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_clean.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>season</th>\n",
" <th>holiday</th>\n",
" <th>workingday</th>\n",
" <th>weather</th>\n",
" <th>temp</th>\n",
" <th>atemp</th>\n",
" <th>humidity</th>\n",
" <th>windspeed</th>\n",
" <th>casual</th>\n",
" <th>registered</th>\n",
" <th>count</th>\n",
" <th>hour</th>\n",
" <th>week</th>\n",
" <th>year</th>\n",
" <th>month</th>\n",
" <th>log_cas</th>\n",
" <th>log_reg</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 81</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 13</td>\n",
" <td> 16</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" <td> 1.386294</td>\n",
" <td> 2.639057</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.02</td>\n",
" <td> 13.635</td>\n",
" <td> 80</td>\n",
" <td> 0</td>\n",
" <td> 8</td>\n",
" <td> 32</td>\n",
" <td> 40</td>\n",
" <td> 1</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" <td> 2.197225</td>\n",
" <td> 3.496508</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.02</td>\n",
" <td> 13.635</td>\n",
" <td> 80</td>\n",
" <td> 0</td>\n",
" <td> 5</td>\n",
" <td> 27</td>\n",
" <td> 32</td>\n",
" <td> 2</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" <td> 1.791759</td>\n",
" <td> 3.332205</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 75</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 10</td>\n",
" <td> 13</td>\n",
" <td> 3</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" <td> 1.386294</td>\n",
" <td> 2.397895</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 9.84</td>\n",
" <td> 14.395</td>\n",
" <td> 75</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 4</td>\n",
" <td> 5</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" <td> 0.000000</td>\n",
" <td> 0.693147</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 28,
"text": [
" season holiday workingday weather temp atemp humidity windspeed \\\n",
"0 1 0 0 1 9.84 14.395 81 0 \n",
"1 1 0 0 1 9.02 13.635 80 0 \n",
"2 1 0 0 1 9.02 13.635 80 0 \n",
"3 1 0 0 1 9.84 14.395 75 0 \n",
"4 1 0 0 1 9.84 14.395 75 0 \n",
"\n",
" casual registered count hour week year month log_cas log_reg \n",
"0 3 13 16 0 5 2011 1 1.386294 2.639057 \n",
"1 8 32 40 1 5 2011 1 2.197225 3.496508 \n",
"2 5 27 32 2 5 2011 1 1.791759 3.332205 \n",
"3 3 10 13 3 5 2011 1 1.386294 2.397895 \n",
"4 0 1 1 4 5 2011 1 0.000000 0.693147 "
]
}
],
"prompt_number": 28
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fea_cols=['season', 'holiday', 'workingday', 'weather', 'temp',\n",
" 'atemp', 'humidity', 'windspeed',\n",
" 'hour', 'week', 'year']\n"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 44
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### \u8bb8\u591a\u7279\u5f81\u4e4b\u95f4\u6709\u592a\u591a\u76f8\u5173\u6027\n",
"1. season\u548cmonth\uff0c\u4e8c\u9009\u4e00\n",
"2. temp\u548catemp\uff0c\u4e8c\u9009\u4e00\n",
"3. humidity\u548cweather\uff0cwindspeed\uff0c\u770brf\u7684\u7279\u5f81\u91cd\u8981\u5ea6\n",
"4. week\u548cworkingday"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_clean[fea_cols].corr()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>season</th>\n",
" <th>holiday</th>\n",
" <th>workingday</th>\n",
" <th>weather</th>\n",
" <th>temp</th>\n",
" <th>atemp</th>\n",
" <th>humidity</th>\n",
" <th>windspeed</th>\n",
" <th>hour</th>\n",
" <th>week</th>\n",
" <th>year</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>season</th>\n",
" <td> 1.000000</td>\n",
" <td> 0.029368</td>\n",
" <td>-0.008126</td>\n",
" <td> 0.008879</td>\n",
" <td> 0.258689</td>\n",
" <td> 0.264744</td>\n",
" <td> 0.190610</td>\n",
" <td>-0.147121</td>\n",
" <td>-0.006546</td>\n",
" <td>-0.010553</td>\n",
" <td>-0.004797</td>\n",
" </tr>\n",
" <tr>\n",
" <th>holiday</th>\n",
" <td> 0.029368</td>\n",
" <td> 1.000000</td>\n",
" <td>-0.250491</td>\n",
" <td>-0.007074</td>\n",
" <td> 0.000295</td>\n",
" <td>-0.005215</td>\n",
" <td> 0.001929</td>\n",
" <td> 0.008409</td>\n",
" <td>-0.000354</td>\n",
" <td>-0.191832</td>\n",
" <td> 0.012021</td>\n",
" </tr>\n",
" <tr>\n",
" <th>workingday</th>\n",
" <td>-0.008126</td>\n",
" <td>-0.250491</td>\n",
" <td> 1.000000</td>\n",
" <td> 0.033772</td>\n",
" <td> 0.029966</td>\n",
" <td> 0.024660</td>\n",
" <td>-0.010880</td>\n",
" <td> 0.013373</td>\n",
" <td> 0.002780</td>\n",
" <td>-0.704267</td>\n",
" <td>-0.002482</td>\n",
" </tr>\n",
" <tr>\n",
" <th>weather</th>\n",
" <td> 0.008879</td>\n",
" <td>-0.007074</td>\n",
" <td> 0.033772</td>\n",
" <td> 1.000000</td>\n",
" <td>-0.055035</td>\n",
" <td>-0.055376</td>\n",
" <td> 0.406244</td>\n",
" <td> 0.007261</td>\n",
" <td>-0.022740</td>\n",
" <td>-0.047692</td>\n",
" <td>-0.012548</td>\n",
" </tr>\n",
" <tr>\n",
" <th>temp</th>\n",
" <td> 0.258689</td>\n",
" <td> 0.000295</td>\n",
" <td> 0.029966</td>\n",
" <td>-0.055035</td>\n",
" <td> 1.000000</td>\n",
" <td> 0.984948</td>\n",
" <td>-0.064949</td>\n",
" <td>-0.017852</td>\n",
" <td> 0.145430</td>\n",
" <td>-0.038466</td>\n",
" <td> 0.061226</td>\n",
" </tr>\n",
" <tr>\n",
" <th>atemp</th>\n",
" <td> 0.264744</td>\n",
" <td>-0.005215</td>\n",
" <td> 0.024660</td>\n",
" <td>-0.055376</td>\n",
" <td> 0.984948</td>\n",
" <td> 1.000000</td>\n",
" <td>-0.043536</td>\n",
" <td>-0.057473</td>\n",
" <td> 0.140343</td>\n",
" <td>-0.040235</td>\n",
" <td> 0.058540</td>\n",
" </tr>\n",
" <tr>\n",
" <th>humidity</th>\n",
" <td> 0.190610</td>\n",
" <td> 0.001929</td>\n",
" <td>-0.010880</td>\n",
" <td> 0.406244</td>\n",
" <td>-0.064949</td>\n",
" <td>-0.043536</td>\n",
" <td> 1.000000</td>\n",
" <td>-0.318607</td>\n",
" <td>-0.278011</td>\n",
" <td>-0.026507</td>\n",
" <td>-0.078606</td>\n",
" </tr>\n",
" <tr>\n",
" <th>windspeed</th>\n",
" <td>-0.147121</td>\n",
" <td> 0.008409</td>\n",
" <td> 0.013373</td>\n",
" <td> 0.007261</td>\n",
" <td>-0.017852</td>\n",
" <td>-0.057473</td>\n",
" <td>-0.318607</td>\n",
" <td> 1.000000</td>\n",
" <td> 0.146631</td>\n",
" <td>-0.024804</td>\n",
" <td>-0.015221</td>\n",
" </tr>\n",
" <tr>\n",
" <th>hour</th>\n",
" <td>-0.006546</td>\n",
" <td>-0.000354</td>\n",
" <td> 0.002780</td>\n",
" <td>-0.022740</td>\n",
" <td> 0.145430</td>\n",
" <td> 0.140343</td>\n",
" <td>-0.278011</td>\n",
" <td> 0.146631</td>\n",
" <td> 1.000000</td>\n",
" <td>-0.002925</td>\n",
" <td>-0.004234</td>\n",
" </tr>\n",
" <tr>\n",
" <th>week</th>\n",
" <td>-0.010553</td>\n",
" <td>-0.191832</td>\n",
" <td>-0.704267</td>\n",
" <td>-0.047692</td>\n",
" <td>-0.038466</td>\n",
" <td>-0.040235</td>\n",
" <td>-0.026507</td>\n",
" <td>-0.024804</td>\n",
" <td>-0.002925</td>\n",
" <td> 1.000000</td>\n",
" <td>-0.003785</td>\n",
" </tr>\n",
" <tr>\n",
" <th>year</th>\n",
" <td>-0.004797</td>\n",
" <td> 0.012021</td>\n",
" <td>-0.002482</td>\n",
" <td>-0.012548</td>\n",
" <td> 0.061226</td>\n",
" <td> 0.058540</td>\n",
" <td>-0.078606</td>\n",
" <td>-0.015221</td>\n",
" <td>-0.004234</td>\n",
" <td>-0.003785</td>\n",
" <td> 1.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 45,
"text": [
" season holiday workingday weather temp atemp \\\n",
"season 1.000000 0.029368 -0.008126 0.008879 0.258689 0.264744 \n",
"holiday 0.029368 1.000000 -0.250491 -0.007074 0.000295 -0.005215 \n",
"workingday -0.008126 -0.250491 1.000000 0.033772 0.029966 0.024660 \n",
"weather 0.008879 -0.007074 0.033772 1.000000 -0.055035 -0.055376 \n",
"temp 0.258689 0.000295 0.029966 -0.055035 1.000000 0.984948 \n",
"atemp 0.264744 -0.005215 0.024660 -0.055376 0.984948 1.000000 \n",
"humidity 0.190610 0.001929 -0.010880 0.406244 -0.064949 -0.043536 \n",
"windspeed -0.147121 0.008409 0.013373 0.007261 -0.017852 -0.057473 \n",
"hour -0.006546 -0.000354 0.002780 -0.022740 0.145430 0.140343 \n",
"week -0.010553 -0.191832 -0.704267 -0.047692 -0.038466 -0.040235 \n",
"year -0.004797 0.012021 -0.002482 -0.012548 0.061226 0.058540 \n",
"\n",
" humidity windspeed hour week year \n",
"season 0.190610 -0.147121 -0.006546 -0.010553 -0.004797 \n",
"holiday 0.001929 0.008409 -0.000354 -0.191832 0.012021 \n",
"workingday -0.010880 0.013373 0.002780 -0.704267 -0.002482 \n",
"weather 0.406244 0.007261 -0.022740 -0.047692 -0.012548 \n",
"temp -0.064949 -0.017852 0.145430 -0.038466 0.061226 \n",
"atemp -0.043536 -0.057473 0.140343 -0.040235 0.058540 \n",
"humidity 1.000000 -0.318607 -0.278011 -0.026507 -0.078606 \n",
"windspeed -0.318607 1.000000 0.146631 -0.024804 -0.015221 \n",
"hour -0.278011 0.146631 1.000000 -0.002925 -0.004234 \n",
"week -0.026507 -0.024804 -0.002925 1.000000 -0.003785 \n",
"year -0.078606 -0.015221 -0.004234 -0.003785 1.000000 "
]
}
],
"prompt_number": 45
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## \u5254\u9664\u7279\u5f81\u91cd\u8981\u5ea6< 0.01\u7684\u7279\u5f81"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"clf_cal = RandomForestRegressor(n_estimators=1000, min_samples_split=11, oob_score=True)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 56
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"\n",
"clf_cal.fit(df_clean[fea_cols].values, df_clean['log_cas'].values)\n",
"pd.DataFrame(clf_cal.feature_importances_).plot(kind='bar')\n",
"clf_cal.oob_score_"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 46,
"text": [
"0.89344344503536677"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAk8AAAHgCAYAAAC8ZYnIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X+QZGd13vHneNcECwkWQwkHsfEkIGKpAC8/LBTA9hiI\nvTiCBewqtLGC1g5ERRCGSqoiiF0xFFUBOUDkFMYIi1CEX8LGEhYxQpRtXeIYDJLZFWCtVFqTiSUR\nI0BBQkIOWnTyx+3Rjkaz03Nnzp3z9unvp2qq5nb3dp9n356ZM/c9023uLgAAAGzMD2QXAAAAMEto\nngAAAAageQIAABiA5gkAAGAAmicAAIABaJ4AAAAGmNo8mdleM7vBzG4yswuOc5tFMztoZl8xsy68\nSgAAgEbYeq/zZGY7JN0o6fmSbpV0jaT97n54xW12SfpzST/n7reY2aPd/Zvjlg0AAJBj2pmnMyQd\ncfcld79X0qWS9q26zT+X9Afufosk0TgBAIDKpjVPp0i6ecXxLZPLVjpV0g+b2dVmdq2Z/YvIAgEA\nAFqyc8r1G3nvlh+U9DRJz5N0gqTPmdlfuPtNWy0OAACgNdOap1sl7V5xvFv92aeVbpb0TXe/R9I9\nZvY/JP24pAc0T2bGm+gBAICZ4e621uXTtu2ulXSqmS2Y2UMkvUzSFatu84eSnmNmO8zsBEnPlHT9\ncYoY9ePcc88d/TG264Ms7X1UyUGWdj+qZKmSgyztfmxHlvWse+bJ3Y+a2fmSrpK0Q9J73f2wmZ03\nuf5id7/BzD4l6UuS7pP0u+6+ZvMEAAAw66Zt28ndr5R05arLLl51/DZJb4stbbiFhYXsEsKQpT1V\nckhkaVWVLFVySGRpVXaWUq8wvri4mF1CGLK0p0oOiSytqpKlSg6JLK3KzlKqeQIAABjb1G07AACA\ntZit+cdoM2fagPhq6749SyQz8+16LAAAMD4zG9x4tOZ4GSaXb+qlCgAAALBCqeap67rsEsKQpT1V\nckhkaVWVLFVySGTB2ko1TwAAAGNj5gkAAGwKM08AAABbZGajf2zE7bffrpe85CU68cQTtbCwoI98\n5CNhGUs1T5X2c8nSnio5JLK0qkqWKjkksmyej/ixMa9+9av10Ic+VLfddps+9KEP6VWvepWuvz7m\n3eNKNU8AAAB33323LrvsMr35zW/WCSecoGc/+9nat2+fPvCBD4TcPzNPAABgU9aaF+q31cb8eT99\nzurgwYN6znOeo7vvvvv+y97xjneo6zpdccUVD7w3Zp4AAMC8u+uuu/Twhz/8AZeddNJJ+s53vhNy\n/6WaJ/am21QlS5UcEllaVSVLlRwSWWbViSeeqDvvvPMBl91xxx066aSTQu6/VPMEAADwxCc+UUeP\nHtWRI0fuv+y6667Tk570pJD7Z+YJAABsSqszT5K0f/9+mZkuueQSffGLX9RZZ52lz33uczrttNMe\neG/MPAEAgHw24sfGvOtd79I999yjk08+Weecc47e/e53P6hx2qxSzVOl/VyytKdKDoksraqSpUoO\niSyb4e6jf2zEIx/5SF1++eW66667tLS0pLPPPjssY6nmCQAAYGzMPAEA5sJG39Yjwrz8vJvX97bb\nOXpVAAA0Yzt+0G9fk4Ycpbbt2JtuU5UsVXJIZGlVlSxVcvS67ALC1FqXXKWaJwAAgLEx8wQAmAvj\nv/7Q/Y8083NAG8XMEwAAwEDbOYjfilLbdpX2c8nSnio5JLK0qkqWKjl6XXYBYcZYl+14Tae1Pq6+\n+uptf92olUo1TwAAAGNj5gkAMBeYecIQvLcdAABAkFLNU6V9drK0p0oOiSytqpKlSo5el11AmErr\nkp2lVPMEAAAwNmaeAABzgZknDMHMEwAAQJBSzVP2HmgksrSnSg6JLK2qkqVKjl6XXUCYSuuSnaVU\n8wQAADA2Zp4AAHOBmScMwcwTAABAkFLNU/YeaCSytKdKDoksraqSpUqOXpddQJhK65KdpVTzBAAA\nMDZmngAAc4GZJwzBzBMAAECQUs1T9h5oJLK0p0oOiSytqpKlSo5el11AmErrkp2lVPMEAAAwNmae\nAABzgZknDMHMEwAAQJBSzVP2HmgksrSnSg6JLK2qkqVKjl6XXUCYSuuSnaVU8wQAADA2Zp4AAHOB\nmScMwcwTAABAkFLNU/YeaCSytKdKDoksraqSpUqOXpddQJhK65KdpVTzBAAAMDZmngAAc4GZJwzB\nzBMAAECQUs1T9h5oJLK0p0oOiSytqpKlSo5el11AmErrkp2lVPMEAAAwNmaeAABzgZknDMHMEwAA\nQJBSzVP2HmgksrSnSg6JLK2qkqVKjl6XXUCYSuuSnaVU8wQAADA2Zp4AAHOBmScMwcwTAABAkFLN\nU/YeaCSytKdKDoksraqSpUqOXpddQJhK65KdpVTzBAAAMDZmngAAc4GZJwzBzBMAAECQUs1T9h5o\nJLK0p0oOiSytqpKlSo5el11AmErrkp1lavNkZnvN7AYzu8nMLljj+kUzu8PMDk4+fn2cUgEAAPKt\nO/NkZjsk3Sjp+ZJulXSNpP3ufnjFbRYl/Rt3f9G6D8TMEwAgETNPGGIrM09nSDri7kvufq+kSyXt\nW+sxtlgjAADATJjWPJ0i6eYVx7dMLlvJJT3LzK4zs0+a2emRBQ6RvQcaiSztqZJDIkurqmSpkqPX\nZRcQptK6ZGfZOeX6jZx3/KKk3e7+XTN7gaSPS3riWjc8cOCAFhYWJEm7du3Snj17tLi4KOnYf8RW\njg8dOhR6f5nHhw4daqoejnl+cTz+8bJW6qn2/Dpm+XhxpOP+MbPzVn1+dSN9P17+fGlpSdNMm3k6\nU9Ib3X3v5PgNku5z9wvX+Tf/S9LT3f32VZcz8wQASMPME4bYyszTtZJONbMFM3uIpJdJumLVnT/G\n+mekzOwM9Q3Z7Q++KwAAgNm3bvPk7kclnS/pKknXS/qoux82s/PM7LzJzX5R0pfN7JCkiySdPWbB\n63nwqdnZRZb2VMkhkaVVVbJUydHrsgsIU2ldsrNMm3mSu18p6cpVl1284vPflvTb8aUBAAC0h/e2\nAwDMBWaeMATvbQcAABCkVPOUvQcaiSztqZJDIkurqmSpkqPXZRcQptK6ZGcp1TwBAACMjZknAMBc\nYOYJQzDzBAAAEKRU85S9BxqJLO2pkkMiS6uqZKmSo9dlFxCm0rpkZynVPAEAAIyNmScAwFxg5glD\nMPMEAAAQpFTzlL0HGoks7amSQyJLq6pkqZKj12UXEKbSumRnKdU8AQAAjI2ZJwDAXGDmCUMw8wQA\nABCkVPOUvQcaiSztqZJDIkurqmSpkqPXZRcQptK6ZGcp1TwBAACMjZknAMBcYOYJQzDzBAAAEKRU\n85S9BxqJLO2pkkMiS6uqZKmSo9dlFxCm0rpkZynVPAEAAIyNmScAwFxg5glDMPMEAAAQpFTzlL0H\nGoks7amSQyJLq6pkqZKj12UXEKbSumRnKdU8AQAAjI2ZJwDAXGDmCUMw8wQAABCkVPOUvQcaiSzt\nqZJDIkurqmSpkqPXZRcQptK6ZGcp1TwBAACMjZknAMBcYOYJQzDzBAAAEKRU85S9BxqJLO2pkkMi\nS6uqZKmSo9dlFxCm0rpkZynVPAEAAIyNmScAwFxg5glDMPMEAAAQpFTzlL0HGoks7amSQyJLq6pk\nqZKj12UXEKbSumRnKdU8AQAAjI2ZJwDAXGDmCUMw8wQAABCkVPOUvQcaiSztqZJDIkurqmSpkqPX\nZRcQptK6ZGcp1TwBAACMjZknAMBcYOYJQzDzBAAAEKRU85S9BxqJLO2pkkMiS6uqZKmSo9dlFxCm\n0rpkZynVPAEAAIyNmScAwFxg5glDMPMEAAAQpFTzlL0HGoks7amSQyJLq6pkqZKj12UXEKbSumRn\nKdU8AQAAjI2ZJwDAXGDmCUMw8wQAABCkVPOUvQcaiSztqZJDIkurqmSpkqPXZRcQptK6ZGcp1TwB\nAACMjZknAMBcYOYJQzDzBAAAEKRU85S9BxqJLO2pkkMiS6uqZKmSo9dlFxCm0rpkZynVPAEAAIyN\nmScAwFxg5glDMPMEAAAQpFTzlL0HGoks7amSQyJLq6pkqZKj12UXEKbSumRnKdU8AQAAjI2ZJwDA\nXGDmCUMw8wQAABCkVPOUvQcaiSztqZJDIkurqmSpkqPXZRcQptK6ZGcp1TwBAACMjZknAMBcYOYJ\nQ2xp5snM9prZDWZ2k5ldsM7tfsLMjprZS7dSLAAAQMvWbZ7MbIekd0raK+l0SfvN7LTj3O5CSZ+S\ntGaXth2y90AjkaU9VXJIZGlVlSxVcvS67ALCVFqX7CzTzjydIemIuy+5+72SLpW0b43bvUbSxyR9\nI7g+AACApqw782Rmvyjp59z9lZPjcyQ9091fs+I2p0j6oKTnSvqvkj7h7petcV/MPAEA0jDzhCHW\nm3naOeXfbmT1L5L0end365+Zx922O3DggBYWFiRJu3bt0p49e7S4uCjp2Ck4jjnmmGOOOR7j+Jjl\n48WRjvvHzM7L8bDj5c+XlpY0zbQzT2dKeqO7750cv0HSfe5+4YrbfFXHGqZHS/qupFe6+xWr7mv0\nM08rn6yzjiztqZJDIkurqmRpNcfmzjx1WtkUbfCRmjzz1Oq6bMZ2ZNnKmadrJZ1qZguSvibpZZL2\nr7yBu/+jFQ/0PvXbdg9onAAAAKqY+jpPZvYC9VtzOyS9193fYmbnSZK7X7zqtsvNEzNPAICmMPOE\nIdY788SLZAIA5gLNE4aYmzcGfvBQ4OwiS3uq5JDI0qoqWark6HXZBYSptC7ZWUo1TwAAAGNj2w4A\nMBfYtsMQc7NtBwAAMLZSzVP2HmgksrSnSg6JLK2qkqVKjl6XXUCYSuuSnaVU8wQAADA2Zp4AAHOB\nmScMwcwTAABAkFLNU/YeaCSytKdKDoksraqSpUqOXpddQJhK65KdpVTzBAAAMDZmngAAc4GZJwzB\nzBMAAECQUs1T9h5oJLK0p0oOiSytqpKlSo5el11AmErrkp2lVPMEAAAwNmaeAABzgZknDMHMEwAA\nQJBSzVP2HmgksrSnSg6JLK2qkqVKjl6XXUCYSuuSnaVU8wQAADA2Zp4AAHOBmScMwcwTAABAkFLN\nU/YeaCSytKdKDoksraqSpUqOXpddQJhK65KdpVTzBAAAMDZmngAAc4GZJwzBzBMAAECQUs1T9h5o\nJLK0p0oOiSytqpKlSo5el11AmErrkp2lVPMEAAAwNmaeAABzgZknDMHMEwAAQJBSzVP2HmgksrSn\nSg6JLK2qkqVKjl6XXUCYSuuSnaVU8wQAADA2Zp4AAHOBmScMwcwTAABAkFLNU/YeaCSytKdKDoks\nraqSpUqOXpddQJhK65KdpVTzBAAAMDZmngAAc4GZJwzBzBMAAECQUs1T9h5oJLK0p0oOiSytqpKl\nSo5el11AmErrkp2lVPMEAAAwNmaeAABzgZknDMHMEwAAQJBSzVP2HmgksrSnSg6JLK2qkqVKjl6X\nXUCYSuuSnaVU8wQAADA2Zp4AAHOBmScMwcwTAABAkFLNU/YeaCSytKdKDoksraqSpUqOXpddQJhK\n65KdpVTzBAAAMDZmngAAc4GZJwzBzBMAAECQUs1T9h5oJLK0p0oOiSytqpKlSo5el11AmErrkp2l\nVPMEAAAwNmaeAABzgZknDMHMEwAAQJBSzVP2HmgksrSnSg6JLK2qkqVKjl6XXUCYSuuSnaVU8wQA\nADA2Zp4AAHOBmScMwcwTAABAkFLNU/YeaCSytKdKDoksraqSpUqOXpddQJhK65KdpVTzBAAAMDZm\nngAAc4GZJwzBzBMAAECQUs1T9h5oJLK0p0oOiSytqpKlSo5el11AmErrkp2lVPMEAAAwNmaeAABz\ngZknDMHMEwAAQJBSzVP2HmgksrSnSg6JLK2qkqVKjl6XXUCYSuuSnWVq82Rme83sBjO7ycwuWOP6\nfWZ2nZkdNLO/NLPnjlMqAABAvnVnnsxsh6QbJT1f0q2SrpG0390Pr7jNw9z97snnT5Z0ubs/YY37\nYuYJAJCGmScMsZWZpzMkHXH3JXe/V9KlkvatvMFy4zRxoqRvbqVYAACAlk1rnk6RdPOK41smlz2A\nmb3YzA5LulLSr8aVN0z2HmgksrSnSg6JLK2qkqVKjl6XXUCYSuuSnWVa87Sh847u/nF3P03SCyV9\nYMtVAQAANGrnlOtvlbR7xfFu9Wef1uTuf2ZmO83sUe7+rdXXHzhwQAsLC5KkXbt2ac+ePVpcXJR0\nrIvc6vGyqPvLOl6+rJV6tnK8uLjYVD1bOV7WSj08v2o9v6ocL1/WSj2rv36PnU1a3MDx4sDb6/7H\nzM5b/XhZ5P11XaelpSVNM21gfKf6gfHnSfqapC/owQPjj5f0VXd3M3uapN9398evcV8MjAMA0jAw\njiE2PTDu7kclnS/pKknXS/qoux82s/PM7LzJzX5B0pfN7KCk35J0dlzpwzz4t4vZRZb2VMkhkaVV\nVbJUydHrsgsIU2ldsrNM27aTu1+pfhB85WUXr/j8NyX9ZnxpAAAA7eG97QAAc4FtOwzBe9sBAAAE\nKdU8Ze+BRiJLe6rkkMjSqipZquToddkFhKm0LtlZSjVPAAAAY2PmCQAwF5h5whDMPAEAAAQp1Txl\n74FGIkt7quSQyNKqKlmq5Oh12QWEqbQu2VlKNU8AAABjY+YJADAXmHnCEMw8AQAABCnVPGXvgUYi\nS3uq5JDI0qoqWark6HXZBYSptC7ZWUo1TwAAAGNj5gkAMBeYecIQzDwBAAAEKdU8Ze+BRiJLe6rk\nkMjSqipZquToddkFhKm0LtlZSjVPAAAAY2PmCQAwF5h5whDMPAEAAAQp1Txl74FGIkt7quSQyNKq\nKlmq5Oh12QWEqbQu2VlKNU8AAABjY+YJADAXmHnCEMw8AQAABCnVPGXvgUYiS3uq5JDI0qoqWark\n6HXZBYSptC7ZWUo1TwAAAGNj5gkAMBeYecIQzDwBAAAEKdU8Ze+BRiJLe6rkkMjSqipZquToddkF\nhKm0LtlZSjVPAAAAY2PmCQAwF5h5whDMPAEAAAQp1Txl74FGIkt7quSQyNKqKlmq5Oh12QWEqbQu\n2VlKNU8AAABjY+YJADAXmHnCEMw8AQAABCnVPGXvgUYiS3uq5JDI0qoqWark6HXZBYSptC7ZWUo1\nTwAAAGNj5gkAMBeYecIQzDwBAAAEKdU8Ze+BRiJLe6rkkMjSqipZquToddkFhKm0LtlZSjVPAAAA\nY2PmCQAwF5h5whDMPAEAAAQp1Txl74FGIkt7quSQyNKqKlmq5Oh12QWEqbQu2VlKNU8AAABjY+YJ\nADAXmHnCEMw8AQAABCnVPGXvgUYiS3uq5JDI0qoqWark6HXZBYSptC7ZWUo1TwAAAGNj5gkAMBeY\necIQzDwBAAAEKdU8Ze+BRiJLe6rkkMjSqipZquToddkFhKm0LtlZSjVPAAAAY2PmCQAwF5h5whDM\nPAEAAAQp1Txl74FGIkt7quSQyNKqKlmq5Oh12QWEqbQu2VlKNU8AAABjY+YJADAXmHnCEMw8AQAA\nBCnVPGXvgUYiS3uq5JDI0qoqWark6HXZBYSptC7ZWUo1TwAAAGNj5gkAMBeYecIQzDwBAAAEKdU8\nZe+BRiJLe6rkkMjSqipZquToddkFhKm0LtlZSjVPAAAAY2PmCQAwF5h5whDrzTzt3O5iAMTrfyiM\njx8IALDBbTsz22tmN5jZTWZ2wRrX/5KZXWdmXzKzPzezp8SXOl32HmgksrSn/Rw+4OPqgbdvt2lq\nf102rkqWKjl6XXYBYSqtS3aWqc2Tme2Q9E5JeyWdLmm/mZ226mZflfRT7v4USW+W9J7oQgEAAFow\ndebJzP6JpN9w972T49dLkru/9Ti3f6SkL7v741ZdzswTMJLtmeVgjgOzjZknDLHV13k6RdLNK45v\nmVx2PP9S0ic3Xh4AAMDs2MjA+IbbZzP7GUm/IunZa11/4MABLSwsSJJ27dqlPXv2aHFxUdKx/cut\nHB86dEive93rwu4v8/iiiy4K///JOl65N91CPZs9bvn51eskLa74XOscXyRpz4DbLx9rlPp5fj0w\nQyv1bPa41e9fxywfL27geOW/3cjtdf9jZuet+vzqRvp+vPz50tKSptnItt2Zkt64YtvuDZLuc/cL\nV93uKZIuk7TX3Y+scT+jb9utfLLOOrK0p+Ucw7cjOq38Rr/BR2lyK6LldRmqSpZWc2xu264TXyvt\n2Y4s623bbaR52inpRknPk/Q1SV+QtN/dD6+4zT+Q9KeSznH3vzjO/TDzBIyEmSdgOmaeMMSWXufJ\n3Y+a2fmSrpK0Q9J73f2wmZ03uf5iSf9B0iMl/c7k9WbudfczogIAAAC04gc2ciN3v9Ld/7G7P8Hd\n3zK57OJJ4yR3f4W7P8rdnzr5SGmcHryvPbvI0p4qOXpddgFhKq1LlSxVcvS67ALCVFqX7Cwbap4A\nAADQ473tgAKYeQKmY+YJQ2z1dZ4AAAAwUap5yt4DjUSW9lTJ0euyCwhTaV2qZKmSo9dlFxCm0rpk\nZynVPAEAAIyNmSegAGaegOmYecIQzDwBAAAEKdU8Ze+BRiJLe6rk6HXZBYSptC5VslTJ0euyCwhT\naV2ys5RqngAAAMbGzBNQADNPwHTMPGEIZp4AAACClGqesvdAI5GlPVVy9LrsAsJUWpcqWark6HXZ\nBYSptC7ZWUo1TwAAAGNj5gkogJknYDpmnjAEM08AAABBSjVP2XugkcjSnio5el12AWEqrUuVLFVy\n9LrsAsJUWpfsLKWaJwAAgLEx8wQUwMwTMB0zTxiCmScAAIAgpZqn7D3QSGRpT5UcvS67gDCV1qVK\nlio5el12AWEqrUt2llLNEwAAwNiYeQIKYOYJmI6ZJwzBzBMAAECQUs1T9h5oJLK0p0qOXpddQJhK\n61IlS5UcvS67gDCV1iU7S6nmCQAAYGzMPAEFMPMETMfME4Zg5gkAACBIqeYpew80ElnaUyVHr8su\nIEyldamSpUqOXpddQJhK65KdpVTzBAAAMDZmnoACmHkCpmPmCUMw8wQAABCkVPOUvQcaiSztqZKj\n12UXEKbSulTJUiVHr8suIEyldcnOUqp5AgAAGBszT0ABzDwB0zHzhCGYeQIAAAhSqnnK3gONRJb2\nVMnR67ILCFNpXapkqZKj12UXEKbSumRnKdU8AQAAjI2ZJ6AAZp6A6Zh5whDMPAEAAAQp1Txl74FG\nIkt7quToddkFhKm0LlWyVMnR67ILCFNpXbKzlGqeAAAAxsbME1AAM0/AdMw8YQhmngAAAIKUap6y\n90AjkaU9VXL0uuwCwlRalypZquToddkFhKm0LtlZSjVPAAAAY2PmCSiAmSdgOmaeMAQzTwAAAEFK\nNU/Ze6CRyNKeKjl6XXYBYSqtS5UsVXL0uuwCwlRal+wspZonAACAsTHzBBTAzBMwHTNPGIKZJwAA\ngCClmqfsPdBIZGlPlRy9LruAMJXWpUqWKjl6XXYBYSqtS3aWUs0TAADA2Jh5Agpg5gmYjpknDMHM\nEwAAQJBSzVP2HmgksrSnSo5el11AmErrUiVLlRy9LruAMJXWJTtLqeYJAABgbMw8AQUw8wRMx8wT\nhmDmCQAAIEip5il7DzQSWdpTJUevyy4gTKV1qZKlSo5el11AmErrkp2lVPMEAAAwNmaegAKYeQKm\nY+YJQzDzBAAAEKRU85S9BxqJLO2pkqPXZRcQptK6VMlSJUevyy4gTKV1yc5SqnkCAAAY24Zmnsxs\nr6SLJO2QdIm7X7jq+h+T9D5JT5X0a+7+9jXug5knYCTMPAHTMfOEIdabedq5gX+8Q9I7JT1f0q2S\nrjGzK9z98IqbfUvSayS9OKBeAACAZm1k2+4MSUfcfcnd75V0qaR9K2/g7t9w92sl3TtCjRuWvQca\niSztqZKj12UXEKbSulTJUiVHr8suIEyldcnOspHm6RRJN684vmVyGQAAwNyZOvNkZr8gaa+7v3Jy\nfI6kZ7r7a9a47W9IuouZJ2B7MfMETMfME4bY0syT+jmn3SuOd6s/+zTYgQMHtLCwIEnatWuX9uzZ\no8XFRUnHTsFxzDHHw497naTFFZ9rhGONUj/HHG/H8THLx4sjHfePmZ2X42HHy58vLS1pmo2cedop\n6UZJz5P0NUlfkLR/1cD48m3fKOk7WWeeVj5ZZx1Z2tNyjuG/UXda+Y1+g4/S5G/TLa/LUFWytJpj\nc2eeOvG10p7tyLKlM0/uftTMzpd0lfqXKnivux82s/Mm119sZj8i6RpJD5d0n5m9VtLp7n5XWAoA\nAIAG8N52QAHMPAHTMfOEIXhvOwAAgCClmqcHDwXOLrK0p0qOXpddQJhK61IlS5UcvS67gDCV1iU7\nS6nmCQAAYGzMPAEFMPMETMfME4Zg5gkAACBIqeYpew80ElnaUyVHr8suIEyldamSpUqOXpddQJhK\n65KdpVTzBAAAMDZmnoACmHkCpmPmCUMw8wQAABCkVPOUvQcaiSztqZKj12UXEKbSulTJUiVHr8su\nIEyldcnOUqp5AgAAGBszT0ABzDwB0zHzhCGYeQIAAAhSqnnK3gONRJb2VMnR67ILCFNpXapkqZKj\n12UXEKbSumRnKdU8AQAAjI2ZJ6AAZp6A6Zh5whDMPAEAAAQp1Txl74FGIkt7quToddkFhKm0LlWy\nVMnR67ILCFNpXbKzlGqeAAAAxsbME1AAM0/AdMw8YQhmngAAAIKUap6y90AjkaU9VXL0uuwCwlRa\nlypZquToddkFhKm0LtlZSjVPAAAAY2PmCSiAmSdgOmaeMAQzTwAAAEFKNU/Ze6CRyNKeKjl6XXYB\nYSqtS5UsVXL0uuwCwlRal+wspZonAACAsTHzBBTAzBMwHTNPGIKZJwAAgCClmqfsPdBIZGlPlRy9\nLruAMJXWpUqWKjl6XXYBYSqtS3aWUs0TAADA2Jh5Agpg5gmYjpknDLHezNPO7S4GAI6n/+G2Pfjh\nBmCzSm3bZe+BRiJLe6rk6HXZBazDB35cvYl/06Yqz7EqOXpddgFhKq1LdpZSzRMAAMDYmHkCCqgy\n88RMCsYu9+DdAAAJe0lEQVTE8wtD8DpPAAAAQUo1T9l7oJFazWJm2/LRolbXZHO67AICddkFhKny\nHKuSo9dlFxCm0rpkZynVPGG7jD3QCwBAu5h5wiBVZmuqqbIulWZStusMKl8rG1fp+YXx8TpPAJBi\n/IYWwPYrtW2XvQcaqVKWKjMDrEmruuwCAnXZBYTga6VNldYlO0up5gkAAGBszDxhkCqzNdVUWZdK\nMylV1qSSSs8vjI/XeQIAAAhSqnnK3gONVClLlZkB1qRVXXYBgbrsAkLwtdKmSuuSnaVU8wQAADA2\nZp4wCHMcbaqyLpVmUqqsSSWVnl8YHzNPAAAAQUo1T9l7oJEqZakyM8CatKrLLiBQl11ACL5Wxrdd\n7zPKe42urVTzBADA/Bj7fUbZejweZp4wCHMcbaqyLpVmUqqsSSU8vzb1SHP7HGPmCQAAIEip5il7\nDzRSpSytzgwMxZq0qssuIFCXXUAIvlZa1WUXECb7OVaqeQIAABgbM08YhDmONlVZl0pzHFXWpBKe\nX5t6pLl9jq0387Rzu4sBAMyW7fpz9Xn9IY3ZU2rbLnsPNFKlLFX22VmTVnXZBQTqsgtYx7z+SXyX\nXUCgLruAMNnfjznzhLnFb9MAgM1g5gmDVJrjIMvgR2GOY8gjFFkTqU4Wnl+beqS5/QVwZmeeODMA\nAABaMwMzT/O5z569nxuryy4gSJddQKAuu4BAXXYBgbrsAoJ02QUE6rILCNRlF7CmWXyPvhlongAA\nQG1jv09frKZnnqrss1dSaU3IMvhRmOMY8ghF1kSqk4Xn16YeqUiW4Tl4bzsAAIAgxZqnLruAMMw8\ntajLLiBQl11AoC67gEBddgFBuuwCAnXZBQTqsgsI1KU++tTmycz2mtkNZnaTmV1wnNv8l8n115nZ\nU+PL3KhDeQ8d7NChOlnqrEuVHBJZWlUlS5UcEllalZtl3ebJzHZIeqekvZJOl7TfzE5bdZufl/QE\ndz9V0r+S9Dsj1boB38576GDf/nadLHXWpUoOiSytqpKlSg6JLK3KzTLtzNMZko64+5K73yvpUkn7\nVt3mRZLeL0nu/nlJu8zsMeGVAgAANGDai2SeIunmFce3SHrmBm7zOElf33J1gy1t/0NuwGZfX+JN\nb3rT4H/T5l8OLmUXEGQpu4BAS9kFBFrKLiDQUnYBQZayCwi0lF1AoKXsAgItpT76tOZpoz+JV3cH\na/67zTURQ//N+4c/wja9kvl22J4sm3mMYeuyfWtS6flVJcv4zy+pThaeX4MfZRP/hizjm62vlWnN\n062Sdq843q3+zNJ6t3nc5LIHON5rJQAAAMySaTNP10o61cwWzOwhkl4m6YpVt7lC0sslyczOlPRt\nd0/YsgMAABjfumee3P2omZ0v6SpJOyS9190Pm9l5k+svdvdPmtnPm9kRSXdL+uXRqwYAAEiybW/P\ngvkweSmLx0r6vLvfteLyve7+qbzKhjGz50i63d2vN7NFSc+QdNDd/yS3Miwzs59U/xfBX3b3T2fX\nM4/M7FclXe7uN0+9MVDIzDZPkx/S+9T/tZ/Uz2Jd4e6H86qKZWa/7O7vy65joybfSF8t6bCkp0p6\nrbt/fHLdQXdPfAHVjTOzt0j6GfVnW6+W9FOS/kjSP5X0CXf/T4nlbZmZ/Td3f3l2HUOZ2Rfc/YzJ\n569U/1y7XNLPSvrv7v6WzPqGmIw4HHb3O8zsBEmvl/Q0SX8l6T+6+x2pBW6Qmd0h6buS/lrShyX9\nvrt/I7eqzTGzvyfpbEm3uvsfm9kvSXqWpOslvWfycj0zw8weL+ml6ueQ75N0o6QPu/udqYUVMZPN\n0+SVzverf92p5QH23epnsj46S99E12NmN7v77um3bIOZfUXSme5+l5ktSPqYpA+6+0Uz1jxdL+kp\nkh6i/iU3Hjf5IfdD6s+oPSW1wAHM7BPq//p15R9sPFfSn0pyd39RSmGbsPI5ZGbXSnqBu3/DzB6m\nfl2elFvhxi0/xyajEb+rfuThY5KeP7n8pakFbpCZHZT0dPV1ny3phZL+UtJHJF3m7t9JLG8QM/uw\n+l+YTlD/CownSrpMfTa5+7l51Q1jZq+VdJakz0j6Z5IOqs/0Ekn/2t2vTixvEDPbpf6XixdLeoz6\n72e3Sfq4pLe6e8qrZU77a7tWvULS6at/EzCzt6v/LWFmmicz+/I6V5+8bYXEsOWtOndfmmx3/YGZ\n/ag293eoWb7n7kclHTWzv14+C+Du95jZfcm1DfU49V8Tl6j/7dPUb0G+LbOoTdphZj+sPsOO5TMc\n7n63mR3NLW0wmzzHJOnp7v60yef/08yuyypqM9z9PkmflvTpyR8WvUD9L7dvl/TozNoGerK7P9nM\ndkr6mqTHTprbD0r6UnJtQ71S0o+7+/fN7B2SrnT3nzazd6v/I689ueUN8nuS/kTSoqSvu7ub2d+X\ndO7kup/NKGpW3xj4+zq2XbfSYyfXzZKT1f+14gvX+PhWYl2bcZuZ3f9FOWmkzpL0KPVncmbF/5ts\npUj9Voqk+38DmrXm6RnqzwT8mqQ73b2T9Hfu/hl3/0xqZcM9XH2WayU9YvINVGZ2UmpVm/NXZvYr\nk8+vM7OfkCQze6Kk7+WVtTXu/j13/0N3P1vSj2bXM9APTLbuTpL0Q5IeMbn8oZq9n5Uu6Qcnnz9U\n0sMkyd3/ZsXls2LB3S9097/1yVaZu/8fd3+rpIWsomb1zNPrJP3x5C/8lgcVd0s6VdL5aVVtzh9J\nOtHdD66+wsxm7YfbyyU94Gygu99rZudKek9OSZvy0+7+d9L9v1Uv26n+t52Z4e7fl/QOM/s9Sf/Z\nzG7TjH7du/vCca76vvrtiFnyCkm/ZWa/Lukbkj5rZreo/372itTKhjn7eFe4+93bWUiAD6qf17xX\n0r+V9Gdm9llJZ2ozryyZ6xJJ15jZ5yX9pKQLJcnMTtbs/VL+v83s30l6//LLIJnZj6j/Xvw3WUXN\n5MyTdP+bFp+h/gyUq39hzmtXnAoHsIqZnSXpWe7+77NrgWRmj5D0D9U3tLe4+98mlzTXJrOad7r7\n7ZOB62dIusHdZ2orVZLM7EmSfkzSV9z9hux6NmuyVf969e+ju/y+uV9Xv/34Vne/PaWuWW2eAADA\n/Mr8i3SaJwAAMHMy/yJ9JmcfAABAfVP+Iv0x61w3KponAADQqpMl7ZX0f9e47rPbXMv9aJ4AAECr\nmvyLdGaeAAAABpi1F/4CAABIRfMEAAAwAM0TAADAADRPAAAAA9A8AQAADPD/Af49385Qm/dOAAAA\nAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x7f04e0fb7d10>"
]
}
],
"prompt_number": 46
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print clf_cal.feature_importances_"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[ 0.01330289 0.00076692 0.04385451 0.01615629 0.20644448 0.05063536\n",
" 0.04191187 0.01809409 0.5683129 0.02823818 0.01228251]\n"
]
}
],
"prompt_number": 47
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fea_cas = ['season', 'workingday', 'weather', 'temp',\n",
" 'humidity', 'windspeed','hour', 'week', 'year']"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 48
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"clf_cal.fit(df_clean[fea_cas].values, df_clean['log_cas'].values)\n",
"pd.DataFrame(clf_cal.feature_importances_).plot(kind='bar')\n",
"clf_cal.oob_score_"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 57,
"text": [
"0.89297838303244015"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nAADW4P8DyCrntc5VIVQAAAAASUVORK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x7f04e0f72a50>"
]
}
],
"prompt_number": 57
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"clf_reg = RandomForestRegressor(n_estimators=1000, min_samples_split=11, oob_score=True)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 54
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"\n",
"clf_reg.fit(df_clean[fea_cols].values, df_clean['log_reg'].values)\n",
"pd.DataFrame(clf_reg.feature_importances_).plot(kind='bar')\n",
"clf_reg.oob_score_"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 50,
"text": [
"0.95359572173626694"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\now7n19k8Adkx88QcRyesSZ2yrAtzHJ2fhT8rHfD6WtMzJclSduaJK08YLH5DDQCwFsw8VYqZgY3i\nHb5u6Xh+zU1TE11AQU10AQU10QUUwd9ftWqiCyioCX32ic2TmW0zszvM7C4zu+phzvnv4/tvN7Mf\nLV/mah2Ie+rCDhzIkyXPumTJIZGlVnVm6TrE/rznPS/N8Huta7I2ZCllxebJzDZJ+n1J2yQ9WdIO\nM7toyTk/K+mH3f1CSf9G0lt6qnUVvhH31IV94xt5suRZlyw5JLLUquYsXa64/kbH82u+SlvzmnRF\nllImXXnaKumwu8+7+3FJuyVtX3LOiyS9U5Lc/ZOSZszs/OKVAgAAVGDSwPgFko4sOj4q6VmrOOfx\nkr6y7uo6m9/4p1yFtV6Oft3rXtf5v6lzOHk+uoBC5qMLKGg+uoCC5qMLKGg+uoBC5qMLKGg+uoCC\n5qMLKGg+9NknNU+r/Zd4aXew7H+3tiai63/zzu7PUO1ee3cbk2Utz9FtXTZuTTK9vrJk6f/1JeXJ\nwuur87Os4b8hS/+m68/KpObpmKQti463qL2ytNI5jx/f9hAP914JAAAA02TSzNM+SRea2ayZnSHp\nMkl7lpyzR9IrJMnMLpb0DXcP2LIDAADo34pXntz9hJldKelmSZskvd3dD5nZrvH917n7R8zsZ83s\nsKQHJL2y96oBAACCbNjHs2AYxm9l8ThJn3T3+xfdvs3dPxpXWTdm9lxJ97j7QTMbSXqmpP3u/qex\nlWGBmf242t8I/qy7fyy6niEys1+UdJO7H5l4MpDI1DZP43+kt6v9bT+pncXa4+6H4qoqy8xe6e7v\niK5jtcZ/kb5G0iFJPyrpl9z9g+P79rt74Buorp6Z/bak56m92nqLpJ+Q9MeS/qmkD7v7fw0sb93M\n7H+6+yui6+jKzD7l7lvH3/+C2tfaTZJ+WtL/cvffjqyvi/GIwyF3v9fMzpT0WklPl/TXkn7L3e8N\nLXCVzOxeSd+S9HlJ75X0R+7+1diq1sbMvl/S5ZKOufufmNnLJD1b0kFJfzB+u56pYWZPlPRStXPI\nD0q6U9J73f2+0MKSmMrmafxO5zvUvu/UwgD7FrUzWTdM01+iKzGzI+6+ZfKZdTCzz0m62N3vN7NZ\nSe+X9G53f9OUNU8HJT1N0hlq33Lj8eN/5B6l9ora00IL7MDMPqz2t18X/8LGT0n6M0nu7i8KKWwN\nFr+GzGyfpBe4+1fN7NFq1+UpsRWu3sJrbDwa8Ta1Iw/vl3TJ+PaXhha4Sma2X9Iz1NZ9uaQXSvor\nSe+TdKO7fzOwvE7M7L1qf2A6U+07MJ4l6Ua12eTuV8RV142Z/ZKkSyV9XNI/k7RfbaaXSPq37n5L\nYHmdmNmM2h8uXizpfLV/n90t6YOSXu/uIe+WOa0fDPwqSU9e+pOAmb1B7U8JU9M8mdlnV7j7vA0r\npAxb2Kpz9/nxdtcHzOwJWtvvoUb5rrufkHTCzD6/cBXA3b9tZg8G19bV49X+mbhe7U+fpnYL8r9F\nFrVGm8zsB9Rm2LRwhcPdHzCzE7GldWbj15gkPcPdnz7+/i/M7PaootbC3R+U9DFJHxv/YtEL1P5w\n+wZJ50bW1tFT3f2pZrZZ0pckPW7c3L5b0meCa+vqFyT9Y3f/npm9UdJed/9JM3ur2l/ymostr5M/\nlPSnkkaSvuLubmZ/X9IV4/t+OqKoaf1g4O/p1HbdYo8b3zdNzlP724ovXObr64F1rcXdZnbyD+W4\nkbpU0g+qvZIzLf7feCtFardSJJ38CWjamqdnqr0S8B8l3efujaTvuPvH3f3joZV1d47aLPskPWb8\nF6jM7OzQqtbmr83s58ff325mPyZJZvYkSd+NK2t93P277v4hd79c0hOi6+no+8Zbd2dLepSkx4xv\nf6Sm799Kl/SI8fePlPRoSXL3Ly66fVrMuvu17v5lH2+VufvfuvvrJc1GFTWtV55+WdKfjH/Db2FQ\ncYukCyVdGVbV2vyxpLPcff/SO8xs2v5xe4Wkh1wNdPfjZnaFpD+IKWlNftLdvyOd/Kl6wWa1P+1M\nDXf/nqQ3mtkfSvpdM7tbU/rn3t1nH+au76ndjpgmr5L0e2b265K+KukTZnZU7d9nrwqtrJvLH+4O\nd39gIwsp4N1q5zWPS/oVSX9uZp+QdLHW8s6Ssa6XdJuZfVLSj0u6VpLM7DxN3w/l/9fMflXSOxfe\nBsnMfkjt38VfjCpqKmeepJMfWrxV7RUoV/vGnPsWXQoHsISZXSrp2e7+a9G1QDKzx0j6h2ob2qPu\n/uXgkgZtPKt5n7vfMx64fqakO9x9qrZSJcnMniLpRyR9zt3viK5nrcZb9a9V+zm6C5+b+xW124+v\nd/d7Quqa1uYJAAAMV+RvpNM8AQCAqRP5G+lTOfsAAADym/Ab6eevcF+vaJ4AAECtzpO0TdLfLXPf\nJza4lpNongAAQK2q/I10Zp4AAAA6mLY3/gIAAAhF8wQAANABzRMAAEAHNE8AAAAd0DwBAAB08P8B\nFLzc8cPZ0XEAAAAASUVORK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x7f04e0ce1650>"
]
}
],
"prompt_number": 50
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print clf_reg.feature_importances_"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[ 0.03950298 0.00121528 0.05732649 0.0100157 0.02107919 0.01384416\n",
" 0.01612237 0.00780388 0.75752831 0.03690614 0.0386555 ]\n"
]
}
],
"prompt_number": 51
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fea_regs=['season', 'workingday', 'weather', 'temp', 'humidity', 'hour', 'week', 'year']"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 52
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"clf_reg.fit(df_clean[fea_regs].values, df_clean['log_reg'].values)\n",
"pd.DataFrame(clf_reg.feature_importances_).plot(kind='bar')\n",
"clf_reg.oob_score_"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 55,
"text": [
"0.95262817165263025"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n8jOredrqsMbGydzMhzxWUxeQqdXUBWRoNXUBmVpNXUCmVlMXkKnV1AVkaDV1AZlaTV3Almz6UgVm\n9jxJb3b3fdP1b0j6kbv/9rpr/oukxt1vmK6PSfr77v6XGx4r84YKAADgtL4vVXC7pAvMbEHSfZJe\nI+nAhmtulHRI0g3TZutbGxunzQoAAAAoyabNk7ufMrNDkm6WtEfS9e5+1MwOTu8/7O4fNbNfNLN7\nJX1P0ut2vGoAAIBERnuFcSB305fh+ElJn3X37667fZ+7fyxdZWmZ2d+T9IC732VmS5KeI+kOd/8/\naStD7szsRZr8r+3Pu/vHU9eDfJjZr0r6sLsfn3lxhnZ98zT9gbhfp/+X4AlJN7r70XRV5cvMXufu\n705dx9im/5DfKOmopGdK+jV3/8j0vjvcvYAXfx2emV0t6ec1eeb5Fkk/J+l/SfoHkm5y9/+YsLys\nmNl/d/fXpq4jJTO71d0vmX7+zzX5N/VhSf9Q0h+6+9Up60thOs5y1N0fNLOzJF0p6VmSvijpt9z9\nwaQFJmJmD0r6K0lflvQ+Sb/n7l9LW9XW7ermafqK6Ac0eX2qE9Ob5zWZ3fpAjf+QZzGz4+4+n7qO\nsZnZFyQ9z92/O53x+31J/8Pd315583SXpGdIerSkv5R03vSHwN/U5Bm6ZyQtMBEzu0mT/1W8fpbz\nFyR9UpK7+yuSFJbY+n8rZna7pJe4+9fM7LGa7Jenp61wfGv/hqZjMNdpMt7y+5Ium97+qqQFJmJm\nd0h6tiY5XC7p5ZL+VNL7JX3I3b+TsLyZdvt72/2ypIumL/D5MDN7m6S7JFXZPJnZ5ze5+8dHKyQv\ntnZU5+6r0+OpD5rZT6v9Uhw1+aG7n5J0ysy+vPZbsrt/38x+lLi2lM7T5HvIuyT9SJM98hxJb01Z\nVAb2mNmTNMljz9ozCe7+PTM7lba0ZGz6b0iSnu3uz5p+/mkzuzNVUTlw9x9J+rikj5vZoyW9RJMn\nPN4m6ZyUtc0y873tCvfXar+opzSZa/nrkWvJyY9Leq0mnf7Gj28krCul+81scW0xbaReJunJmjzz\nUqv/Nz1qkCZHDZIkM5vTpGmo1XM0+S3530r6trs3kn7g7n/k7n+UtLK0Hq9JLrdLeoKZ/YQkmdnZ\nSatK64tm9vrp53ea2XMlycyeKumH6crKi7v/0N3/wN0vl/TTqeuZZbcf2+3T5L357tXpV0Gfl3SB\npEPufiRVbSmZ2X+T9G53/1Rw3/vdfePLUex6ZjYv6SF3/4sNt5ukF7r7p9NUlpaZPcbdfxDcfo6k\nn3D3zZ7F3PXM7DxJvyPpfkmvqPHIeyumDfhT3P3PU9cytukvGr8r6UWSvqbJLyEnNPmZ9CvuXuWz\nT2Z2obvfnbqOvnZ18yQ9/ObGl2jyDJRLOinp9nVPowLAtpjZyyS9wN1/M3UtyJOZPUHS39ZkXObE\nxl/UUJZd3zwBAAAMabfPPAEAAAyK5gkAAOAM0DwBAACcAZonAACAM0DzBAAAcAb+P4r8JneAWyej\nAAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x7f04e0f4fe50>"
]
}
],
"prompt_number": 55
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"y_pred7 = exp(clf_cal.predict(df_clean_test[fea_cas])) + exp(clf_reg.predict(df_clean_test[fea_regs])) - 2\n",
"y_pred7[:40]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 58,
"text": [
"array([ 12.6578609 , 5.11132596, 2.14958816, 1.92269641,\n",
" 1.81692124, 5.57134727, 37.76960661, 105.51192167,\n",
" 230.32781203, 132.20060507, 62.05271725, 64.3684902 ,\n",
" 78.37407 , 75.49564067, 71.52856154, 82.01572385,\n",
" 92.11493153, 195.16373374, 184.1821498 , 108.26276277,\n",
" 79.14253341, 51.47307386, 41.69604466, 29.04587166,\n",
" 13.1373564 , 7.19038866, 2.18226466, 1.37555083,\n",
" 1.17584422, 5.91155125, 30.8322952 , 98.04260523,\n",
" 206.6726649 , 132.49579712, 48.25784851, 59.97465746,\n",
" 71.71815482, 63.04166008, 58.55824695, 58.87427819])"
]
}
],
"prompt_number": 58
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## \u5bf9\u7ed3\u679c\u56db\u820d\u4e94\u5165"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"y_pred7 = [round(x) for x in y_pred7]\n",
"df_test['count'] = y_pred7\n",
"df_test['count'] = df_test['count'].astype(int)\n",
"df_test.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>datetime</th>\n",
" <th>season</th>\n",
" <th>holiday</th>\n",
" <th>workingday</th>\n",
" <th>weather</th>\n",
" <th>temp</th>\n",
" <th>atemp</th>\n",
" <th>humidity</th>\n",
" <th>windspeed</th>\n",
" <th>hour</th>\n",
" <th>week</th>\n",
" <th>year</th>\n",
" <th>month</th>\n",
" <th>count</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 2011-01-20 00:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 11.365</td>\n",
" <td> 56</td>\n",
" <td> 26.0027</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" <td> 13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 2011-01-20 01:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 13.635</td>\n",
" <td> 56</td>\n",
" <td> 0.0000</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" <td> 5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 2011-01-20 02:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 13.635</td>\n",
" <td> 56</td>\n",
" <td> 0.0000</td>\n",
" <td> 2</td>\n",
" <td> 3</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 2011-01-20 03:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 12.880</td>\n",
" <td> 56</td>\n",
" <td> 11.0014</td>\n",
" <td> 3</td>\n",
" <td> 3</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 2011-01-20 04:00:00</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> 10.66</td>\n",
" <td> 12.880</td>\n",
" <td> 56</td>\n",
" <td> 11.0014</td>\n",
" <td> 4</td>\n",
" <td> 3</td>\n",
" <td> 2011</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 59,
"text": [
" datetime season holiday workingday weather temp atemp \\\n",
"0 2011-01-20 00:00:00 1 0 1 1 10.66 11.365 \n",
"1 2011-01-20 01:00:00 1 0 1 1 10.66 13.635 \n",
"2 2011-01-20 02:00:00 1 0 1 1 10.66 13.635 \n",
"3 2011-01-20 03:00:00 1 0 1 1 10.66 12.880 \n",
"4 2011-01-20 04:00:00 1 0 1 1 10.66 12.880 \n",
"\n",
" humidity windspeed hour week year month count \n",
"0 56 26.0027 0 3 2011 1 13 \n",
"1 56 0.0000 1 3 2011 1 5 \n",
"2 56 0.0000 2 3 2011 1 2 \n",
"3 56 11.0014 3 3 2011 1 2 \n",
"4 56 11.0014 4 3 2011 1 2 "
]
}
],
"prompt_number": 59
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_test.shape"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 60,
"text": [
"(6493, 14)"
]
}
],
"prompt_number": 60
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df_test.to_csv('result15', seq=',', columns=['datetime', 'count'], header=['datetime', 'count'], index = False)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 61
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##\u8bd5\u8bd5\u9884\u6d4blog(count + 1) \u4f7f\u7528\u524d 0.46\uff0c \u4f7f\u7528\u540e 0.43"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## \u589e\u52a0rate\u7684\u7279\u5f81\uff0c\u6ca1\u6709\u5b9e\u9645\u4f5c\u7528"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### categorical\u7279\u5f81\u8f6cdummies\u5931\u8d25"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## GDRT\n",
"\u6548\u679c\u4e00\u822c\uff0c\u8fdb\u4e00\u6b65\u5c1d\u8bd5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### \u8bd5\u8bd5\u79bb\u6563\u5316\u540e\u7528rf"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## LR\u8bad\u7ec3"
]
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment