You are on page 1of 10

{

"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Polynomial Regression"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What if your data doesn't look linear at all? Let's look at some more reali
stic-looking page speed / purchase data:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x6e1be10>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAEACAYAAABWLgY0AAAABHNCSVQICAgI
fAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X18XVWd7/HPL8k5JyePbTU8FpJCKQ
WhNOWCKIwGAR8Y\nR3wGnLn3jhZGhosgoyOl85pbEFFrZbhwX0KpdhTn9iGOji91rmOxY6PD+NBeKDKa
ojhOKkUgURHb\nsbSh/d0/1to5OycnNGkezsnp9/165ZVkn33OWTmU7177t9Ze29wdERGpTjXlboCIiE
wdhbyISBVT\nyIuIVDGFvIhIFVPIi4hUMYW8iEgVG3PIm9lcM/uWmf3YzP7NzK6P22eb2QNm9hMz22Rm
rann3Gxm\nj5vZDjN77VT8ASIiMjob6zx5MzsGOMbdHzGzJuAh4DLg3cCv3f0TZnYTMNvdl5nZ6cA64B
xgLrAZ\nOMU1MV9EZNqMuSfv7k+7+yPx5z3ADkJ4XwbcH3e7H3hz/PlNwEZ3f8Hd+4DHgXMnqd0iIjIG
h1WT\nN7MOYDHwfeBod38GwoEAOCrudjzwROppT8ZtIiIyTcYd8rFU80XghtijLy6/qBwjIlIh6sazs5
nV\nEQL+79z9K3HzM2Z2tLs/E+v2/XH7k8AJqafPjduKX1MHBRGRw+Dudqh9xtuT/1ug193vSm37KvCn
\n8ef/Dnwltf0KM8ua2TxgPrB1lIZW3NeKFSvK3ga1SW06EtulNo3ta6zG3JM3s/OBPwb+zcy2E8oy\n
y4GVwBfM7D3ATuCdMbh7zewLQC8wCFzr42mZiIhM2JhD3t3/Fagd5eGLR3nOx4CPHUa7RERkEuiK\n11
F0dXWVuwkjqE1jozaNXSW2S22aXGO+GGrKGmCmKo6IyDiZGT4FA68iIjKDKORFRKqYQl5EpIop\n5EVE
qphCXkSkiinkRUSqmEJeRKSKKeRFRKqYQl5EpIop5EVEqphCXkSkiinkRUSqmEJeRKSKKeRF\nRKqYQl
5EpIop5EVEqphCXkSkiinkRUSqmEJeRKSKKeRFRKqYQl5EpIop5EVEqphCXkSkiinkRUSq\nmEJeRKSK
KeRFRKqYQl5EpIop5EVEqphCXkSkiinkJ8HAwADbtm1jYGCg3E0RERlGIT9BGzZ0096+\nkEsuuYb29o
Vs2NBd7iaJiAwxdy9vA8y83G04XAMDA7S3L2Tv3i3AIuBR8vkL2bnzMdra2srdPBGp\nYmaGu9uh9lNP
fgL6+vrIZjsIAQ+wiEymnb6+vvI1SkQkRSE/AR0dHezf3wc8Grc8yuDgTjo6OsrX\nKBGRlDGHvJmtNb
NnzOzR1LYVZrbLzB6OX69PPXazmT1uZjvM7LWT3fBK0NbWxtq195DPX0hLyxLy\n+QtZu/YelWpEpGKM
uSZvZhcAe4DPu/uiuG0FsNvd/6Zo39OA9cA5wFxgM3BKqeL7TK7JJwYGBujr\n66Ojo0MBLyLTYqw1+b
qxvqC7P2hm7aXeq8S2y4CN7v4C0GdmjwPnAj8Y6/vNJG1tbQp3EalIk1GT\nv87MHjGzz5hZa9x2PPBE
ap8n4zYREZlGY+7Jj+Ie4MPu7mb2EeAO4Krxvsgtt9wy9HNXVxddXV0T\nbJaISHXp6emhp6dn3M8b1z
z5WK75WlKTH+0xM1sGuLuvjI99A1jh7iPKNdVQkxcRmW5TNU/eSNXg\nzeyY1GNvBX4Uf/4qcIWZZc1s
HjAf2DrO9xIRkQkac7nGzNYDXcBLzOwXwArgQjNbDBwE+oD3Arh7\nr5l9AegFBoFr1V0XEZl+WtZARG
QG0rIGIiKikBcRqWYKeRGRKqaQFxGpYgp5EZEqppAXEaliCnkR\nkSqmkBcRqWIKeRGRKqaQFxGpYgp5

EZEqppAXEaliCnkRkSqmkBcRqWIK+SkyMDDAtm3bGBgYKHdT\nROQIppCfAhs2dNPevpBLLrmG9vaFbN
jQXe4micgRSjcNmWQDAwO0ty9k794twCLgUfL5C9m58zHa\n2trK3TwRqRK6aUiZ9PX1kc12EAIeYBGZ
TDt9fX3la5SIHLEU8pOso6OD/fv7gEfjlkcZHNxJR0dH\n+RolIkcshfwka2trY+3ae8hmXwXMB17BCy
/sZ/Pmb5W7aSJyBFJNfgoMDAxw4okLeP75TwGXAE+p\nLi8ik0o1+TLq6+sjlzsJeBfQhuryIlIuCvkp
UKouv3//f/Dss89q3ryITCuF/BRI6vL5/IW0tCwh\nk7mAAwcO8ta3fkjz5kVkWqkmP4UGBgbYvn07b3
zjOxgc/BeSefPZ7KvYtetx1edF5LCpJl8BkhAf\nHDyK9Lz5/ftfyvbt28vWLhE5cijkp8UvSdfn4aky
tkVEjiQq10yxgYEBjj/+JAYHM0AH0EcmM8iT\nT/5c5RoROWwq11SItrY27r//M9TXO42N/0l9vXP//Z
9RwIvItFBPfpoMDAzQ19dHR0eHAl5EJmys\nPXmFvIjIDKRyTQXSjUREZLop5KeJbiQiIuWgcs000I1E
RGSyqVxTQXQjEREplzGHvJmtNbNnzOzR\n1LbZZvaAmf3EzDaZWWvqsZvN7HEz22Fmr53shs8kupGIiJ
TLeHrynwVeV7RtGbDZ3U8FvgXcDGBm\npwPvBE4D3gDcY2aHPK2oVsULluXzF7J27T0q1YjIlBtXTd7M
2oGvufui+PtjwKvd/RkzOwbocfeF\nZrYMcHdfGff7J+AWd/9Bides+pp8QnPlRWSyjLUmXzfB9znK3Z
8BcPenzeyouP144Hup/Z6M245o\nbW1tCncRmVaTPfB6ZHTJRURmiIn25J8xs6NT5Zr+uP1J4ITUfnPj
tpJuueWWoZ+7urro6uqaYLNE\nRKpLT08PPT09437eeGvyHYSa/Jnx95XAb9x9pZndBMx292Vx4HUd8H
JCmeabwCmliu9HUk1eRGSy\nTHpN3szWA13AS8zsF8AK4OPA35vZe4CdhBk1uHuvmX0B6AUGgWuV5CIi
009XvIqIzEC64lVERBTy\nU0mrTopIuSnkp4hWnRSRSqCa/BTQqpMiMtVUky8jrTopIpVCIT8FtOqkiF
QKhfwU0KqTIlIpVJOf\nQlp1UkSmylhr8gp5EZEZSAOvIiKikBcRqWYKeRGRKqaQFxGpYgp5EZEqppAX
EaliCnkRkSqmkC8D\nLUEsItNFIT/NtASxiEwnXfE6jca6BLGWQxCRQ9EVrxXoUEsQDwwM8JGPfJQTT1
ygnr6ITAr15KfR\nwMAAJ564gOef/xRwCfDUUE9+8+ZvsXTptezdOwf4NXAvcJpuNiIiJaknX4E2b/4W
Bw86sALoIJM5\nn7Vr7wGIAb8FeBzoAa4FjqWu7kS+/vWva5BWRA6LQn6aDAwMsHTptezf/x1CkH+Pur
osF1/8mpJl\nHGgHvsnu3T/hfe+7Q6UbETksCvlp8mL1+FJ3koKfAEuBpeze/c/s3buFpUuvVY9eRMZF
IT9NRrsl\nYFNTE319fdx558eH3UnqoovOBwz4LrAQ2KH7xIrIuNWVuwFHiuSWgEuXXkgm087g4E6WLv
2vnH32\nBWSz4QBw550fZ8mSxTQ1NXH22RcA3yeZagld7N/vuk+siIyLQn4aXXnl5UM1+CTI9+7dwt69
Ichv\nvDHMpOnr66Ou7nhgHzBACPo5/NVfvUezbERkXFSumWZtbW2cc8457NmzZ9Qa/cMPP8Lu3T8Dri
aU\naj5BPv8s733v1eVqtojMUOrJl8nwGn3oySc1+htvXMbwUs153HnnXerFi8i4qSdfJkmNPj3Yunbt
\nPSV7+E1NC1iyZPFhvY8WQxM5sqknXyYDAwPMn38SDz30IE888QQAnZ2dACN6+Hv2/JSHH36Ec845\n
Z1zvsWFDN0uXXjs0sLt27T1ceeXlk/p3iEhl07IGZZAO3717/x33AzQ0LBgK4t/97ndcc80NwCnA\nLu
Am8vmV41reYKyLoYnIzKRlDSpUcuXr3r1beO65h9i//zsMDmZ47rlvDF3wNG9eO83N84HPAA8C\nF7J3
bwv33ffpMb/PoRZDE5Ejg0J+mpVewqAD6CMJYoAXXngS2AJcQJhl8wy33vrRMdfWR7v4SvPs\nRY4sCv
lpVnoJgz5C0Icg7uzs5IYbrgFuIQT9I8D3eeEFZ/v27SVft9QA6/LlH6C+/tXDBnZVqhE5\nsijkp1nx
rJps9lVkMoO0tLxuWBBfeOGrgeMZ3uM/tuRrFt9t6n3vez/t7Qv55Ce/hFkNf/mXb2fn\nzsc06CpyBJ
qUgVcz6wOeAw4Cg+5+rpnNBroJyyn2Ae909+dKPPeIG3iF4Xd/AkbcCWpgYIC5c0+J\nq1aGgdNs9lXs
2vX4iLtIDR9g7QEuJT3PXgOuItVnrAOvkzWF8iDQ5e7PprYtAza7+yfM7Cbg5rhN\nCD36dOiWuv3f3X
ev4sYbL8TseA4ceIK77lo1IqiTGn9YGgGgETiBUgOuCnmRI89klWusxGtdBtwf\nf74fePMkvVfVSt/+
76KLlnLDDR/kLW+5lAMHdpLNnsCNNy4bsab8yBr/fwJPoAFXEQHA3Sf8Bfwc\neBjYBlwVtz1btM9vRn
mui/v69Rs9n5/jMN+hxaHJYZFD3mGlgzv80PP5Od7f31/yuc3Niz2Xm+Xv\nec/Vns/P8ZaWTs/n5/j6
9Rvd3b2/v9+3bt064vkiMvPE7Dx0Po9lp0O+CBwbv7cB24E/KA514Nej\nPHdqP4kZoL+/Pwb8D4fCHG
Y79Mef58Sf3VtaOn3Tpk0jwnr16jWey7V4c/OZns/P8dWr1wzbJzkQ\ntLYuGRb8IjIzjTXkJ/2KVzNb
AewBriLU6Z8xs2OALe5+Won9fcWKFUO/d3V10dXVNaltqnTbtm3j\nkkuu4bnnHkptXQLcB5wDnEW4MC
pHXd0rqampoa7uRNyfYu3ae7j44teUvLr1oYceZM+ePcOWNU4e\nz+Vezfbt3+W000b8JxGRCtTT00NP
T8/Q77feeuuYBl4nHPJm1gDUuPseM2sEHgBuBS4i9OZXxoHX\n2e4+YuD1SJ1dk1ZqCQLoItwC8CngPM
JJ0lOEsfIFhLr7TWSzH+VrX/sC73znzcMOErlcO+7Pkcud\nxP79/0FNzWz27v156l0XkMs9w2c/u0ZT
K0VmoOlc1uBo4EEz206Yt/c1d38AWAlcYmY/IQT+xyfh\nvapS8dz5TOYPCAOoFxEC/lLgt0CG8BE/Qr
hIaiX798/mt7/9bdHg6/9k374B9u//Drt3P8y+fd9m\n796nCdMrifv9mn37vqL7xopUOS1QVkGSqZPP
Pvssb3/7B9m9+wOEY+UzwP8G7gDSJZ35wE7uvvtv\nyGbref/7P0RNzRx+//snCJcnPD60Z339GRw4sJ
PBwWOBXwP3AJfT0rKEzZvvG/cKlyJSXtM9T14m\n0QknnBDXrmkHniTMe38p4ZqywhLE4daAdSxf/rfs
2/fvgMXB7DpCkBf2dX+SLVu+wUUXXcq+fV8h\nlIM0vVKk2mlZgwqRXprg7LMvYOnSPyGffxs1NXXAz4
C/APYTJi7NJ4T0QeAH7NnzAIODdQwO/gv7\n9q0mLIdwL3AhYQD3Fdx4459z/vnnc9ddnySXu4ympjO1
no3IEUAhXwGKlx/eu3cLa9f+Hz70oRs4\neHAv4T6vTwF/TQj6LmAjcDKhp94HzIs/dxJ6+KcBjwEfBA
7S0TGPDRu6ufHGZWSzJzM4uIs77/z4\nsEHXZJGzHTt26G5SIlVCNfkKUGoKZXNzJ88//zMGB/+VQnnm
QrLZl2L2NGbH8fzzOwkDsccCpxIG\nVhcB/xP4JOmbjtTXfwwwnn++h+I1bQDuu+/TfPSjd3DwYCv79j
1Nff3JmP1Sd5MSqVBjrclPysVQ\nE/lCF0OVvBgql5vljY1nxN+Tr0UOOV+x4lavrW1wyDk0OHTGK2Pz
8YrZnGcypzhsHbqICo53OHnY\n67W0dPptt93u9fWz4utsiRdeFdqRz8/xTZs26SpZkQrDGC+GUrmmAp
S6qfddd32Cgwd/yfB15x8H\nPsTHPnYHBw4AfAPIEuruDnwdWA9sZHBwF5AjzK9/lHB92vDX27+/j9tv
X8Xzz3+KcCawP+6fLGm8\niL17Z/PWt15Pe/tCPvKRcNOSUmvX64bhIpVJ5ZoKkl5+uK2tjQ0bunn3u6
9h3742Qp39E8DVNDSc\nyu9/f5AQ+p8G3keo2z8y9FqZTDuDg78ihPdOwpTJZYT59nOBx/nDP7yE73zn
SXbv3kSo6WcIs3gG\ngA8BrySsK/c9wmoVS6mtBbM6stmTOHDgF9x11ydoaWnRDcNFptlYyzUK+Qq3Y8
cOOjvPGzbtsb7+\n1Rw4cJDBwX8B9gF/CjxNuEAq1Ntra1/JgQP7gbuBtxEGbruA9wOrCNewPQW8AGwC
/oiwjMJ/AjcB\ncwg9/1cSAn5W3P844DeE2TunAedRV1fDCy98F61fLzJ9FPJVZMOGbpYuvTb2zneydu
09ALGXP4tw\nsdQthAun5hKWQ6gBTiIsEDoH+BWhpFNL+oYi4R6yzxN68ScTpmumHz+PUAJaSvogEqZn
PgZcHN/v\nCUKpJwwa//M/r9EFViJTaDqXNZApduWVl7Nz52Ns3nzfsNv4uR8kzJWvAT5K6GU/Rm1tsv

zBjwjh\n/xvgRELAv5ThtxR8CeHiqe8Bawnr4qQfP55w06+Oou3twDcJ4T4b+FJ87FF27/4JDz9cKB2J
SPmo\nJz8DDV/Q7FhC2P45sJKamvdz8OAJhHr9AKFWn+6Bn0cYoO2Kv59L6P3/7EX2v5dwMVZ6+ysIZw
YQ\nDhS/Ao4iDPDeRD6/smTJpnjcQUQOj5Y1qGKFW/7tIJRNTiDU1m/g4MEaCksa7KP4VoChZ34ZoTSz
\nkxDQuwhz7LsI9fjzCGcFvwSaCAeQXNw+j1D/vxL4O8LtBo8i1PIHgBuBDmprjxtxy8Gk7JQM0H74\n
w39FW9tLOPfcc0dd8lgHBZEJGss8y6n8QvPkx62/vz/ObW8putFI3uFlDhvjfPcz4rbifb4c59D/\ndW
pufd7h2Pj9jXEO/svi66yM7/XSeMeqM+L3hhKv3RG3Z33FiluH2tzb2+u5XEuci9/v8DqHeocF\nDnm/
7rrrh/19W7du9dWr1+hGJyKjYDrvDDWRL4X84Vm2bPmIi5vC700xcPsd1nltbd7z+Tne2Lho\nKHzD94
4SB4DW+BqzirbPcTgpPvek+B7vKvH+i+LB44fxoFDvS5de5evXb/RcblYM9Ob42Mke7n61\ncegA0dvb
m7qVYXKB14vf+lDkSKWQr3KbNm0q0ZNucFgaQzncH3b16jXe39/v3d3dseecHAA+XCKk\nFzs0xucWh3
cmhv+S+L2uxEFijsOm+PonO5zoUOu1tY0O6xx6Y7AXP6ff4RS/++67S9wGMXm83/P5\ndv/ABz7gvb29
5f74RcpurCGv2TUzVGdnJ5lMDaGOvgToorYW6uu/RFPTceRyfaxa9RGWLFkMwE9/\n+jPCAOsiwlTHaw
jz3tNX1P4CeC9h0Da9/aeE4ZtvE9az/zbhSttBQp1+fvy+D7iZcAHWrvj6NRw4\n4IR7xpwDHEPpWTq7
OProo8lmO4oenwv8L+AE9u7t5447vsrpp5/N+953w9BnoattRV7EWI4EU/mF\nevIvKqlPlypTrF+/0e
vrZ3lj4wKvr5/l69dvHFbPDo+d6rlci2cyzSV60Unp5mQv1NNbY689Xas/\nd5TS0Px4dvDWeAZQXJ/P
xu0rh51dhLGArR7q8w0O9b5o0eJRbmie98IaPcO3p8s7ra1LvL5+lt92\n2+3DPqsX+/xEZjJUrpn50g
E22sBjqRDr7+9PhfqSGNzHeGFAtjOG5ltiSF/noU6ehPaaWFppc3hJ\n3FZcmpkdyygrYwifUnQQOCO+
xzwvXvQsvNZJ8XtTPBDk/NxzX+6vetWrvba2KR5EkjGEdfHv6HX4\nXPx+it9+++3xoPBlh2vj3znPc7
kWX7XqjqHF1xobTx06CB7qsxOZKRTyM1ypXu1YBx5L1+vzXpjZ\nsi4Gd4eb1XtNTVPsxediLzsd5Jsc
FqZ690n4romvNcdLrV5ZmMXT4nCWj6zxJwO0ubjvqfF7Jgb7\nvfG9z4qhno2PHRfbXus1NXkPA7n1sU
3JGcNZ8bXqUge62Z7JNA19foWzoOEHAAW/zBQK+Rlu69at\n3tq6ZFg4trR0+tatWw/53BDy8724vJLN
NnthVssah3VeXz/Le3t7fdmy5V5T0+CF8k0y82VLKohP\niD8nZZ0/98IgbXKWMD/2zufFg8ByLz1A2x
+/kiWOk/JN3sOAbYvDHTHEmz2ciSQlpJYY+I1eOBM5\nc5QDzZbU7w1+++23e29vb9GZzmyvqan3Sy99
o+dyrZqyKTOCQn6Gm0hPvr+/37PZ1mHPzWZbvbu7\n2xsbT/XCGvPhwLFp06b4Xis9zJw5xqHezZJecx
KWSXs2xoA8IdXr7o3fkzp/Lh4ITk0dJJKafDIt\ncp2HuflzYtjOib83epijXx9/Hu1MITnYNHrhjKE/
HjB6Payh3+3pAx3MSR3Mktf7Cy+cJTR7OACO\n7/NW71+mm0K+CiQ1+ZaWznH3LJPnNjYuGnruaAeO7u
5ub2g4uShIvxyDdJ0XyitLvFCiWRkDsSHV\ny04GcOvjV6GnHEonjR566cm+SfgXh/fp8T2ui/sl750+
M0mXfBoc/iS+3mwv1PuT9rwl/j1ZD+MM\nWYej4gHg0tjW4+L2Fk/GJZqazvC777572E1TigO91MBvb2
+vQl+mnEK+Skykl1jqucUHjuuuuyEG\n/1wfXuLZ6uHipeK6+zoPpZFZMVBH62WXCu8t8fctMfA7/cUv
qJrjI88i3IeXfJIeel0M+S976N0X\nLggLoZ3M60/GFDKp5zTFx+bGfbMOtV4oDzW4WdYXLFjg2WyTt7
Yu8VyuxS+//HLPZJKLz5KzmzAj\nKZttn7SSj84UpJSxhrwWKDsCJevBNDU1cfbZF6QWOkvfJ7YHuJSw
muUO4M+APGFFSiesatkMrCbM\nuX8o9Q5nEG5Osiu17RTCksXJ8sNnEpYqzhJWwCxewrgNOAvoJSyDnC
PMwz8eeBJ4C7COwiJr2fg3\nPE1YWvlqwrr5J8X2w/AllF8BHACMcA1AhrAuz38Q1uEB2MbwhdqOia/f
Gj+HpC1vA/6RcP1A+u/4\nEnV1b6Kn55/IZrM0NTWxZ8+eoe8dHR0AQ/8tkm0vtt5P+oYsWtfnyKZ7vM
ohjRzc3ejQ4A0NZ3o+\nP8drapKSS2fsHdd6GGyt9UI5ZrRedr2/+CBoi4fSTVN8ncVevIxB+P2lXijr
bPHhA7TJ2jzps4b0\nejzJ4PG6EmcMnR6u+j3GS185nPXC4PBWh9M8TN/8XGxP+m/J+ciB7s74vFDKqq
0Ns4cymaMd8p7L\nLfSamnqvq2vyXO5lDnnP5+cNm+sf1vsZvsREMk5wqOsDpPqhco0cSqkafX39LN+0
aZNv2rQpHgCS\nkAtLD4RpjU0x2JJB1qN9eC19pYdyTFIemeVwfQzdpE5+fCrUZ8WQTKZpJuWgD3hhXK
C4Jr84hnST\nF2b4JKWl4gNOb4kgT7aXCuiTPdTs3xHb8bK4X1I+mh9/3hjf81gfeVBL5u+XKltd4YXr
EtLr9zR7\nOJjO90ymxWtrk+sJ0jdkP9mXLVue+u+2Zug5h7oYrL+/f+i/rQ4IM59CXsZktMHd0a8+vd
cLA7Dd\nDm/2wkBmzsOc+iQAOxz+SwzA5EKrTPy+zuHq+Jrz4nPviKHV6IV5+yePEt4NMYCXpx7b6iPn
5HfG\n90pm+xQvjFZqDZ6m2MZkwbdWL8y9T19H0BzbcHLqb0sWfjs61f7iA0hdbFO/Dz/gHONwU2p7Q3
yt\ns7xw8JztdXVN3tBwisMN8T3vTYX9XM/lWv22224ftopnJtMcLzILYwa1tWFdI5m5FPIyZqMN7BUf
\nAN7znqs9m23xQq+434cvlbAlBl9v6qCQDNqmlzHIeejJJtMrZ/nwnvCWGPRJyCUDm8k8/2TgtMHD\n
ASeZ5jmvRGA3xOc1eaFnnVxR2+yFs4n0sguZUf6+H8a2puf4pwddk7OUGh99QbZkmYaO+FobY7uT\nv3
d+DOs1XvqCthu8cOaU/iwy8XnJbKZc/Fy2eDj7ai5qawj7VavueNF/A6Ue00BwZVDIy6Qo9T/4\nbbfd
HqdnLvBSpY6GhgWey82K5YbinvV8L6xU+TkPdfmtDjfHwOr0wplAp8PlMdCO8sIZQNLTnR2D\ndJYXDi
RJTT4J3Lr4dawPL7Gc4IUrbd0LZamFMXTdS0/dPDNuT+r8pc4y8h7OStxDmSq9DlDWh08t\nbYzbWote
oyUeCIo/u+JppytTf2/xBWyt8bNZ8KJtfdObLvP6+llDF4GlSz6FqbhneF1do7/2tZdq\njf8KoZCXKZ
XUd0uVdJYtW+79/f2+evUaL12T3uKFHnvyeH8MpeIyxpYYgqUOGIs9HCiKt5/hYT58\nRwy+bPxK3jfp
kT/oI3vaYcG00XvyyUVYLV4YL+gsev9FMbyTnnxyAEr+3nQ7cvFrQdFrJNcRFNf5\n7/XCgbVUaLf68D
OeRg8H0GYPpaAzS7xPchZQWNs/m23yVavuSF0k1+qFA9XINf6nunevs4eRFPIy\nLQpBvsiTunE+P2do
cG/Vqju8MJg6x8Ndp4pLDUlPN+uhlPIyL9S1W2KIdowSaElPPr19dnwsXduu\n8eErbq6ModaY2p6Uku
Z6YSG3ZA590v41MZA3eeHCrlLLNnT4yGsPkt741lRIJ8s6FP9tLV44kCTh\ner0PLxOVGoM42cOBJ/1Z
JBeolbpRzCwvjLUkf19D/HvzbnZUic+3cI1CS0vn0Jldce9+soK5cCOZ\nMz2Xaxm6R8KRHvoKeZkWW7
du9ebmpIRRmAHS2Hjq0P/wq1ev8VyuxZuazvB8fo6vXr1m2CyPBx98\n0Gtr6z3UzNd46HWeEA8AzZ7c
InBk7TwJ50Yv1NmToN5YFHzdMcjSV+SmxxaSi6aO85HTNevjc9Nn\nGF9OvVcy66ZwoAu/f9pL36Ix6c
mnp3am1/5JxgWK25E+s0kWlSs1BlFYtiK06dhU8C/14QfZJg8H\n000ezoDSZaOVXnqF0cIFa/n8nHgr
ykIbcrlZQ2cB6WA+HIUJAMMXn6urazziS0YKeZkWpWfhzB4K\nxLGezifHTl5mAAAKYUlEQVSrQo4cbG
yNAZ3UopOZOG1eGNhNBkKXe2EOf6kSS7pmXecjZ768zEPv\nfM2wQIGX+/AeddL7Tergt3votbfEoJwT
g/NeH3kdwLu8cP/d4iWct3hh7fzu2J7is4BkoHqWhwNS\nMoidHPiyJUI/WT7aPZz5FI9t5D0ctNLTSQ

+1wmjHUP2+eCG98FlnPIyPFD7Hwwn6Qiei1Fnc8H9j\n06VSziIU8jJt0uvkhFAp9KLHunKme1g9s7Fx
ZPmhsXGBZzJNXlfX6PX1J3o22+TLli337u7ukvP8\nL7vsLV5b2+TZ7ELP5Wb56tVrhtaWb2np9EymOa
5CWWr2SnqMYJ0XetTJmUWdjxwknePDB3+3pAL3\nFC8MMif18GSQd56HMlI+7peUZDo99KxLhWtygBm+
vbY271dddXUM6vRqo0mdPTnwrvPSJaQmDwfJ\npFeeLgUNP8swqx8anC3cVD45aCRnMSNnOuVys8YdjP
39/fEG8KXGY7aO+9/YRI3lHg/TRSEv0yoZ\niC0+dR9PL2u0BdSSss5Y1uJ5sXrwyMHiwtTH+vrZcX36
6zxdEspk2jybbfKLLrrYM5nGGPbFPdfO\n+Lykd9/q2ezxfsUVV8S56S82iNsWg/nDXph6mgRyEpjJAe
BdPtrFW8uXL483i0luwnKCDy/bnByD\nd5YXl5AymRbP5VriAbDJ6+qafWQpaItDzq+66uoRn38mk9yY
PX2QHDle0Ny8+LDCuPQA/sizxak2\nkZVhp4JCXspiIitnHu7zx3P6PHIph35vbFzgmzZtGnrvhobTh+
4ulX7d3t7eeJ3AaDNylnrogW8Z\nsfxAEqDZbOvQ37Zq1R2xl5qUNdIll6S+/0aHjDc0LPRsttXNSq/c
2d3dPfT5hdccfpaSybR4Ntvk\nDQ2nj2hH+raRycH0tttu97q6wqB0JjOyrj4y9NJnCSNn/kwkEMO4zi
xvbl7s2WyrZzJNh/1v7HBN\n5B4PU6FiQh54PWHFqZ8CN5V4fCo/BymDidYsp7Lmeaje2FjGDmprGzw9
U+cd77h86OrSUsFTHKCl\nlipuajpj6MCybNnyEQPVyXN6e3tTQR96+DU19SPOWJIZLy8W5If6jA+1DE
KpA+bwg0s4E2lqOmtS\nwni87Z9s6smXDvga4GdAO2GZv0eAhUX7TO0nIVJkomcb/f393t3d7Xfffbf3
9vYO2344wTNaaenF\nbuCey7V4ff2Jnsu1jNr+6Zi7Xhx6tbWNns22enPz4hEHqGow0X87k2msIT+lSw
2b2XnACnd/Q/x9\nWWzYytQ+PpVtECllpi/TWyntT5ZCzmTaGRzcydq193Dxxa+piLZNlUr57Me61PBU
h/zbgNe5+5/F\n3/8EONfdr0/to5AXmcEqJfSONGMN+brpaMyh3HLLLUM/d3V10dXVVba2iMj4tLW1Kd
ynQU9PDz09\nPeN+3nSUa25x99fH31WuERGZBGPtyddMcTu2AfPNrN3MssAVwFen+D1FRCSa0nKNux8w
s+uABwgH\nlLXuvuMQTxMRkUmiG3mLiMxAlVKuERGRMlLIi4hUMYW8iEgVU8iLiFQxhbyISBVTyIuIVD
GFvIhI\nFVPIi4hUMYW8iEgVU8iLiFQxhbyISBVTyIuIVDGFvIhIFVPIi4hUMYW8iEgVU8iLiFQxhbyI
SBVT\nyIuIVDGFvIhIFVPIi4hUMYW8iEgVU8iLiFQxhbyISBVTyIuIVDGFvIhIFVPIi4hUMYW8iEgVU8
iL\niFQxhbyISBVTyIuIVDGFvIhIFVPIi4hUMYW8iEgVU8iLiFQxhbyISBWbUMib2Qoz22VmD8ev16ce
\nu9nMHjezHWb22ok3VURExmsyevJ/4+5L4tc3AMzsNOCdwGnAG4B7zMwm4b2mTU9PT7mbMILaNDZq\n
09hVYrvUpsk1GSFfKrwvAza6+wvu3gc8Dpw7Ce81bSrxP6raNDZq09hVYrvUpsk1GSF/nZk9Ymaf\nMb
PWuO144InUPk/GbSIiMo0OGfJm9k0zezT19W/x+x8B9wAnufti4GngjqlusIiIjJ25++S8kFk7\n8DV3
X2RmywB395XxsW8AK9z9ByWeNzkNEBE5wrj7Icc66ybyBmZ2jLs/HX99K/Cj+PNXgXVmdieh\nTDMf2H
q4jRQRkcMzoZAHPmFmi4GDQB/wXgB37zWzLwC9wCBwrU/WKYOIiIzZpJVrRESk8lTEFa9m\n9nYz+5GZ
HTCzJWVuy+vN7DEz+6mZ3VTOtiTMbK2ZPWNmj5a7LQBmNtfMvmVmP44D8deXu00AZpYz\nsx+Y2fbYrh
XlblPCzGriBYNfLXdbAMysz8x+GD+rkqXU6WZmrWb29/ECyh+b2csroE0L4mf0cPz+\nXCX8ezezG2Nm
Pmpm68wsO+q+ldCTN7NTCSWf+4APuvvDZWpHDfBT4CLgl8A24Ap3f6wc7Um16wJg\nD/B5d19UzrbE9h
wDHOPuj5hZE/AQcFm5PycAM2tw99+bWS3wr8D17l72EDOzG4GzgRZ3f1MFtOfn\nwNnu/my525Iws88B
33b3z5pZHdDg7r8rc7OGxHzYBbzc3Z841P5T2I7jgAeBhe6+38y6gf/r7p8v\ntX9F9OTd/Sfu/jilL6
yaTucCj7v7TncfBDYSLuwqK3d/EKiY/xnd/Wl3fyT+vAfYQYVcB+Huv48/\n5ghjTmXvxZjZXOBS4DPl
bkuKUSH//wOYWQvwB+7+WYB4IWXFBHx0MfDv5Qz4lFqgMTkYEjqlJVXM\nf+QKUXwR1y4qJLwqlZl1AI
uBEdNjyyGWRbYTrtv4prtvK3ebgDuBv6QCDjgpDnzTzLaZ2dXlbgww\nD/iVmX02lkbWmFm+3I0qcjmw
odyNcPdfEq5J+gXhQtPfuvvm0faftpA/xEVVMgPFUs0XgRtij77s\n3P2gu3cCc4GXm9np5WyPmf0h8E
w88zHKf7aaON/dlxDOMP5HLAmWUx2wBPhUbNfvgWXlbVKBmWWA\nNwF/XwFtmUWoMLQDxwFNZvau0faf
6BTKMXP3S6brvSbgSeDE1O9z4zYpEk8Tvwj8nbt/pdztKebu\nvzOzLcDrCVN5y+V84E1mdimQB5rN7P
Pu/t/K2Cbc/an4fcDMvkwoVT5YxibtAp5w9/8Xf/8iUBET\nH6I3AA+5+0C5G0IoG/3c3X8DYGb/ALwS
WF9q50os15Szp7MNmG9m7XG0+grChV2VoJJ6gQB/C/S6\n+13lbkjCzF6arJ8UT/UvAco6GOzuy939RH
c/ifDv6VvlDngza4hnYZhZI/BaChcyloW7PwM8YWYL\n4qaLKO/BudiVVECpJvoFcJ6Z1cfVfS8ijIuV
VBEhb2ZvNrMngPOAfzSzfypHO9z9AHAd8ADwY8JK\nmqN+eNPFzNYD3wUWmNkvzOzdZW7P+cAfA69JTS
97/aGeNw2OBbaY2SOEMYJN7v71MrepEh0NPBjH\nLr5PWI7kgTK3CeB6wpXyjwBnAR8tc3uAcFAk9J7/
odxtAYizxb4IbAd+SOj8rRlt/4qYQikiIlOj\nInryIiIyNRTyIiJVTCEvIlLFFPIiIlVMIS8iUsUU8i
IiVUwhLyJSxRTyIiJV7P8DBk+JdxmN4XIA\nAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x6c3ae10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"from pylab import *\n",
"\n",
"np.random.seed(2)\n",
"pageSpeeds = np.random.normal(3.0, 1.0, 1000)\n",
"purchaseAmount = np.random.normal(50.0, 10.0, 1000) / pageSpeeds\n",
"\n",

"scatter(pageSpeeds, purchaseAmount)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"numpy has a handy polyfit function we can use, to let us construct an nth-d
egree polynomial model of our data that minimizes squared error. Let's try it wi
th a 4th degree polynomial:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"x = np.array(pageSpeeds)\n",
"y = np.array(purchaseAmount)\n",
"\n",
"p4 = np.poly1d(np.polyfit(x, y, 1))\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We'll visualize our original scatter plot, together with a plot of our pred
icted values using the polynomial for page speed times ranging from 0-7 seconds:
"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAEACAYAAABWLgY0AAAABHNCSVQICAgI
fAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt8XWWd7/HPL8m+5doWwrU0KS2lKJ
SmSNujKEEuwzAq\n6qiAM3NmtOCF4SKiUjrHUxBxqJVhYEYoHXoUfRVaRsZxnFGL1UZFaVOhpWgKFiWl
5dJExNpC26Tt\n7/yx1speO9mhSZtk7+x+36/XfiVZ+/bsTfmuZ/2eZz3L3B0RESlNZYVugIiIDB+FvI
hICVPIi4iU\nMIW8iEgJU8iLiJQwhbyISAkbcMib2Xgz+7GZ/drMnjKza8LtY83sETN7xsxWmFld7Dk3
mtkmM9to\nZhcMxwcQEZH+2UDnyZvZMcAx7r7ezKqBx4GLgY8Ar7j7l83sBmCsu881szcBS4EzgfHASu
Ak18R8\nEZERM+CevLu/7O7rw993AhsJwvti4P7wYfcD7w1/fw+wzN33uns7sAmYOUTtFhGRATiomryZ
NQLT\ngdXA0e6+DYIdAXBU+LDjgS2xp70QbhMRkREy6JAPSzXfAq4Ne/S9yy8qx4iIFImKwTzYzCoIAv
6b\n7v6dcPM2Mzva3beFdfuOcPsLwAmxp48Pt/V+Te0UREQOgrvbgR4z2J78/wPa3P3O2Lb/Av4u/P1v
\nge/Etl9qZkkzmwhMBlr7aWjR3ebPn1/wNqhNatPh2C61aWC3gRpwT97M3gb8FfCUma0jKMvMAxYA\n
D5nZR4HNwIfC4G4zs4eANqAbuNIH0zIRETlkAw55d/85UN7P3ef185x/BP7xINolIiJDQGe89qO5\nub
nQTehDbRoYtWngirFdatPQGvDJUMPWADNVcUREBsnM8GEYeBURkVFEIS8iUsIU8iIiJUwhLyJS\nwhTy
IiIlTCEvIlLCFPIiIiVMIS8iUsIU8iIiJUwhLyJSwhTyIiIlTCEvIlLCFPIiIiVMIS8iUsIU\n8iIiJU
whLyJSwhTyIiIlTCEvIlLCFPIiIiVMIS8iUsIU8iIiJUwhLyJSwhTyIiIlTCEvIlLCFPIi\nIiVMIS8i
UsIU8iIiJUwhLyJSwhTyIiIlTCE/BDo7O1m7di2dnZ2FboqISA6F/CF68MHlNDRM5fzz\nP0FDw1QefH
B5oZskItLD3L2wDTDzQrfhYHV2dtLQMJVdu1YB04ANZDLnsHnz09TX1xe6eSJSwswM\nd7cDPU49+UPQ

3t5OMtlIEPAA00gkGmhvby9co0REYhTyh6CxsZGurnZgQ7hlA93dm2lsbCxco0RE\nYgYc8ma2xMy2md
mG2Lb5ZrbVzJ4IbxfG7rvRzDaZ2UYzu2CoG14M6uvrWbLkbjKZc6itnUEmcw5L\nltytUo2IFI0B1+TN
7CxgJ/ANd58WbpsP7HD3f+r12FOAB4AzgfHASuCkfMX30VyTj3R2dtLe3k5j\nY6MCXkRGxEBr8hUDfU
F3f9TMGvK9V55tFwPL3H0v0G5mm4CZwJqBvt9oUl9fr3AXkaI0FDX5q8xs\nvZndZ2Z14bbjgS2xx7wQ
bhMRkRE04J58P+4GvuDubmZfBG4HLh/si9x00009vzc3N9Pc3HyIzRIR\nKS0tLS20tLQM+nmDmicflm
u+G9Xk+7vPzOYC7u4Lwvt+AMx39z7lmlKoyYuIjLThmidvxGrwZnZM\n7L73A78Kf/8v4FIzS5rZRGAy
0DrI9xIRkUM04HKNmT0ANANHmNnzwHzgHDObDuwH2oGPA7h7m5k9\nBLQB3cCV6q6LiIw8LWsgIjIKaV
kDERFRyIuIlDKFvIhICVPIi4iUMIW8iEgJU8iLiJQwhbyISAlT\nyIuIlDCFvIhICVPIi4iUMIW8iEgJ
U8iLiJQwhbyISAlTyIuIlDCF/DDp7Oxk7dq1dHZ2FropInIY\nU8gPgwcfXE5Dw1TOP/8TNDRM5cEHlx
e6SSJymNJFQ4ZYZ2cnDQ1T2bVrFTAN2EAmcw6bNz9NfX19\noZsnIiVCFw0pkPb2dpLJRoKAB5hGItFA
e3t74RolIocthfwQa2xspKurHdgQbtlAd/dmGhsbC9co\nETlsKeSHWH19PUuW3E0y+Q5gMvC/2Lu3i5
Urf1zoponIYUg1+WHQ2dnJhAlT2L37q8D5wEuqy4vI\nkFJNvoDa29tJpU4EPgzUo7q8iBSKQn4Y5KvL
d3U9x6uvvqp58yIyohTywyCqy2cy51BbO4NE4iz2\n7dvP+9//Oc2bF5ERpZr8MOrs7GTdunW8610fpL
v7Z0Tz5pPJd7B16ybV50XkoKkmXwSiEO/uPor4\nvPmuriNZt25dwdolIocPhfyIeJF4fR5eKmBbRORw
onLNMOvs7OT440+kuzsBNALtJBLdvPDC71Su\nEZGDpnJNkaivr+f+++8jnXaqql4jnXbuv/8+BbyIjA
j15EdIZ2cn7e3tNDY2KuBF5JANtCevkBcR\nGYVUrilCupCIiIw0hfwI0YVERKQQVK4ZAbqQiIgMNZVr
ioguJCIihTLgkDezJWa2zcw2xLaNNbNH\nzOwZM1thZnWx+240s01mttHMLhjqho8mupCIiBTKYHryXw
P+rNe2ucBKdz8Z+DFwI4CZvQn4EHAK\n8OfA3WZ2wMOKUtV7wbJM5hyWLLlbpRoRGXaDqsmbWQPwXXef
Fv79NHC2u28zs2OAFnefamZzAXf3\nBeHjvg/c5O5r8rxmydfkI5orLyJDZaA1+YpDfJ+j3H0bgLu/bG
ZHhduPBx6LPe6FcNthrb6+XuEu\nIiNqqAdeD48uuYjIKHGoPfltZnZ0rFzTEW5/ATgh9rjx4ba8brrp
pp7fm5ubaW5uPsRmiYiUlpaW\nFlpaWgb9vMHW5BsJavKnhX8vAP7g7gvM7AZgrLvPDQdelwKzCMo0Pw
ROyld8P5xq8iIiQ2XIa/Jm\n9gDQDBxhZs8D84HbgH83s48Cmwlm1ODubWb2ENAGdANXKslFREaezngV
ERmFdMariIgo5IeTVp0U\nkUJTyA8TrTopIsVANflhoFUnRWS4qSZfQFp1UkSKhUJ+GGjVSREpFgr5Ya
BVJ0WkWKgmP4y06qSI\nDJeB1uQV8iIio5AGXkVERCEvIlLKFPIiIiVMIS8iUsIU8iIiJUwhLyJSwhTy
IiIlTCFfAFqCWERG\nikJ+hGkJYhEZSTrjdQQNdAliLYcgIgeiM16L0IGWIO7s7OSLX/wSEyZMUU9fRI
aEevIjqLOzkwkT\nprB791eB84GXenryK1f+mDlzrmTXrnHAK8A9wCm62IiI5KWefBFaufLH7N/vwHyg
kUTibSxZcjdA\nGPCrgE1AC3AlcCwVFRP43ve+p0FaETkoCvkR0tnZyZw5V9LV9VOCIH+Miook5533zr
xlHGgAfsiO\nHc9w9dW3q3QjIgdFIT9C3qgen+9KUvAMMAeYw44dP2LXrlXMmXOlevQiMigK+RHS3yUB
q6uraW9v\n5447bsu5ktS5574NMOAXwFRgo64TKyKDVlHoBhwuoksCzplzDolEA93dm5kz528444yzSC
aDHcAd\nd9zGjBnTqa6u5owzzgJWE021hGa6ulzXiRWRQVHIj6DLLrukpwYfBfmuXavYtSsI8uuuC2bS
tLe3\nU1FxPLAH6CQI+nH8wz98VLNsRGRQVK4ZYfX19Zx55pns3Lmz3xr9E0+sZ8eOZ4ErCEo1XyaTeZ
WP\nf/yKQjVbREYp9eQLJLdGH/Tkoxr9ddfNJbdUM5s77rhTvXgRGTT15AskqtHHB1uXLLk7bw+/unoK
\nM2ZMP6j30WJoIoc39eQLpLOzk8mTT+Txxx9ly5YtADQ1NQH06eHv3PkbnnhiPWeeeeag3uPBB5cz\n
Z86VPQO7S5bczWWXXTKkn0NEipuWNSiAePju2vVb3PdRWTmlJ4j/9Kc/8YlPXAucBGwFbiCTWTCo\n5Q
0GuhiaiIxOWtagSEVnvu7atYrt2x+nq+undHcn2L79Bz0nPE2c2EBNzWTgPuBR4Bx27arl3nv/\nbcDv
c6DF0ETk8KCQH2H5lzBoBNqJghhg794XgFXAWQSzbLZx881fGnBtvb+TrzTPXuTwopAfYfmX\nMGgnCP
ogiJuamrj22k8ANxEE/XpgNXv3OuvWrcv7uvkGWOfNu550+uycgV2VakQOLwr5EdZ7Vk0y\n+Q4SiW5q
a/8sJ4jPOeds4Hhye/zH5n3N3lebuvrqT9HQMJWvfOVhzMr47Gc/wObNT2vQVeQwNCQD\nr2bWDmwH9g
Pd7j7TzMYCywmWU2wHPuTu2/M897AbeIXcqz8Bfa4E1dnZyfjxJ4WrVgYDp8nkO9i6\ndVOfq0jlDrC2
ABcRn2evAVeR0jPQgdehmkK5H2h291dj2+YCK939y2Z2A3BjuE0IevTx0M13+b+7\n7lrIddedg9nx7N
u3hTvvXNgnqKMaf7A0AkAVcAL5BlwV8iKHn6Eq11ie17oYuD/8/X7gvUP0XiUr\nfvm/c8+dw7XXfob3
ve8i9u3bTDJ5AtddN7fPmvJ9a/yvAVvQgKuIAODuh3wDfgc8AawFLg+3vdrr\nMX/o57ku7g88sMwzmX
EOkx1qHaodpjlkHBY4uMOTnsmM846OjrzPramZ7qnUGP/oR6/wTGac19Y2\neSYzzh94YJm7u3d0dHhr
a2uf54vI6BNm54HzeSAPOuCLwLHhz3pgHfD23qEOvNLPc4f3mxgFOjo6\nwoB/sifMYaxDR/j7uPB399
raJl+xYkWfsF60aLGnUrVeU3OaZzLjfNGixTmPiXYEdXUzcoJfREan\ngYb8kJ/xambzgZ3A5QR1+m1m
dgywyt1PyfN4nz9/fs/fzc3NNDc3D2mbit3atWs5//xPsH3747Gt\nM4B7gTOB0wlOjEpRUfFWysrKqK
iYgPtLLFlyN+ed9868Z7c+/vij7Ny5M2dZ4+j+VOps1q37Baec\n0uc/iYgUoZaWFlpaWnr+vvnmmwc0
8HrIIW9mlUCZu+80syrgEeBm4FyC3vyCcOB1rLv3GXgtytk1\nu3ZBJjNib5dvCQJoJrgE4EvAbIKDpJ
cIxsqnENTdbyCZ/BLf/e5DfOhDN+bsJFKpBty3k0qdSFfX\nc5SVjWXXrt/F3nUKqdQ2vva1xZpaKTIK
jeSyBkcDj5rZOoJ5e99190eABcD5ZvYMQeDfNgTvNfz2\n7oXx4+G00+Dyy+G+++BXv4J9+4btLXvPnU
8k3k4wgHouQcBfBPwRSBB8xesJTpJaQFfXWP74xz/2\nGnz9v+zZ00lX10/ZseMJ9uz5Cbt2vUwwvZLw
ca+wZ893dN1YkRKnBcry6e6GDRtg9ergtmYNbNsG\nb3kLzJoFs2cHP48+ekjfNpo6+eqrr/KBD3yGHT
uuJ9hXbgP+BbgdiJd0JgObueuufyKZTPOpT32O\nsrJxvP76FoLTEzb1PDKdPpV9+zbT3X0s8ApwN3AJ
tbUzWLny3kGvcCkihTXQnrxCfqBeeQVaW7PB\n39oKY8ZkA3/2bGhqglTqoN8iCvlsDf1hgpmoJwD/BF
xG0IOPSjpvB7qorp7Knj2/BYyysiPYs+dl\nIE3Qc8/W4H/0o//m3HMvYs+e7xCUg3SilMhoNdCQH5LZ
NYdyY7TOrtm3z33jRvevf939k590b2py\nr6x0nznT/eqr3ZcudX/2Wff9+wf0cr1nv1x11TWeyYzzsr
JxDimHN4fTKmsdJoWzb6rD2Tcd4d9P\nOqwIp2EuC2flNDlU+ty5N7p7dhZOdfWpmmUjMopRqNk1gzVq
evID8frr8Pjj2RLP6tWwZ09uiWfm\nTKiry3laf2u/f+5z13LzzbcRH2iF+cBfAR8CPkdQn18LfIKglN
NJsA79TwnWuvkhMIdFi+6itraW\nOXOupKKiga6u57jzzi/nXDc2fiSxc+fOnGUWRKS4qFxTLLZuzQb+
mjXwxBMwYUIQ+uFt7euvc/6F\nf58zO6ampondu5+lu/vnZMsz55BMHonZy5gdx+7dmwkGYo8FTiZbnv

m/wFeIX3Qknf5HwNi9u4Xe\na9oA3Hvvv/GlL93O/v117NnzMun0JMxe1NWkRIqUQr5YdXfDU0/lBP/+
rVv52a49PLb/b1jNe1hD\nDa+mPkBFxXhee+2p2JNPB55h/vx5fPGLC9i3bx9QThDwT4ePOR7YQiIxge
7upQRLGNcD4wnq9M/2\nvFpt7Qw++9kPcOutC9m9uwv4H+Avidf9M5lz+M//fJCmpib16kWKiEJ+NHn1
VVYtWMijt/8zs0hw\nxt4dJMeN5ZHtO/n5vqtZw/t4ggS7aQY+QzJ5J11dewlC+X0EwbwU+D7BAmUvAB
8mvhIlvAPoytmW\nTjcDzu7dXyXo+d8GXAP8jGDHADCZqqoK9u/vZN6863vKO/lWzey9TUSGj0J+FOoJ
yoYG6rdv57E7\n/pn1997HmfuNU9jDRhpYzbtYn3yYn3QleZZ2gjNhrwamEtTnA4lEA93dvyfo5W8mmD
I5l2C+/Xhg\nE3/xF+fz05++wI4dK4CJBPPwjySo638OeCvBunKPEaxWMYfycjCrIJk8kX37nufOO7/c
U+vXBcNF\nRo5CvkRs3LiRpqbZ2J6HmEE1s/kP3lr2L5y5fy9V1LKGN7OaTaxmN618j+2cBWygvPyt7N
vXBdxF\n0NN/iWDa5KeAhQTnsL0E7AVWAO8mWEbhNYIB3nHAiwRBvw4YEz7+OOAPwD3AKcBsKirK2Lv3
F2j9\nepGRo5AvIQ8+uJw5c64Me+ebWbLkbgDm/d3HmN6VYjavMpsTmMFzbCXFGrpZTTlrOIGneJF9HA
H8\nHnCCGn68jHMWsJugFz+JoGYfv3828AAwh9w5+ucQjAOcR7D8whaiEk9NTRM/+tFinWAlMoxGclkD
\nGWaXXXYJmzc/zcqV9+Zcxu9F4D/JMJcUzfyBsbyZy9jHGkswk4tYSopX2c9PeIkFVPJ+4DjGkHtJ\n
wSMI1sN5DFhCMF0zfv/xBBf9auy1vYFgeuYWYCzwcHjfBnbseIYnnsiWjkSkcNSTH4Vy59VHc+E/\nCS
ygrOxT7N9/AsGSBp3UMYUzuY3ZdDCLHzKLn7GHI1nN2axhAqv5Vx5nPLv4HUEtfiq5PfbZBKWZ\nT/fa
/r8IjgyAniOFowgWIL2BTGZB3pKNBmhFhsZIX/5PRlD2kn8bCcomJxDU1q9l//4ygrVpNgB7\n2E4DK/
k4KwH4PDCZE9nGbH7JbP6bDwKn8hxPM4XVnBfeZrKJ4wlq8NUEO5AUQeBPBF4mWGLhmwSz\neY4iqOV3
AtcBjZSXH9fnkoNR2SkaoP3CF/6B+vojmDlzZr9LHmunIHKIBnJa7HDeGK3LGhRQR0eH\np9NjwiUO4h
cayYTLH0RLGpwabuv9mG87tDp83iHjKU702ST9U9T4Msr9OTL+Cvj3qPb5pP1CPuJj\nqXE4MlxK4dTw
Z2We124Mtyd9/vybe9rc1tbmqVStw6pwGYY/c0g7THHI+FVXXZPz+VpbW33RosW6\n0IlIP9CyBqXtxh
v/gdtuW0785KZgVcptwM+Jyjjl5ZeTTGYoKxvPa689S9DjryDofW+j71z6I4FX\nOJqHmcUOZvFdZnM/
b2EfL+GsoZo1dLGad7KB37CX38beP3txk2jxtDlz/ppzzz2Pj3zkE+zZcxTB\n0YERDNLmztJpa3uc9e
s39Cy9sGPH08BNBNM5NWtHJE4LlJW4FStW5OlJVzrMCXvxwfVhFy1a7B0d\nHb58+fKw5xwtaPaFcKEz
j92mO1SFz41vn+ZlVPip1PjlTPB/I+kbwHeA/4zp/hU+7R9goY+nzuEH\n4etPcpjgUO7l5VUOSx3aYg
upRW2OLm14kt911115LoMY3d/hmUyDX3/99d7W1lbor1+k4BjJa7we\nyk0hf3A6Ojo8kagOQ7PJYayX
l1d6Oj3Gq6tP9VSq1hcuvL3nOq+33HJruDplFNwdeXYS4xw+nafE\nk86zrdJrKPdzSPqNjPP/pMy3gb
9Awh8m4Z+l3N9OuVdSEb7PaeEO5JReO5CmcAeQ8eXLl3td3Yw+\nOxiY58FKnBmHk/ot7+gC5XI4UciX
iDcKsAceWObp9Bivqpri6fQYf+CBZTn17OC+kz2VqvVEoiZP\nLzoZBvCkWD29ziER/j05/DkzT69/Un
h/2uH9YYCv94n81i/lNv9nyv0xzHeCP8Fxfg8p/1vG+1RS\nbvwfD8YEVoXvn/Zp06b3c0HzTBjwfev/
bW1tOUs0p9Nj/JZbbs35rrQDkFKlkC8BvdeYzzfwmC/E\ngl5+FOozwuA+xnuvMQ/vC0P6Kg8GcaPQXh
yWVuodjuinJz82PBpYEIbwSb12Aqc6VHqSRp9JrV/N\n53wpl/lvOd7/AL6CjN9MhV9E2o+g0iHlM2fO
8ne842wvL68OdyKV4Y5oafg52hy+Hv48yW+99dZw\np/BthyvDzzmx5yjmlltu7dnRRTvBA313IqOFQn
6Uy9erzWTGDSiQ8tfrM56d2bI0DO5GN0t7WVl1\n2ItPeTDjJh7kKxymxnr3UfguDl9rXPi6+Xrg3w53
Hqfn7ADqeZO/i9v9Fq7wRzD/I/gmEv5Nyv0q\nyvwtVHiCfwnf+/Qw1JNhG44L217uZWUZh5rw78pwhz
MufE7GoSK2oxvriUR1z/eXPQrK3QEo+GW0\nUMiPcq2trX3q07W1Td7a2nrA5wYhP9l7l1eSyRrPXlVq
scNST6fHeFtbm8+dO8/Lyio9W74ZG/b8\nV3m2Hn5C+HtU1vmkZwdpo6OEyR5Mr5wY7gTm5TkKyA6mQq
UbP/JTWOYf4bN+L+W+noTvBP85DX47\nCf8gaZ9AfRjmk8MdR8KDElF0JHJaPzuaVbG/K/3WW2/1tra2
Xkc6Y72sLO0XXfQuT6XqNGVTRgWF\n/Ch3KD35jo4OTybrcp6bTNb58uXLvarq5DBcszuOFStWhO+1wG
GMB6WdtJtFveYoLKP2LAsD8oSw\nh31P2Nu+x7N1/lS4Izg5tpOYFv5cEL7/Uodjw9edEf481qHKq5nq
zST8BhL+bd7mL2H+Ikf6t7nY\nb+Aabybp1UwI36PKs0cMHR7U+9scjndYnrOjg3GxnVn0/Xzas0cJNe
EOcHDft3r/MtIU8iUgqsnX\n1jYNumcZPbeqalrPc/vbcSxfvtwrKyf16gl/OwzkpWE4t4ZBHJVoFoSB
WBnuFKJSTibcMaRzespB\n6aTKg2mV0WOj8O/d+35T+B5XhY9rdWjyCbT7h1jmt3Od/5xK30nan+Qkv5
dy/yiz/U0k3BjjcGKv\n9rwv/DxJD8YZkg5HhTuAi8K2Hhdur/VoXKK6+lS/6667fMWKFT0B3jvQ8w38
trW1KfRl2CnkS8Sh\n9BLzPbf3juOqq64Ng3+855Z4Wj04G7V33X2pB6WRMWF4x3v48aDOF96rwr9XhY
Hf5H1n7UQ7lKis\n0/sownvuS7DVz2CtX8WR/k3MN4H/kUr/IeX+RS73d/FNr+fuMLQrPHdMIRFuS3lQ
XsqE30E6DPty\nz84wqnSzpE+ZMsWTyWqvq5vhqVStX3LJJeE01vjRTTAjKZlsGLKSj44UJJ+BhrzOeD
0MxS/YfcYZ\nZ8UWOotfJ7YFuIjgjNiNwMeADMGKlA5MAGqARWQvIh45leDiJFtj204iWLI4Wn74NIKl
ipMEK2D2\nXsK4nuAM2jaCZZBTwB6CVTFfILgi1tLwOTPD1zmWI3iRmVQymzczi58xC+cP7Gc1Zazmet
bwftZT\nThdnA/sIzr6tCN9jIvAcwTo8EFwgPb5Q2zEE6/bUhd9D1Ja/BP4b+Emvz/EwFRXvoaXl+yST
yZ4L\npMcvlA684cXTe6/3E78gi9b1ObzpjFc5oL6Du8scKr2y8jTPZMZ5WVlUcmnyoPZd7sFga3msHJ
O/\nl509uzZfT/7JsCwyIexFj/XgbNt4vT56zpGeLeus8uz8+oxn1+aJHzV8PtYDH+vGA34KC/zvqPdF
\nfMzXcbrvpNIfo9LvYLZfSp03knZYH3vfaOpmNDjc6sFJXF8Pb6lenyXlfQe6m8LnBaWs8vKTHTKe\n
SBztkPFUaqqXlaW9oqLaU6k3O2Q8k5mYM9c/WO9njOcblznQ+QFS+lC5Rg4kX40+nR7jK1as8BUr\nVo
Q7gCjkgqUHgmmN1WGwRYOsR3tuLX2BB+WYqDwyxuGaMMyjOvnxsVAfE4ZkNE0zKgdd79lxgd5n\nwk73
YGmGas/O8IlKS713OG0eH2it4jF/BzX+Wa73hynzFyj3bdT7d3i3z+OL/k6O9RqOdPhg2I43\nh583Kh
9NDn9fFr7nsd53pxbN389XtrrUs+clRLOYnvRgjKPOYbInErVeXp7xYHwh+v7dYZLPnTsv\n9t9tcc9z
DnQyWEdHR89/W+0QRj+FvAxIf4O7/Z99eo9nB2CXO7zXswOZKQ/m1EcB2OjwFs9OfUyH\nQZ4Og/uK8D
Unhs+9PQytKs/O25/UT3hXhgE8L3Zfq/eek59dNiGa7ROfHvqkB3X5tI9nhX+Ah3wh\n/9t/SpnvAH+K
hN9HhV9Oxk9lipeR9tzzCGrCNkyKfbbG8DMdHWt/vD2TwvdcGn6u+I7oGIcbYtsr\nw9c63bM7z7FeUV
HtlZUnOVwbvuc9sbAf76lUnd9yy605q3gmEjXhSWbBmEF5ebCukYxeCnkZsP4G\n9nrvAD760Ss8maz1
bK+4w3OXSlgVBl9bbKcQDdrGlzFIedCTjaZXjvHcnvCqMOijkIsGNqN5/tHA\naaUHO5xomudE79tzrg

yfV+3ZnnV0Rm2NZ48msou6QcIr+KU3sdI/Sca/zrv9aab4dqr8R1T4rVzr\n7+YbflRO2+JHKWXe/4Js
0TINjeHnXha2O/q8k8OwXuz5T2i71rNHTvHvIhE+L5rNlAq/l1UeHH3V\n9GprEPYLF97+hv8G8t2nge
DioJCXIZHvf/Bbbrk1nJ45xfOddFVZOcVTqTFhuaF3z3pyGDodHtS3\nJ4Q7gBvDwGry7JFAk8MlYaAd
5dkjgKinOzYM0jGxHUlUk48CtyK8Heu5JZYTwvtP9mypp9WDI5GJ\nnp1hlC0TjeP3fiGNPp/L/ftM81
co898xwR8k6Z/iMz6bX3iK1vB1bw+fd43nrgOU9NyppVXhttzz\nGoKdYGOe7673tNMFsc/b+wS2uvC7
meL9HxFl/D3vudjT6TE9J4HFSz7ZqbinekVFlV9wwUVa479I\nKORlWEW73DGwAAAPGElEQVT13Xwlnb
lz53lHR4cvWrTY89ekV3m2xx7d3xGGUu8yxqowBPPtMKaH\nO4re20/1YD58Yxh8yfAWve+TYfg96n17
2pWeuyRzvp54o0OtG2mfwkL/Gyb4V/mkP06T76TS15Dx\nu6jwD7PAJ1Hr8GPPHTCOtyMV3qb0+gzReQ
S96/z3eHbHmi+06zz3iKfKgx1ojQeloNPyvE90FBCV\nsDKeTFb7woW3x06Sq/Psjio7OB4NBA93715H
D30p5GVEZIN8mkd140xmXM/g3sKFt3t2MHWcw7u8\nb6kh6ukmPSilvNmzde1aD3r0jf0EWtSTj28fG9
4Xr22Xee6KmwvCUKuKbY9KSeM9u5BbNIc+av/i\nMJBXePbEruyOLMNqfxs1fj1j/SEy/jwV3sGR/l3+
wv8PX/DzOM7r+FEspCs9/wyl2vAWPwq4Jvac\n/sYgJnmwo4x/F9EJatF4Qfx9xnh2rCX6fNHS0Bk3Oy
rP9xstSxGcMR0d2fXu3Q9VMEdHEzU1p3kq\nVdtzjYTDPfQV8jIiWltbvabmNO89A6Sq6uSe/+EXLVrs
qVStV1ef6pnMOF+0aHHOLI9HH33Uy8vT\nHtTMF3vQ6zwh3AHUeHSJwL618yicqzxbZ4+Celmv4FseBl
n8jNz42EK0aNtx3ne6Zjp8bvwI49ux\n94pm3WR3dMHf/+ZQ68fxiL+Ph30Bf+ctlPkO0v5rTvElnO0f
40ifxnovZ6ln1/7JeHbnF29H/Mgm\nWlQu3xhEdtmKoE3HxoJ/jufuZKs92Jmu8OAIKF426m+F0ewJa5
nMuPBSlNk2pFJjeo4C4sF8MLIT\nAHIXn6uoqDrsS0YKeRkR+WfhjO0JxIEezkerQvYdbKwLAzqqRUcz
ceo9O7AbzWef59k5/PlKLPGa\ndYX3nfnyZg9654tzAgVmeW6POur9RnXwWz3o/deGQTkuDM57vO95AB
/2Csb6dCb5x6nwr1HubUz0\nP1Htqzjd/5Fyfy9JP4ZFYXvi7Ytq8mPC23GeHcSOdnzJPKEfLR/tHhz5
9B7byHiw04rP9z/QCqON\nPfX7vhd6afRgJ/X5nO/xYII+24nIdxSX+29spBTLUYRCXkZMfJ2cIFSyve
iBrpzpHqyeWVXVt/xQ\nVTXFE4lqr6io8nR6gieT1T537jxfvnx53nn+F1/8Pi8vr/ZkcqqnUmN80aLF
PWvL19Y2eSJRE65C\nmW/2SnyMYKlne9TRkUWF9x0kHee5g7+rYoF7kmcHmaN6eDTIO9GDMlLGx3CiX0
DSP88s/x9q/ffU\n+GbKfDkX+Kf5ir+Vr3uadGwHk9vu8vKMX375FWFQx1cbjers0Y53qfcdLI9WDp3n
2dJMvBQUX2E0\n42bpnsHZ7EXlo51GdBTTd6ZTKjVm0MHY0dERXgA+33hM66D/jR2qgVzjYaQo5GVERQ
OxvQ/dB9PL\n6m8BtaisM5C1eN6oHtx3sDg79TGdHhuuT3+Vx0tCiUS9J5PVfu6553kiURWGfe+ea1P4
vKh3X+fJ\n5PF+6aWXhnPT32gQtz4M5i94durpWIdtPonP+l+R8Luo81bMd1LuazH/V+r8r/mGn8QzDv
sdJvm8\nefNil4SM2hkv20wKg3eMBz3/bDsSiVpPpWrDHWC1V1TUeN9S0CqHlF9++RV9vv9EotazYx3R
c/qO\nF9TUTD+oMM4/gN/3aHG4HcrKsMNBIS8FcSgrZx7s8wdz+Nx3KYcOr6qa4itWrOh578rKN/W5Rq
67\ne1tbW3ieQH8zcuZ4UNte1Wf5gShAk8m6ns+2cOHtYS81KmvESy5Rff9dDgmvrJzqtYlafysJv44K
\nX8YF3s4E/z11/j+U+VMf/KD7D37g/774vvA1c49SEolaTyarvbLyTX3aEb9sZLQzveWWW72iIjso\n
nUj0rav3Db34UULfmT+HEojBuM4Yr6mZ7slknScS1Qf9b+xgHco1HoZD0YQ8cCHBilO/AW7Ic/9w\nfg
9SAIdasxzOmueBemMDGTsoL49fXCXjH/zgJT1nl+YLnt4Bmm+p4vjF1+fOnddnoDp6Tltbm5tl\nL2p+
LGl/vyX8tauvdj/7bPfqau+ePNnXNzX5NYlKP6vqZK9Oj80b5Af6jg+0DEK+HWbuziUo3VRX\nnz4kYT
zY9g819eTzB3wZ8CzQQLDM33pgaq/HDO83IdLLoR5tdHR0+PLly/2uu+7ytra2nO0HEzz9\nlZbe6ALu
qVStp9MTPJWqzW1/d7f7+vXu997rr192mb8+caLvr6x0f/vb3T/zGfdvfct9y5ZBte+N\n2t079MrLqz
yZrPOamul9dlCl4FD/7QylgYb8sC41bGazgfnu/ufh33PDhi2IPcaHsw0i+Yz2ZXoH\n1f7t26G1Fdas
CW6rV0MqBbNmwezZwc8zzoCqqkG3I1oKOZFooLt7M0uW3M15571zVH+3B1Is/3YG\nutTwcIf8XwJ/5u
4fC//+a2Cmu18Te4xCXmQkucNzzwVhv3p1EPxPPQVTp2ZDf/ZsOOkkKCs74MsV\nS+gdbgYa8hUj0ZgD
uemmm3p+b25uprm5uWBtESl5ZnDiicHtwx8Otu3eDevWBYH//e/DTTcFRwAz\nZ2ZDf+ZMOOKIPi9XX1
+vcB8BLS0ttLS0DPp5I1GuucndLwz/VrlGZLTYti3b01+9Gn75SzjmmNwy\nz+mnQyJR6JYeloqlXFMO
PAOcC7wEtAKXufvG2GMU8iKjwb59sHFjbvA/9xxMnx4EfhT+J5wQHC3I\nsCqKkA8bciFwJ8FMmyXufl
uv+xXyIqPVn/4U9PDjwV9enlvbf8tbDmpQV95Y0YT8ARugkBcpHe7Q\n3p4N/DVrYMOGYBA3XuaZOnVA
g7rSP4W8iBSHPXtg/frcKZyvvJId1I1uGrwdFIW8iBSvzs7c0G9t\nhSOPDHr6UW9/+nRIJgvd0qKlkB
eR0WP/fnj66dza/rPPwrRp2eCfPRsmTNCgbkghLyKj244d8Pjj\nuSdtufcd1K2pKXRLC0IhLyKlxR2e
fz63zLN+PUyalDuoe8opwQyfEqeQF5HS19UVzN6Jl3k6OoIe\nfhT6s2bB0UcXuqVDTiEvIoenV14JBn
Ifeyzb6x87NrfM09QULNI2iinkRUQgGNR95pncufu/+Q2c\ndlpumWfixFE1qKuQFxHpz2uvBYO6UfCv
Xg3d3bmhf+aZUFdX6Jb2SyEvIjIYW7fm1vbXrYOGhiD0\nr7gi+FlEFPIiIoeiuztYZ3/16mAgd+bMQr
coh0JeRKSEDTTktUKQiEgJU8iLiJQwhbyISAlTyIuI\nlDCFvIhICVPIi4iUMIW8iEgJU8iLiJQwhbyI
SAlTyIuIlDCFvIhICVPIi4iUMIW8iEgJU8iLiJQw\nhbyISAlTyIuIlDCFvIhICVPIi4iUMIW8iEgJU8
iLiJQwhbyISAlTyIuIlDCFvIhICTukkDez+Wa2\n1cyeCG8Xxu670cw2mdlGM7vg0JsqIiKDNRQ9+X9y
9xnh7QcAZnYK8CHgFODPgbvNzIbgvUZMS0tL\noZvQh9o0MGrTwBVju9SmoTUUIZ8vvC8Glrn7XndvBz
YBM4fgvUZMMf5HVZsGRm0auGJsl9o0tIYi\n5K8ys/Vmdp+Z1YXbjge2xB7zQrhNRERG0AFD3sx+aGYb
Yrenwp/vBu4GTnT36cDLwO3D3WARERk4\nc/eheSGzBuC77j7NzOYC7u4Lwvt+AMx39zV5njc0DRAROc
y4+wHHOisO5Q3M7Bh3fzn88/3Ar8Lf\n/wtYamZ3EJRpJgOtB9tIERE5OIcU8sCXzWw6sB9oBz4O4O5t
ZvYQ0AZ0A1f6UB0yiIjIgA1ZuUZE\nRIpPUZzxamYfMLNfmdk+M5tR4LZcaGZPm9lvzOyGQrYlYmZLzG
ybmW0odFsAzGy8mf3YzH4dDsRf\nU+g2AZhZyszWmNm6sF3zC92miJmVhScM/leh2wJgZu1m9mT4XeUt
pY40M6szs38PT6D8tZnNKoI2\nTQm/oyfCn9uL4d+7mV0XZuYGM1tqZsl+H1sMPXkzO5mg5HMv8Bl3f6
JA7SgDfgOcC7wIrAUudfen\nC9GeWLvOAnYC33D3aYVsS9ieY4Bj3H29mVUDjwMXF/p7AjCzSnd/3czK
gZ8D17h7wUPMzK4DzgBq\n3f09RdCe3wFnuPurhW5LxMy+DvzE3b9mZhVApbv/qcDN6hHmw1ZglrtvOd
Djh7EdxwGPAlPdvcvM\nlgP/4+7fyPf4oujJu/sz7r6J/CdWjaSZwCZ33+zu3cAyghO7CsrdHwWK5n9G

d3/Z3deHv+8ENlIk\n50G4++vhrymCMaeC92LMbDxwEXBfodsSYxTJ//8AZlYLvN3dvwYQnkhZNAEfOg
/4bSEDPqYcqIp2\nhgSd0ryK5j9ykeh9EtdWiiS8ipWZNQLTgT7TYwshLIusIzhv44fuvrbQbQLuAD5L
EexwYhz4oZmt\nNbMrCt0YYCLwezP7WlgaWWxmmUI3qpdLgAcL3Qh3f5HgnKTnCU40/aO7r+zv8SMW8g
c4qUpGobBU\n8y3g2rBHX3Duvt/dm4DxwCwze1Mh22NmfwFsC498jMIfrUbe5u4zCI4w/j4sCRZSBTAD
+GrYrteB\nuYVtUpaZJYD3AP9eBG0ZQ1BhaACOA6rN7MP9Pf5Qp1AOmLufP1LvdQheACbE/h4fbpNews
PEbwHf\ndPfvFLo9vbn7n8xsFXAhwVTeQnkb8B4zuwjIADVm9g13/98FbBPu/lL4s9PMvk1Qqny0gE3a
Cmxx\n91+Gf38LKIqJD6E/Bx53985CN4SgbPQ7d/8DgJn9B/BW4IF8Dy7Gck0hezprgclm1hCOVl9KcG
JX\nMSimXiDA/wPa3P3OQjckYmZHRusnhYf65wMFHQx293nuPsHdTyT49/TjQge8mVWGR2GYWRVwAdkT
\nGQvC3bcBW8xsSrjpXAq7c+7tMoqgVBN6HphtZulwdd9zCcbF8iqKkDez95rZFmA28N9m9v1CtMPd\n
9wFXAY8AvyZYSbPfL2+kmNkDwC+AKWb2vJl9pMDteRvwV8A7Y9PLLjzQ80bAscAqM1tPMEawwt2/\nV+
A2FaOjgUfDsYvVBMuRPFLgNgFcQ3Cm/HrgdOBLBW4PEOwUCXrP/1HotgCEs8W+BawDniTo/C3u\n7/FF
MYVSRESGR1H05EVEZHgo5EVESphCXkSkhCnkRURKmEJeRKSEKeRFREqYQl5EpIQp5EVEStj/\nBzjhnv
+2ClPlAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x6fe3828>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"xp = np.linspace(0, 7, 100)\n",
"plt.scatter(x, y)\n",
"plt.plot(xp, p4(xp), c='r')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Looks pretty good! Let's measure the r-squared error:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.502494130455\n"
]
}
],
"source": [
"from sklearn.metrics import r2_score\n",
"\n",
"r2 = r2_score(y, p4(x))\n",
"\n",
"print r2\n"
]
},

{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Activity"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Try different polynomial orders. Can you get a better fit with higher order
s? Do you start to see overfitting, even though the r-squared score looks good f
or this particular data set?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.11"
}
},
"nbformat": 4,
"nbformat_minor": 0
}

You might also like