{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "import pandas as pd\n", "import numpy as np\n", "from matplotlib import pyplot as plt\n", "from sklearn.linear_model import LinearRegression\n", "from sklearn.feature_selection import f_regression\n", "from sklearn.metrics import mean_squared_error, mean_absolute_error\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "data = pd.read_csv('day.csv')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "data" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
instantdtedayseasonyrmnthholidayweekdayworkingdayweathersittempatemphumwindspeedcasualregisteredcnt
0 1 2011-01-01 1 0 1 0 6 0 2 0.344167 0.363625 0.805833 0.160446 331 654 985
1 2 2011-01-02 1 0 1 0 0 0 2 0.363478 0.353739 0.696087 0.248539 131 670 801
2 3 2011-01-03 1 0 1 0 1 1 1 0.196364 0.189405 0.437273 0.248309 120 1229 1349
3 4 2011-01-04 1 0 1 0 2 1 1 0.200000 0.212122 0.590435 0.160296 108 1454 1562
4 5 2011-01-05 1 0 1 0 3 1 1 0.226957 0.229270 0.436957 0.186900 82 1518 1600
5 6 2011-01-06 1 0 1 0 4 1 1 0.204348 0.233209 0.518261 0.089565 88 1518 1606
6 7 2011-01-07 1 0 1 0 5 1 2 0.196522 0.208839 0.498696 0.168726 148 1362 1510
7 8 2011-01-08 1 0 1 0 6 0 2 0.165000 0.162254 0.535833 0.266804 68 891 959
8 9 2011-01-09 1 0 1 0 0 0 1 0.138333 0.116175 0.434167 0.361950 54 768 822
9 10 2011-01-10 1 0 1 0 1 1 1 0.150833 0.150888 0.482917 0.223267 41 1280 1321
10 11 2011-01-11 1 0 1 0 2 1 2 0.169091 0.191464 0.686364 0.122132 43 1220 1263
11 12 2011-01-12 1 0 1 0 3 1 1 0.172727 0.160473 0.599545 0.304627 25 1137 1162
12 13 2011-01-13 1 0 1 0 4 1 1 0.165000 0.150883 0.470417 0.301000 38 1368 1406
13 14 2011-01-14 1 0 1 0 5 1 1 0.160870 0.188413 0.537826 0.126548 54 1367 1421
14 15 2011-01-15 1 0 1 0 6 0 2 0.233333 0.248112 0.498750 0.157963 222 1026 1248
15 16 2011-01-16 1 0 1 0 0 0 1 0.231667 0.234217 0.483750 0.188433 251 953 1204
16 17 2011-01-17 1 0 1 1 1 0 2 0.175833 0.176771 0.537500 0.194017 117 883 1000
17 18 2011-01-18 1 0 1 0 2 1 2 0.216667 0.232333 0.861667 0.146775 9 674 683
18 19 2011-01-19 1 0 1 0 3 1 2 0.292174 0.298422 0.741739 0.208317 78 1572 1650
19 20 2011-01-20 1 0 1 0 4 1 2 0.261667 0.255050 0.538333 0.195904 83 1844 1927
20 21 2011-01-21 1 0 1 0 5 1 1 0.177500 0.157833 0.457083 0.353242 75 1468 1543
21 22 2011-01-22 1 0 1 0 6 0 1 0.059130 0.079070 0.400000 0.171970 93 888 981
22 23 2011-01-23 1 0 1 0 0 0 1 0.096522 0.098839 0.436522 0.246600 150 836 986
23 24 2011-01-24 1 0 1 0 1 1 1 0.097391 0.117930 0.491739 0.158330 86 1330 1416
24 25 2011-01-25 1 0 1 0 2 1 2 0.223478 0.234526 0.616957 0.129796 186 1799 1985
25 26 2011-01-26 1 0 1 0 3 1 3 0.217500 0.203600 0.862500 0.293850 34 472 506
26 27 2011-01-27 1 0 1 0 4 1 1 0.195000 0.219700 0.687500 0.113837 15 416 431
27 28 2011-01-28 1 0 1 0 5 1 2 0.203478 0.223317 0.793043 0.123300 38 1129 1167
28 29 2011-01-29 1 0 1 0 6 0 1 0.196522 0.212126 0.651739 0.145365 123 975 1098
29 30 2011-01-30 1 0 1 0 0 0 1 0.216522 0.250322 0.722174 0.073983 140 956 1096
30 31 2011-01-31 1 0 1 0 1 1 2 0.180833 0.186250 0.603750 0.187192 42 1459 1501
31 32 2011-02-01 1 0 2 0 2 1 2 0.192174 0.234530 0.829565 0.053213 47 1313 1360
32 33 2011-02-02 1 0 2 0 3 1 2 0.260000 0.254417 0.775417 0.264308 72 1454 1526
33 34 2011-02-03 1 0 2 0 4 1 1 0.186957 0.177878 0.437826 0.277752 61 1489 1550
34 35 2011-02-04 1 0 2 0 5 1 2 0.211304 0.228587 0.585217 0.127839 88 1620 1708
35 36 2011-02-05 1 0 2 0 6 0 2 0.233333 0.243058 0.929167 0.161079 100 905 1005
36 37 2011-02-06 1 0 2 0 0 0 1 0.285833 0.291671 0.568333 0.141800 354 1269 1623
37 38 2011-02-07 1 0 2 0 1 1 1 0.271667 0.303658 0.738333 0.045408 120 1592 1712
38 39 2011-02-08 1 0 2 0 2 1 1 0.220833 0.198246 0.537917 0.361950 64 1466 1530
39 40 2011-02-09 1 0 2 0 3 1 2 0.134783 0.144283 0.494783 0.188839 53 1552 1605
40 41 2011-02-10 1 0 2 0 4 1 1 0.144348 0.149548 0.437391 0.221935 47 1491 1538
41 42 2011-02-11 1 0 2 0 5 1 1 0.189091 0.213509 0.506364 0.108550 149 1597 1746
42 43 2011-02-12 1 0 2 0 6 0 1 0.222500 0.232954 0.544167 0.203367 288 1184 1472
43 44 2011-02-13 1 0 2 0 0 0 1 0.316522 0.324113 0.457391 0.260883 397 1192 1589
44 45 2011-02-14 1 0 2 0 1 1 1 0.415000 0.398350 0.375833 0.417908 208 1705 1913
45 46 2011-02-15 1 0 2 0 2 1 1 0.266087 0.254274 0.314348 0.291374 140 1675 1815
46 47 2011-02-16 1 0 2 0 3 1 1 0.318261 0.316200 0.423478 0.251791 218 1897 2115
47 48 2011-02-17 1 0 2 0 4 1 1 0.435833 0.428658 0.505000 0.230104 259 2216 2475
48 49 2011-02-18 1 0 2 0 5 1 1 0.521667 0.511983 0.516667 0.264925 579 2348 2927
49 50 2011-02-19 1 0 2 0 6 0 1 0.399167 0.391404 0.187917 0.507463 532 1103 1635
50 51 2011-02-20 1 0 2 0 0 0 1 0.285217 0.277330 0.407826 0.223235 639 1173 1812
51 52 2011-02-21 1 0 2 1 1 0 2 0.303333 0.284075 0.605000 0.307846 195 912 1107
52 53 2011-02-22 1 0 2 0 2 1 1 0.182222 0.186033 0.577778 0.195683 74 1376 1450
53 54 2011-02-23 1 0 2 0 3 1 1 0.221739 0.245717 0.423043 0.094113 139 1778 1917
54 55 2011-02-24 1 0 2 0 4 1 2 0.295652 0.289191 0.697391 0.250496 100 1707 1807
55 56 2011-02-25 1 0 2 0 5 1 2 0.364348 0.350461 0.712174 0.346539 120 1341 1461
56 57 2011-02-26 1 0 2 0 6 0 1 0.282500 0.282192 0.537917 0.186571 424 1545 1969
57 58 2011-02-27 1 0 2 0 0 0 1 0.343478 0.351109 0.680000 0.125248 694 1708 2402
58 59 2011-02-28 1 0 2 0 1 1 2 0.407273 0.400118 0.876364 0.289686 81 1365 1446
59 60 2011-03-01 1 0 3 0 2 1 1 0.266667 0.263879 0.535000 0.216425 137 1714 1851
................................................
\n", "

731 rows \u00d7 16 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ " instant dteday season yr mnth holiday weekday workingday \\\n", "0 1 2011-01-01 1 0 1 0 6 0 \n", "1 2 2011-01-02 1 0 1 0 0 0 \n", "2 3 2011-01-03 1 0 1 0 1 1 \n", "3 4 2011-01-04 1 0 1 0 2 1 \n", "4 5 2011-01-05 1 0 1 0 3 1 \n", "5 6 2011-01-06 1 0 1 0 4 1 \n", "6 7 2011-01-07 1 0 1 0 5 1 \n", "7 8 2011-01-08 1 0 1 0 6 0 \n", "8 9 2011-01-09 1 0 1 0 0 0 \n", "9 10 2011-01-10 1 0 1 0 1 1 \n", "10 11 2011-01-11 1 0 1 0 2 1 \n", "11 12 2011-01-12 1 0 1 0 3 1 \n", "12 13 2011-01-13 1 0 1 0 4 1 \n", "13 14 2011-01-14 1 0 1 0 5 1 \n", "14 15 2011-01-15 1 0 1 0 6 0 \n", "15 16 2011-01-16 1 0 1 0 0 0 \n", "16 17 2011-01-17 1 0 1 1 1 0 \n", "17 18 2011-01-18 1 0 1 0 2 1 \n", "18 19 2011-01-19 1 0 1 0 3 1 \n", "19 20 2011-01-20 1 0 1 0 4 1 \n", "20 21 2011-01-21 1 0 1 0 5 1 \n", "21 22 2011-01-22 1 0 1 0 6 0 \n", "22 23 2011-01-23 1 0 1 0 0 0 \n", "23 24 2011-01-24 1 0 1 0 1 1 \n", "24 25 2011-01-25 1 0 1 0 2 1 \n", "25 26 2011-01-26 1 0 1 0 3 1 \n", "26 27 2011-01-27 1 0 1 0 4 1 \n", "27 28 2011-01-28 1 0 1 0 5 1 \n", "28 29 2011-01-29 1 0 1 0 6 0 \n", "29 30 2011-01-30 1 0 1 0 0 0 \n", "30 31 2011-01-31 1 0 1 0 1 1 \n", "31 32 2011-02-01 1 0 2 0 2 1 \n", "32 33 2011-02-02 1 0 2 0 3 1 \n", "33 34 2011-02-03 1 0 2 0 4 1 \n", "34 35 2011-02-04 1 0 2 0 5 1 \n", "35 36 2011-02-05 1 0 2 0 6 0 \n", "36 37 2011-02-06 1 0 2 0 0 0 \n", "37 38 2011-02-07 1 0 2 0 1 1 \n", "38 39 2011-02-08 1 0 2 0 2 1 \n", "39 40 2011-02-09 1 0 2 0 3 1 \n", "40 41 2011-02-10 1 0 2 0 4 1 \n", "41 42 2011-02-11 1 0 2 0 5 1 \n", "42 43 2011-02-12 1 0 2 0 6 0 \n", "43 44 2011-02-13 1 0 2 0 0 0 \n", "44 45 2011-02-14 1 0 2 0 1 1 \n", "45 46 2011-02-15 1 0 2 0 2 1 \n", "46 47 2011-02-16 1 0 2 0 3 1 \n", "47 48 2011-02-17 1 0 2 0 4 1 \n", "48 49 2011-02-18 1 0 2 0 5 1 \n", "49 50 2011-02-19 1 0 2 0 6 0 \n", "50 51 2011-02-20 1 0 2 0 0 0 \n", "51 52 2011-02-21 1 0 2 1 1 0 \n", "52 53 2011-02-22 1 0 2 0 2 1 \n", "53 54 2011-02-23 1 0 2 0 3 1 \n", "54 55 2011-02-24 1 0 2 0 4 1 \n", "55 56 2011-02-25 1 0 2 0 5 1 \n", "56 57 2011-02-26 1 0 2 0 6 0 \n", "57 58 2011-02-27 1 0 2 0 0 0 \n", "58 59 2011-02-28 1 0 2 0 1 1 \n", "59 60 2011-03-01 1 0 3 0 2 1 \n", " ... ... ... ... ... ... ... ... \n", "\n", " weathersit temp atemp hum windspeed casual registered \\\n", "0 2 0.344167 0.363625 0.805833 0.160446 331 654 \n", "1 2 0.363478 0.353739 0.696087 0.248539 131 670 \n", "2 1 0.196364 0.189405 0.437273 0.248309 120 1229 \n", "3 1 0.200000 0.212122 0.590435 0.160296 108 1454 \n", "4 1 0.226957 0.229270 0.436957 0.186900 82 1518 \n", "5 1 0.204348 0.233209 0.518261 0.089565 88 1518 \n", "6 2 0.196522 0.208839 0.498696 0.168726 148 1362 \n", "7 2 0.165000 0.162254 0.535833 0.266804 68 891 \n", "8 1 0.138333 0.116175 0.434167 0.361950 54 768 \n", "9 1 0.150833 0.150888 0.482917 0.223267 41 1280 \n", "10 2 0.169091 0.191464 0.686364 0.122132 43 1220 \n", "11 1 0.172727 0.160473 0.599545 0.304627 25 1137 \n", "12 1 0.165000 0.150883 0.470417 0.301000 38 1368 \n", "13 1 0.160870 0.188413 0.537826 0.126548 54 1367 \n", "14 2 0.233333 0.248112 0.498750 0.157963 222 1026 \n", "15 1 0.231667 0.234217 0.483750 0.188433 251 953 \n", "16 2 0.175833 0.176771 0.537500 0.194017 117 883 \n", "17 2 0.216667 0.232333 0.861667 0.146775 9 674 \n", "18 2 0.292174 0.298422 0.741739 0.208317 78 1572 \n", "19 2 0.261667 0.255050 0.538333 0.195904 83 1844 \n", "20 1 0.177500 0.157833 0.457083 0.353242 75 1468 \n", "21 1 0.059130 0.079070 0.400000 0.171970 93 888 \n", "22 1 0.096522 0.098839 0.436522 0.246600 150 836 \n", "23 1 0.097391 0.117930 0.491739 0.158330 86 1330 \n", "24 2 0.223478 0.234526 0.616957 0.129796 186 1799 \n", "25 3 0.217500 0.203600 0.862500 0.293850 34 472 \n", "26 1 0.195000 0.219700 0.687500 0.113837 15 416 \n", "27 2 0.203478 0.223317 0.793043 0.123300 38 1129 \n", "28 1 0.196522 0.212126 0.651739 0.145365 123 975 \n", "29 1 0.216522 0.250322 0.722174 0.073983 140 956 \n", "30 2 0.180833 0.186250 0.603750 0.187192 42 1459 \n", "31 2 0.192174 0.234530 0.829565 0.053213 47 1313 \n", "32 2 0.260000 0.254417 0.775417 0.264308 72 1454 \n", "33 1 0.186957 0.177878 0.437826 0.277752 61 1489 \n", "34 2 0.211304 0.228587 0.585217 0.127839 88 1620 \n", "35 2 0.233333 0.243058 0.929167 0.161079 100 905 \n", "36 1 0.285833 0.291671 0.568333 0.141800 354 1269 \n", "37 1 0.271667 0.303658 0.738333 0.045408 120 1592 \n", "38 1 0.220833 0.198246 0.537917 0.361950 64 1466 \n", "39 2 0.134783 0.144283 0.494783 0.188839 53 1552 \n", "40 1 0.144348 0.149548 0.437391 0.221935 47 1491 \n", "41 1 0.189091 0.213509 0.506364 0.108550 149 1597 \n", "42 1 0.222500 0.232954 0.544167 0.203367 288 1184 \n", "43 1 0.316522 0.324113 0.457391 0.260883 397 1192 \n", "44 1 0.415000 0.398350 0.375833 0.417908 208 1705 \n", "45 1 0.266087 0.254274 0.314348 0.291374 140 1675 \n", "46 1 0.318261 0.316200 0.423478 0.251791 218 1897 \n", "47 1 0.435833 0.428658 0.505000 0.230104 259 2216 \n", "48 1 0.521667 0.511983 0.516667 0.264925 579 2348 \n", "49 1 0.399167 0.391404 0.187917 0.507463 532 1103 \n", "50 1 0.285217 0.277330 0.407826 0.223235 639 1173 \n", "51 2 0.303333 0.284075 0.605000 0.307846 195 912 \n", "52 1 0.182222 0.186033 0.577778 0.195683 74 1376 \n", "53 1 0.221739 0.245717 0.423043 0.094113 139 1778 \n", "54 2 0.295652 0.289191 0.697391 0.250496 100 1707 \n", "55 2 0.364348 0.350461 0.712174 0.346539 120 1341 \n", "56 1 0.282500 0.282192 0.537917 0.186571 424 1545 \n", "57 1 0.343478 0.351109 0.680000 0.125248 694 1708 \n", "58 2 0.407273 0.400118 0.876364 0.289686 81 1365 \n", "59 1 0.266667 0.263879 0.535000 0.216425 137 1714 \n", " ... ... ... ... ... ... ... \n", "\n", " cnt \n", "0 985 \n", "1 801 \n", "2 1349 \n", "3 1562 \n", "4 1600 \n", "5 1606 \n", "6 1510 \n", "7 959 \n", "8 822 \n", "9 1321 \n", "10 1263 \n", "11 1162 \n", "12 1406 \n", "13 1421 \n", "14 1248 \n", "15 1204 \n", "16 1000 \n", "17 683 \n", "18 1650 \n", "19 1927 \n", "20 1543 \n", "21 981 \n", "22 986 \n", "23 1416 \n", "24 1985 \n", "25 506 \n", "26 431 \n", "27 1167 \n", "28 1098 \n", "29 1096 \n", "30 1501 \n", "31 1360 \n", "32 1526 \n", "33 1550 \n", "34 1708 \n", "35 1005 \n", "36 1623 \n", "37 1712 \n", "38 1530 \n", "39 1605 \n", "40 1538 \n", "41 1746 \n", "42 1472 \n", "43 1589 \n", "44 1913 \n", "45 1815 \n", "46 2115 \n", "47 2475 \n", "48 2927 \n", "49 1635 \n", "50 1812 \n", "51 1107 \n", "52 1450 \n", "53 1917 \n", "54 1807 \n", "55 1461 \n", "56 1969 \n", "57 2402 \n", "58 1446 \n", "59 1851 \n", " ... \n", "\n", "[731 rows x 16 columns]" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline\n", "\n", "fig = plt.figure()\n", "fig.set_figwidth(20.0)\n", "ax1 = fig.add_subplot(1,3,1) # one row, two columns, first plot\n", "ax1.hist(np.log(data['cnt']))\n", "\n", "ax2 = fig.add_subplot(1,3,2) # one row, two columns, second plot\n", "ax2.hist(np.log(data['casual']))\n", "\n", "ax3 = fig.add_subplot(1,3,3)\n", "ax3.scatter(np.log(data['season']), np.log(data['registered']))\n", "\n", "print fig" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n", "Figure(1600x320)" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 74 }, { "cell_type": "code", "collapsed": false, "input": [ "def ols_regression(x_input, y_response):\n", " \"\"\"solution for solving a regression.\n", " x_input: an input narray (X)\n", " y_response: a 1d array of expected outputs (y)\n", " X and y must have equal lengths, but x can be multiple dimensions\n", " should return back a 1d array of 1 intercept + all coefficients\n", " \"\"\"\n", " intercept_matrix = np.ones(len(x_input))\n", " x_var = np.array([intercept_matrix, x_input]).T\n", " x_inv = x_var.T\n", " a = np.linalg.inv(x_inv.dot(x_var))\n", " b = x_inv.dot(y_response)\n", " return a.dot(b)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 22 }, { "cell_type": "code", "collapsed": false, "input": [ "linear_fit = LinearRegression()\n", "log_fit = LinearRegression()\n", "\n", "linear_fit.fit(data[['temp','casual','hum']].values, data['cnt'].values)\n", "log_fit.fit(np.log(data[['temp','casual']]), np.log(data['cnt'].values))\n", "\n", "#print \"My intercept and coefficient:\", ols_regression(data['temp','hum'], data['cnt'])\n", "print \"sklearn intercept and coef (linear):\", linear_fit.intercept_, linear_fit.coef_\n", "print \"sklearn intercept and coef (log):\", log_fit.intercept_, log_fit.coef_" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "sklearn intercept and coef (linear): 2339.35657509 [ 4.22992224e+03 1.26015129e+00 -1.59147475e+03]\n", "sklearn intercept and coef (log): 5.97738169165 [ 0.22239077 0.39074807]\n" ] } ], "prompt_number": 51 }, { "cell_type": "code", "collapsed": false, "input": [ "print \"Linear R-squared\", round(linear_fit.score(data[['temp','casual','hum']].values, data['cnt'].values), 4)\n", "print \"Log R-squared\", round(log_fit.score(np.log(data[['temp','casual']].values), np.log(data['cnt'].values)), 4)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Linear R-squared 0.5631\n", "Log R-squared 0.6495\n" ] } ], "prompt_number": 52 }, { "cell_type": "code", "collapsed": false, "input": [ "lin_f, lin_p = f_regression(data[['temp','casual']].values, data['cnt'].values)\n", "log_f, log_p = f_regression(np.log(data[['temp','casual']]), np.log(data['cnt'].values))\n", "print 'LINEAR F-Test Values:', lin_f[0]\n", "print 'LINEAR p-values: ', lin_p[0]\n", "print 'LOG F-Test Values:', log_f[0]\n", "print 'LOG p-values: ', log_p[0]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "LINEAR F-Test Values: 473.471710535\n", "LINEAR p-values: 2.81062239759e-81\n", "LOG F-Test Values: 517.386209663\n", "LOG p-values: 5.74528625902e-87\n" ] } ], "prompt_number": 40 }, { "cell_type": "code", "collapsed": false, "input": [ "linear_fit2 = LinearRegression()\n", "log_fit2 = LinearRegression()\n", "\n", "linear_fit2.fit(data[['temp','registered']].values, data['casual'].values)\n", "log_fit2.fit(np.log(data[['temp','registered']]), np.log(data['casual'].values))\n", "\n", "#print \"My intercept and coefficient:\", ols_regression(data['temp','hum'], data['cnt'])\n", "print \"sklearn intercept and coef (linear):\", linear_fit2.intercept_, linear_fit2.coef_\n", "print \"sklearn intercept and coef (log):\", log_fit2.intercept_, log_fit2.coef_" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "sklearn intercept and coef (linear): -248.4524661 [ 1.74647366e+03 6.33045792e-02]\n", "sklearn intercept and coef (log): 2.11544820589 [ 1.18827215 0.63908617]\n" ] } ], "prompt_number": 49 }, { "cell_type": "code", "collapsed": false, "input": [ "print \"Linear R-squared\", round(linear_fit2.score(data[['temp','registered']].values, data['casual'].values), 4)\n", "print \"Log R-squared\", round(log_fit2.score(np.log(data[['temp','registered']].values), np.log(data['casual'].values)), 4)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Linear R-squared 0.3098\n", "Log R-squared 0.5809\n" ] } ], "prompt_number": 50 }, { "cell_type": "code", "collapsed": false, "input": [ "lin_f, lin_p = f_regression(data[['temp','casual','holiday']].values, data['registered'].values)\n", "log_f, log_p = f_regression(np.log(data[['temp','casual']]), np.log(data['registered'].values))\n", "print 'LINEAR F-Test Values:', lin_f[0]\n", "print 'LINEAR p-values: ', lin_p[0]\n", "print 'LOG F-Test Values:', log_f[0]\n", "print 'LOG p-values: ', log_p[0]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "LINEAR F-Test Values: 300.098390251\n", "LINEAR p-values: 1.44622865127e-56\n", "LOG F-Test Values: 355.274052677\n", "LOG p-values: 7.37054113943e-65\n" ] } ], "prompt_number": 54 }, { "cell_type": "code", "collapsed": false, "input": [ "linear_fit3 = LinearRegression()\n", "log_fit3 = LinearRegression()\n", "\n", "linear_fit3.fit(data[['temp','casual','hum']].values, data['registered'].values)\n", "log_fit3.fit(np.log(data[['temp','casual']]), np.log(data['registered'].values))\n", "\n", "#print \"My intercept and coefficient:\", ols_regression(data['temp','hum'], data['cnt'])\n", "print \"sklearn intercept and coef (linear):\", linear_fit3.intercept_, linear_fit3.coef_\n", "print \"sklearn intercept and coef (log):\", log_fit3.intercept_, log_fit3.coef_" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "sklearn intercept and coef (linear): 2339.35657509 [ 4.22992224e+03 2.60151290e-01 -1.59147475e+03]\n", "sklearn intercept and coef (log): 6.65864600463 [ 0.31431862 0.26287702]\n" ] } ], "prompt_number": 75 }, { "cell_type": "code", "collapsed": false, "input": [ "print \"Linear R-squared\", round(linear_fit3.score(data[['temp','casual','hum']].values, data['registered'].values), 4)\n", "print \"Log R-squared\", round(log_fit3.score(np.log(data[['temp','casual']].values), np.log(data['registered'].values)), 4)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Linear R-squared 0.3265\n", "Log R-squared 0.4406\n" ] } ], "prompt_number": 76 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }