├── marital status.csv ├── nasdaq100.csv ├── Salary Data.csv ├── Assignment 01 - Salary Prediction.ipynb ├── car data.csv └── Linear Regression with Python (Single Variable).ipynb /marital status.csv: -------------------------------------------------------------------------------- 1 | age,status 2 | 21,0.0 3 | 33,1.0 4 | 24,0.0 5 | 28,1.0 6 | 17,0.0 7 | 33,1.0 8 | 23,0.0 9 | 30,1.0 10 | 19,0.0 11 | 22,0.0 12 | 26,0.0 13 | 20,0.0 14 | 24, 15 | 34,1.0 16 | 29,1.0 17 | 16,0.0 18 | 18,0.0 19 | 25,1.0 20 | -------------------------------------------------------------------------------- /nasdaq100.csv: -------------------------------------------------------------------------------- 1 | Date;Starting (USD);Ending (USD) 2 | 01.01.24;16800;16500 3 | 01.12.23;15900;16100 4 | 01.11.23;15800;15300 5 | 01.10.23;16100;16200 6 | 01.09.23;16300;15700 7 | 01.08.23;16800;16400 8 | 01.07.23;15900;16200 9 | 01.06.23;15800;15500 10 | 01.05.23;16150;16100 11 | 01.04.23;16300;15800 12 | 01.03.23;16200;16200 13 | 01.02.23;16300;15700 14 | -------------------------------------------------------------------------------- /Salary Data.csv: -------------------------------------------------------------------------------- 1 | Experience Years,Salary 2 | 1.1,39343 3 | 1.2,42774 4 | 1.3,46205 5 | 1.5,37731 6 | 2,43525 7 | 2.2,39891 8 | 2.5,48266 9 | 2.9,56642 10 | 3,60150 11 | 3.2,54445 12 | 3.2,64445 13 | 3.5,60000 14 | 3.7,57189 15 | 3.8,60200 16 | 3.9,63218 17 | 4,55794 18 | 4,56957 19 | 4.1,57081 20 | 4.3,59095 21 | 4.5,61111 22 | 4.7,64500 23 | 4.9,67938 24 | 5.1,66029 25 | 5.3,83088 26 | 5.5,82200 27 | 5.9,81363 28 | 6,93940 29 | 6.2,91000 30 | 6.5,90000 31 | 6.8,91738 32 | 7.1,98273 33 | 7.9,101302 34 | 8.2,113812 35 | 8.5,111620 36 | 8.7,109431 37 | 9,105582 38 | 9.5,116969 39 | 9.6,112635 40 | 10.3,122391 41 | 10.5,121872 42 | -------------------------------------------------------------------------------- /Assignment 01 - Salary Prediction.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "017a3493", 6 | "metadata": {}, 7 | "source": [ 8 | "# Salary Prediction using Linear Regression" 9 | ] 10 | }, 11 | { 12 | "cell_type": "code", 13 | "execution_count": 1, 14 | "id": "99f473bc", 15 | "metadata": {}, 16 | "outputs": [], 17 | "source": [ 18 | "import pandas as pd \n", 19 | "from matplotlib import pyplot as plt " 20 | ] 21 | }, 22 | { 23 | "cell_type": "code", 24 | "execution_count": 2, 25 | "id": "e5293667", 26 | "metadata": {}, 27 | "outputs": [ 28 | { 29 | "data": { 30 | "text/html": [ 31 | "
\n", 32 | "\n", 45 | "\n", 46 | " \n", 47 | " \n", 48 | " \n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | "
Experience YearsSalary
01.139343
11.242774
21.346205
31.537731
42.043525
\n", 81 | "
" 82 | ], 83 | "text/plain": [ 84 | " Experience Years Salary\n", 85 | "0 1.1 39343\n", 86 | "1 1.2 42774\n", 87 | "2 1.3 46205\n", 88 | "3 1.5 37731\n", 89 | "4 2.0 43525" 90 | ] 91 | }, 92 | "execution_count": 2, 93 | "metadata": {}, 94 | "output_type": "execute_result" 95 | } 96 | ], 97 | "source": [ 98 | "df = pd.read_csv(\"Salary Data.csv\", sep=',')\n", 99 | "df.head()" 100 | ] 101 | }, 102 | { 103 | "cell_type": "markdown", 104 | "id": "06a7ac0c", 105 | "metadata": {}, 106 | "source": [ 107 | "# EDA" 108 | ] 109 | }, 110 | { 111 | "cell_type": "code", 112 | "execution_count": null, 113 | "id": "0fc78ba4", 114 | "metadata": {}, 115 | "outputs": [], 116 | "source": [] 117 | }, 118 | { 119 | "cell_type": "code", 120 | "execution_count": null, 121 | "id": "1be207fc", 122 | "metadata": {}, 123 | "outputs": [], 124 | "source": [] 125 | }, 126 | { 127 | "cell_type": "markdown", 128 | "id": "66931cbf", 129 | "metadata": {}, 130 | "source": [ 131 | "# Linear Regression" 132 | ] 133 | }, 134 | { 135 | "cell_type": "code", 136 | "execution_count": null, 137 | "id": "58b5a139", 138 | "metadata": {}, 139 | "outputs": [], 140 | "source": [] 141 | }, 142 | { 143 | "cell_type": "code", 144 | "execution_count": null, 145 | "id": "37006f52", 146 | "metadata": {}, 147 | "outputs": [], 148 | "source": [] 149 | }, 150 | { 151 | "cell_type": "markdown", 152 | "id": "3bee3183", 153 | "metadata": {}, 154 | "source": [ 155 | "# Cost & Lose" 156 | ] 157 | }, 158 | { 159 | "cell_type": "code", 160 | "execution_count": null, 161 | "id": "a952b8e6", 162 | "metadata": {}, 163 | "outputs": [], 164 | "source": [] 165 | }, 166 | { 167 | "cell_type": "code", 168 | "execution_count": null, 169 | "id": "8d4608a2", 170 | "metadata": {}, 171 | "outputs": [], 172 | "source": [] 173 | } 174 | ], 175 | "metadata": { 176 | "kernelspec": { 177 | "display_name": "Python 3 (ipykernel)", 178 | "language": "python", 179 | "name": "python3" 180 | }, 181 | "language_info": { 182 | "codemirror_mode": { 183 | "name": "ipython", 184 | "version": 3 185 | }, 186 | "file_extension": ".py", 187 | "mimetype": "text/x-python", 188 | "name": "python", 189 | "nbconvert_exporter": "python", 190 | "pygments_lexer": "ipython3", 191 | "version": "3.9.13" 192 | } 193 | }, 194 | "nbformat": 4, 195 | "nbformat_minor": 5 196 | } 197 | -------------------------------------------------------------------------------- /car data.csv: -------------------------------------------------------------------------------- 1 | speed,car_age,experience,risk 2 | 172,22,8.104041735628343,42 3 | 94,17,11.429460504100213,36 4 | 186,20,14.819477218213366,45 5 | 151,10,15.343897062171434,38 6 | 100,6,16.455807037533862,47 7 | 182,15,14.88423313886596,66 8 | 154,11,4.750129425849399,64 9 | 167,28,8.004457857440496,42 10 | 196,5,9.554297817604551,77 11 | 179,1,1.6578264338670845,95 12 | 183,8,10.567402425944184,75 13 | 210,21,8.726716632131119,19 14 | 132,28,16.04218498053468,14 15 | 81,12,19.558013375085416,83 16 | 167,12,11.120100772851693,47 17 | 117,5,6.453727765551673,22 18 | 209,7,0.8680156659634553,40 19 | 100,4,18.49286660447192,56 20 | 168,20,13.90822246213295,65 21 | 128,15,1.508690941795385,24 22 | 138,3,3.3243086381850584,38 23 | 94,23,4.336182131729824,17 24 | 130,8,5.889878936788597,14 25 | 187,20,19.916627500587413,38 26 | 134,16,13.938501117276296,56 27 | 143,13,7.6840366275843985,77 28 | 210,18,14.742014116860386,85 29 | 130,28,18.305086833382127,54 30 | 214,10,19.174048148156924,11 31 | 100,19,1.157277955154148,36 32 | 152,17,7.890435972162598,45 33 | 97,24,2.135121318717688,45 34 | 211,19,6.713201295939264,35 35 | 168,28,3.39359807791131,52 36 | 139,26,12.936967233374476,36 37 | 93,23,7.765367679797444,78 38 | 88,26,4.587894914098993,29 39 | 169,5,5.31875849928478,20 40 | 132,26,7.206901904105365,83 41 | 209,21,5.198997257085254,47 42 | 163,23,9.06481693657662,15 43 | 171,9,0.6463190221930093,81 44 | 190,12,5.595270143378914,32 45 | 87,21,8.224134417443725,56 46 | 114,1,12.05563764046597,99 47 | 160,26,5.419152850302598,55 48 | 183,1,1.524007591983263,99 49 | 211,15,18.81063654270767,22 50 | 81,2,8.332781154769584,71 51 | 213,22,11.623252423616526,91 52 | 133,16,18.38353103671119,98 53 | 185,25,1.6549684007061227,69 54 | 83,8,17.533229718515855,52 55 | 133,13,11.0317574508814,85 56 | 123,21,3.296685222740019,77 57 | 93,1,8.225102331707381,14 58 | 174,16,15.55204567470451,46 59 | 127,29,9.607401637327094,81 60 | 94,7,19.70572101331009,40 61 | 119,5,7.534779398758815,18 62 | 161,22,14.99156599952144,60 63 | 190,29,7.859788979577182,38 64 | 132,23,16.58328441413029,87 65 | 103,3,11.381629383314952,49 66 | 203,12,1.270236591800027,50 67 | 120,26,0.7364373527198276,95 68 | 94,16,2.677042376012664,20 69 | 124,19,0.2734392965399457,32 70 | 144,5,1.5071812070492463,10 71 | 168,22,13.83428794337824,55 72 | 150,25,10.68692550058926,30 73 | 88,29,14.998214989399436,99 74 | 167,14,18.263315045152854,45 75 | 208,28,11.70299064650944,63 76 | 215,5,14.52241688143696,96 77 | 142,15,15.141624040849118,66 78 | 218,17,7.557010985515729,10 79 | 215,20,4.100906570130498,63 80 | 112,5,5.028848790235969,64 81 | 202,12,5.494635940518176,49 82 | 84,16,4.144552980161129,24 83 | 120,26,17.564413349583845,30 84 | 107,26,15.139982643444574,56 85 | 214,16,0.9379293558243984,82 86 | 151,21,5.373449640506147,62 87 | 91,7,0.4436948406060326,18 88 | 112,4,9.963303732917858,83 89 | 127,1,9.524213935780285,61 90 | 141,5,16.627429801250024,66 91 | 116,23,6.1555447954209885,35 92 | 178,26,16.327714704261247,50 93 | 183,10,19.359475308796465,44 94 | 114,22,1.7681644673129315,72 95 | 180,5,15.836356789392658,34 96 | 210,4,11.79911794275272,99 97 | 80,2,9.600919340369504,84 98 | 84,20,8.410715573301502,47 99 | 182,10,15.69336527888619,11 100 | 106,26,12.787227139484846,16 101 | 216,19,16.10089335038724,91 102 | 94,26,18.06302117353253,43 103 | 169,1,12.34527424194584,26 104 | 121,24,19.60925450184756,52 105 | 203,5,12.161756990837704,68 106 | 142,13,12.732886432445651,60 107 | 175,4,11.096312170844511,63 108 | 131,16,1.8200418210266056,33 109 | 211,16,10.94892613798223,80 110 | 108,23,9.018208948322089,61 111 | 115,2,18.20942556806546,79 112 | 92,17,5.95918903083901,97 113 | 150,28,10.472045520300224,42 114 | 165,27,13.952837429869266,58 115 | 107,20,15.929435513477546,38 116 | 145,24,9.186936158923448,72 117 | 124,12,16.841828300374193,31 118 | 141,18,15.37835482630795,35 119 | 213,3,1.3247195570373171,37 120 | 107,28,0.917225328092659,94 121 | 107,1,12.416113688441826,58 122 | 187,1,6.948268164508285,80 123 | 123,29,4.182615821570284,90 124 | 109,11,6.8312642091309,58 125 | 207,12,9.20238317967144,95 126 | 171,3,11.695322118983071,72 127 | 208,1,8.006009778205627,70 128 | 200,1,13.953351473938636,58 129 | 106,8,3.6013454469859707,80 130 | 200,10,13.93002932454158,10 131 | 195,11,8.233224287150563,22 132 | 82,12,17.486352097088343,96 133 | 182,29,10.304721097284215,60 134 | 216,13,19.462206985402087,65 135 | 141,12,12.038707910819204,92 136 | 130,14,4.476981318126412,71 137 | 138,2,16.435812736888984,41 138 | 197,29,6.901652556447735,39 139 | 175,19,6.95238428965367,38 140 | 192,18,0.6360936297033026,58 141 | 141,3,10.974306184148173,54 142 | 131,23,10.68847007465046,39 143 | 91,17,7.119829685439722,25 144 | 118,26,17.884345257918515,49 145 | 209,8,2.574967965992878,28 146 | 210,29,6.601990266203108,27 147 | 192,26,6.43165529360058,10 148 | 180,10,1.8458117245749217,87 149 | 192,26,9.622907881125863,56 150 | 160,2,13.75569434192166,75 151 | 192,19,10.233140270945224,47 152 | 81,9,3.1395536543238745,60 153 | 209,7,7.545719304841452,72 154 | 133,4,0.0519004876729312,13 155 | 166,26,17.366022140711735,10 156 | 208,21,1.6903401536136389,17 157 | 205,18,11.945561645108612,38 158 | 132,11,10.73181291974665,12 159 | 147,29,18.480835182148663,41 160 | 202,24,4.722330662348087,19 161 | 117,4,15.199108178751713,83 162 | 103,25,10.62531507947068,92 163 | 148,21,14.410321227829296,43 164 | 195,29,1.246827250224829,96 165 | 177,25,2.954781838124534,64 166 | 218,4,2.662338571749565,41 167 | 176,10,13.743310108066622,59 168 | 203,5,16.888813452672576,16 169 | 149,9,14.992324640171748,17 170 | 82,3,17.344299621494464,66 171 | 175,3,7.94327665008165,97 172 | 131,16,2.097383330649618,96 173 | 207,4,14.748104121876382,68 174 | 118,18,3.645677569519161,81 175 | 161,17,11.279301840376728,63 176 | 183,7,16.814199717558623,76 177 | 208,24,1.7840865742411238,60 178 | 90,23,10.70671128031047,17 179 | 178,12,6.858537285565205,44 180 | 86,17,9.479398828611124,97 181 | 169,23,7.102086065586095,87 182 | 191,13,12.97645680583152,41 183 | 139,23,9.591642035085004,55 184 | 192,25,11.683989694283383,25 185 | 81,3,14.736449507898255,77 186 | 208,9,11.154845319008748,46 187 | 127,17,11.73070869321518,63 188 | 219,17,11.289170850452823,94 189 | 116,20,7.575452519025787,23 190 | 88,16,6.748936677438362,64 191 | 178,25,17.992947942900244,57 192 | 127,22,12.151104445871455,91 193 | 210,13,4.8870631092930905,16 194 | 133,27,9.964953956978803,83 195 | 199,19,6.60696962561828,16 196 | 195,17,18.67383647519749,42 197 | 192,12,4.506655954250565,94 198 | 183,29,7.307136393481153,28 199 | 163,9,9.75619601617476,28 200 | 191,19,17.016350356722924,45 201 | 178,12,1.7577524908028774,38 202 | 172,9,16.11729773482287,69 203 | 207,7,1.1130697871395068,91 204 | 189,28,16.846280705963633,11 205 | 161,14,1.0327095574902567,10 206 | 133,20,0.3648496285672209,56 207 | 147,19,13.93922924732843,78 208 | 112,26,19.945110695367887,29 209 | 100,15,17.932205259480416,20 210 | 127,16,11.5199683561132,11 211 | 207,21,18.347912261710636,76 212 | 215,5,0.1060001279521083,96 213 | 214,3,19.50134325890285,21 214 | 207,12,9.81497558517569,29 215 | 112,25,14.457921932435514,14 216 | 194,20,16.417229463067052,46 217 | 198,27,14.369145416731072,47 218 | 101,21,10.700734640898212,18 219 | 117,4,9.53238968252824,62 220 | 188,21,16.771651174052494,53 221 | 87,16,19.359881330084686,33 222 | 106,25,14.219049576734966,90 223 | 100,13,14.724943673969763,39 224 | 109,21,10.596800463622332,68 225 | 176,10,14.14460191288889,96 226 | 107,26,15.355590028856776,90 227 | 190,7,1.7458035917935089,90 228 | 140,14,10.12207912718694,23 229 | 127,26,18.64028684513868,18 230 | 83,5,6.412843843190286,49 231 | 114,3,11.877661951157975,75 232 | 128,23,7.384609630197922,34 233 | 96,29,9.085359444381991,82 234 | 125,11,10.972062358763065,31 235 | 196,11,10.978439597779545,13 236 | 85,18,4.034609246604717,35 237 | 178,15,13.691430957596666,67 238 | 203,12,1.7573622248531362,38 239 | 116,9,2.7764954688404075,96 240 | 172,26,2.3339212828336264,84 241 | 125,12,9.463324021037844,79 242 | 174,17,12.122037621116773,27 243 | 195,6,2.133985002268721,51 244 | 146,7,17.014549200329093,50 245 | 207,14,14.919490510974365,47 246 | 97,13,8.170365858718338,43 247 | 104,8,18.65876134199909,26 248 | 137,9,4.100036201064745,34 249 | 146,18,7.584571699276008,85 250 | 183,27,18.52898847179422,96 251 | 103,26,14.431931015025544,95 252 | 193,2,0.9618928792817538,94 253 | 111,5,15.630289635028298,36 254 | 165,29,16.558817743549838,66 255 | 206,5,15.01003849530627,40 256 | 209,6,15.990742618390312,15 257 | 96,19,16.502653533855945,49 258 | 183,8,3.728099735762882,21 259 | 216,16,4.713834921299995,62 260 | 122,13,12.675171274403546,80 261 | 118,1,18.15732260925032,19 262 | 105,22,6.323931645929893,54 263 | 178,20,11.766133515901132,26 264 | 129,17,13.659641268342648,35 265 | 92,7,9.038972025980785,94 266 | 139,25,14.27564909710652,71 267 | 214,13,17.99334890584346,55 268 | 136,4,12.482030883636751,73 269 | 99,6,8.77489350776678,63 270 | 144,28,11.549725418122511,74 271 | 87,19,7.107249036367918,60 272 | 194,29,7.829642204030039,62 273 | 171,12,10.63714959376348,45 274 | 177,22,1.3323822478163394,35 275 | 145,7,4.580507818495927,38 276 | 111,27,10.85698621226818,30 277 | 165,10,8.630562862728851,20 278 | 130,26,6.656315718249686,49 279 | 142,19,14.61098273618603,20 280 | 204,7,13.87435214806677,45 281 | 137,3,3.334615199867663,68 282 | -------------------------------------------------------------------------------- /Linear Regression with Python (Single Variable).ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "id": "a8bf135f", 7 | "metadata": {}, 8 | "outputs": [], 9 | "source": [ 10 | "import pandas as pd \n", 11 | "from matplotlib import pyplot as plt " 12 | ] 13 | }, 14 | { 15 | "cell_type": "code", 16 | "execution_count": 2, 17 | "id": "0cf2bc15", 18 | "metadata": {}, 19 | "outputs": [], 20 | "source": [ 21 | "df = pd.read_csv(\"nasdaq100.csv\", sep=';')" 22 | ] 23 | }, 24 | { 25 | "cell_type": "code", 26 | "execution_count": 3, 27 | "id": "46147c9d", 28 | "metadata": {}, 29 | "outputs": [ 30 | { 31 | "data": { 32 | "text/html": [ 33 | "
\n", 34 | "\n", 47 | "\n", 48 | " \n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | "
DateStarting (USD)Ending (USD)
001.01.241680016500
101.12.231590016100
201.11.231580015300
301.10.231610016200
401.09.231630015700
\n", 89 | "
" 90 | ], 91 | "text/plain": [ 92 | " Date Starting (USD) Ending (USD)\n", 93 | "0 01.01.24 16800 16500\n", 94 | "1 01.12.23 15900 16100\n", 95 | "2 01.11.23 15800 15300\n", 96 | "3 01.10.23 16100 16200\n", 97 | "4 01.09.23 16300 15700" 98 | ] 99 | }, 100 | "execution_count": 3, 101 | "metadata": {}, 102 | "output_type": "execute_result" 103 | } 104 | ], 105 | "source": [ 106 | "df.head()" 107 | ] 108 | }, 109 | { 110 | "cell_type": "code", 111 | "execution_count": 4, 112 | "id": "3c778b88", 113 | "metadata": {}, 114 | "outputs": [ 115 | { 116 | "data": { 117 | "text/plain": [ 118 | "Date 0\n", 119 | "Starting (USD) 0\n", 120 | "Ending (USD) 0\n", 121 | "dtype: int64" 122 | ] 123 | }, 124 | "execution_count": 4, 125 | "metadata": {}, 126 | "output_type": "execute_result" 127 | } 128 | ], 129 | "source": [ 130 | "df.isnull().sum()" 131 | ] 132 | }, 133 | { 134 | "cell_type": "code", 135 | "execution_count": 5, 136 | "id": "20ce33fd", 137 | "metadata": {}, 138 | "outputs": [], 139 | "source": [ 140 | "#df.drop('Date', axis=1)\n", 141 | "df = df.drop(columns = ['Date'])" 142 | ] 143 | }, 144 | { 145 | "cell_type": "code", 146 | "execution_count": 6, 147 | "id": "00a96394", 148 | "metadata": {}, 149 | "outputs": [ 150 | { 151 | "data": { 152 | "text/html": [ 153 | "
\n", 154 | "\n", 167 | "\n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | "
Starting (USD)Ending (USD)
01680016500
11590016100
21580015300
31610016200
41630015700
\n", 203 | "
" 204 | ], 205 | "text/plain": [ 206 | " Starting (USD) Ending (USD)\n", 207 | "0 16800 16500\n", 208 | "1 15900 16100\n", 209 | "2 15800 15300\n", 210 | "3 16100 16200\n", 211 | "4 16300 15700" 212 | ] 213 | }, 214 | "execution_count": 6, 215 | "metadata": {}, 216 | "output_type": "execute_result" 217 | } 218 | ], 219 | "source": [ 220 | "df.head()" 221 | ] 222 | }, 223 | { 224 | "cell_type": "code", 225 | "execution_count": 7, 226 | "id": "658021e3", 227 | "metadata": {}, 228 | "outputs": [ 229 | { 230 | "data": { 231 | "text/plain": [ 232 | "Text(0.5, 1.0, 'NASDAQ100 Stock Prices')" 233 | ] 234 | }, 235 | "execution_count": 7, 236 | "metadata": {}, 237 | "output_type": "execute_result" 238 | }, 239 | { 240 | "data": { 241 | "image/png": "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FhYm1axfv1507dpVWFlZCR8fHxETE9PgMQGI6OhovW2FhYViypQpws7OTtjZ2YkpU6aI4uJivZrz58+L4OBgYW1tLRwdHcXMmTNFeXl5o85Hp9MJAEKn0zXqdURERFS/m9U1IvnMHyLm8AWRfOYPcbO6pkmPL/f722jWaWoLuE4TERFR69Pq12kiIiIiMiYMTUREREQyMDQRERERycDQRERERCQDQxMRERGRDAxNRERERDIwNBERERHJwNBEREREJANDExEREZEMDE1EREREMjA0EREREcnA0EREREQkA0MTERERkQwMTUREREQyMDQRERERycDQRERERCQDQxMRERGRDAxNRERERDIwNBERERHJwNBEREREJANDExEREZEMDE1EREREMjA0EREREcnA0EREREQkA0MTERERkQwMTUREREQyMDQRERERycDQRERERCQDQxMRERGRDAxNRERERDIwNBERERHJwNBEREREJANDExEREZEMDE1EREREMjA0EREREcnA0EREREQkA0MTERERkQwMTUREREQyMDQRERERycDQRERERCQDQxMRERGRDAxNRERERDIwNBERERHJwNBEREREJINZSzeA2p7qGoG07CIUXC2Hys4KAz0dYWqiaOlmtTmttZ9ba7uJiFp0pGnfvn0IDQ2Fm5sbFAoFYmJiDGqysrIwevRoKJVK2NnZwdfXFzk5OQCAoqIivPLKK/Dy8oKNjQ06deqEWbNmQafT6R2juLgYWq0WSqUSSqUSWq0WJSUlejU5OTkIDQ2Fra0tnJ2dMWvWLFRWVj6oU2+z4jPzMGRFIiZ9nopXozIw6fNUDFmRiPjMvJZuWpvSWvu5tbabiAho4dBUVlYGHx8frFmzps79Z8+exZAhQ9C9e3fs2bMHR44cwZtvvgkrKysAwKVLl3Dp0iW89957OHbsGDZu3Ij4+Hg8//zzeseZPHkyMjIyEB8fj/j4eGRkZECr1Ur7q6urERwcjLKyMiQlJSEqKgpbtmzBnDlzHtzJt0HxmXl4adMh5OnK9bbn68rx0qZD/GJsIq21n1tru4mIaimEEKKlGwEACoUC0dHRGDt2rLTt2Wefhbm5Ob755hvZx/nxxx8xdepUlJWVwczMDFlZWdBoNEhNTcWgQYMAAKmpqfDz88OJEyfg5eWF7du3IyQkBLm5uXBzcwMAREVFITw8HAUFBbC3t5f13qWlpVAqldDpdLJf01ZU1wgMWZFo8IVYSwFArbRC0t+H81LMfWit/dxa201EDwe5399GOxG8pqYGW7duRbdu3RAQEACVSoVBgwbVeQnvdrUnbGZ2a7pWSkoKlEqlFJgAwNfXF0qlEsnJyVKNt7e3FJgAICAgABUVFTh48GC971VRUYHS0lK9x8MqLbuo3i9EABAA8nTlSMsuar5GtUGttZ9ba7uJiG5ntKGpoKAA165dw/LlyxEYGIiEhASMGzcO48ePx969e+t8TWFhIZYuXYoZM2ZI2/Lz86FSqQxqVSoV8vPzpRoXFxe9/Q4ODrCwsJBq6rJs2TJpnpRSqYS7u/u9nGqbUHC1/i/Ee6mjurXWfm6t7SYiup3RhqaamhoAwJgxYzB79mz06dMH8+fPR0hICNauXWtQX1paiuDgYGg0GkRGRurtUygMh/uFEHrb5dTcacGCBdDpdNIjNzdX9vm1NSo7qyato7q11n5ure0mIrqd0YYmZ2dnmJmZQaPR6G3v0aOHdPdcratXryIwMBDt2rVDdHQ0zM3NpX1qtRqXL182OP6VK1ek0SW1Wm0wolRcXIyqqiqDEajbWVpawt7eXu/xsBro6QhXpRXqi5gKAK7KW7eX071rrf3cWttNRHQ7ow1NFhYWeOyxx3Dy5Em97adOnYKHh4f0vLS0FP7+/rCwsEBsbKx0Z10tPz8/6HQ6pKWlSdsOHDgAnU6HwYMHSzWZmZnIy/vf3TsJCQmwtLRE//79H8TptTmmJgpEht4KuHd+MdY+jwzVcJLvfWqt/dxa201EdLsWDU3Xrl1DRkYGMjIyAADZ2dnIyMiQRpLmzZuH77//Hp9//jnOnDmDNWvWIC4uDi+//DKAWyNM/v7+KCsrw/r161FaWor8/Hzk5+ejuroawK2RqcDAQERERCA1NRWpqamIiIhASEgIvLy8AAD+/v7QaDTQarU4fPgwdu3ahblz5yIiIuKhHj1qrEBvV3w6tR/USv3gqlZa4dOp/RDo7dpCLWtbWms/t9Z2ExFJRAvavXu3wK0bZ/QeYWFhUs369etF165dhZWVlfDx8RExMTF3fT0AkZ2dLdUVFhaKKVOmCDs7O2FnZyemTJkiiouL9dpy/vx5ERwcLKytrYWjo6OYOXOmKC8vb9T56HQ6AUDodLp76Y4242Z1jUg+84eIOXxBJJ/5Q9ysrmnpJrVJrbWfW2u7iajtkvv9bTTrNLUFD/M6TURERK1Vq1+niYiIiMiYMDQRERERycDQRERERCQDQxMRERGRDAxNRERERDIwNBERERHJwNBEREREJANDExEREZEMDE1EREREMjA0EREREcnA0EREREQkA0MTERERkQwMTUREREQyMDQRERERycDQRERERCQDQxMRERGRDGYt3QBqe6prBNKyi1BwtRwqOysM9HSEqYmipZtFjcDPkIjIEEMTNan4zDwsiTuOPF25tM1VaYXIUA0CvV1bsGUkFz9DIqK68fIcNZn4zDy8tOmQ3pctAOTryvHSpkOIz8xroZaRXPwMiYjqx9BETaK6RmBJ3HGIOvbVblsSdxzVNXVVkDHgZ0hE1DCGJmoSadlFBqMTtxMA8nTlSMsuar5GUaPwMyQiahhDEzWJgqv1f9neSx01P36GREQNY2iiJqGys2rSOmp+/AyJiBrG0ERNYqCnI1yVVqjvpnQFbt2BNdDTsTmbRY3Az5CIqGEMTdQkTE0UiAzVAIDBl27t88hQDdf6MWL8DImIGsbQRE0m0NsVn07tB7VS//KNWmmFT6f24xo/rQA/QyKi+imEELx/uImUlpZCqVRCp9PB3t6+pZvTYriadOvHz5CIHiZyv7+5Ijg1OVMTBfy6OLV0M+g+8DMkIjLEy3NEREREMjA0EREREcnA0EREREQkA0MTERERkQwMTUREREQyNOruOSEE9u7di/379+PcuXO4fv06OnTogL59+2LkyJFwd3d/UO0kIiIialGyRppu3LiBf/7zn3B3d0dQUBC2bt2KkpISmJqa4syZM4iMjISnpyeefvpppKamPug2ExERETU7WSNN3bp1w6BBg7B27VoEBATA3NzcoOb8+fP49ttvMXHiRCxatAgRERFN3lgiIiKiliJrRfDMzEx4e3vLOmBlZSXOnz+PRx999L4b19pwRXAiIqLWR+73t6zLc3IDEwBYWFg8lIGJiIiI2rZG/4zK6dOn8dNPP+HcuXNQKBTw9PTE2LFj8cgjjzyI9hEREREZhUaFpmXLluGtt95CTU0NVCoVhBC4cuUK5s+fj3/+85+YO3fug2onERERUYuSvU7T7t27sWjRIvzjH//AH3/8gby8POTn50uhaf78+di3b9+DbCsRERFRi5E1ERwAJk6ciPbt22PdunV1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RERERC1J1pymvXv34ueff8ZHH32EhQsXwtbWFi4uLrCyskJxcTHy8/PRoUMHPPfcc8jMzIRKpXrQ7SYiIiJqVo3+GZXCwkIkJSXh3LlzuHHjBpydndG3b1/07dsXJiYP9xQp/owKERFR6yP3+1v23XO1nJycMGbMmPtqHBEREVFr83APDRERERHJxNBEREREJANDExEREZEMDE1EREREMjA0EREREcnQ6LvnXn/99Tq3KxQKWFlZoWvXrhgzZgwcHR3vu3FERERExqLR6zQ99dRTOHToEKqrq+Hl5QUhBE6fPg1TU1N0794dJ0+ehEKhQFJSEjQazYNqt1HiOk1EREStj9zv70ZfnhszZgxGjhyJS5cu4eDBgzh06BAuXryIUaNGYdKkSbh48SKefPJJzJ49+75OgIiIiMiYNHqk6U9/+hN27NhhMIr03//+F/7+/rh48SIOHToEf39//PHHH03aWGPHkSYiIqLW54GNNOl0OhQUFBhsv3LlCkpLSwEA7du3R2VlZWMPTURERGS07uny3F//+ldER0fjwoULuHjxIqKjo/H8889j7NixAIC0tDR069atqdtKRERE1GIafXnu2rVrmD17Nr7++mvcvHkTAGBmZoawsDCsXr0atra2yMjIAAD06dOnqdtr1Hh5joiIqPWR+/3d6NBU69q1a/j9998hhECXLl3Qrl27e25sW8HQRERE1PrI/f5u9DpNtdq1a4fevXvf68uJiIiIWpVGh6aysjIsX74cu3btQkFBAWpqavT2//77703WOCIiIiJj0ejQ9MILL2Dv3r3QarVwdXWFQqF4EO0iIiIiMiqNDk3bt2/H1q1b8fjjjz+I9hAREREZpUYvOeDg4MDflSMiIqKHTqND09KlS/HWW2/h+vXrD6I9REREREap0ZfnVq1ahbNnz8LFxQWdO3eGubm53v5Dhw41WeOIiIiIjEWjQ1Ptqt9ERERED5N7XtySDHFxSyIiotbngf1gLxEREdHDSNblOUdHR5w6dQrOzs5wcHBocG2moqKiJmscERERkbGQFZpWr14NOzs7AMAHH3zwINtDREREZJQ4p6kJcU4TERFR69OkP9hbWloq+40ZFoiIiKgtkhWa2rdvL/s35qqrq++rQURExqa6RiAtuwgFV8uhsrPCQE9HmJrwdzeJHjay7p7bvXs3EhMTkZiYiA0bNkCl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\n", 242 | "text/plain": [ 243 | "
" 244 | ] 245 | }, 246 | "metadata": {}, 247 | "output_type": "display_data" 248 | } 249 | ], 250 | "source": [ 251 | "plt.scatter(df['Starting (USD)'] , df['Ending (USD)'])\n", 252 | "plt.xlabel('Starting (USD)')\n", 253 | "plt.ylabel('Ending (USD)')\n", 254 | "plt.title('NASDAQ100 Stock Prices')" 255 | ] 256 | }, 257 | { 258 | "cell_type": "code", 259 | "execution_count": 8, 260 | "id": "a1b46269", 261 | "metadata": {}, 262 | "outputs": [], 263 | "source": [ 264 | "x = df.drop('Ending (USD)', axis=1)" 265 | ] 266 | }, 267 | { 268 | "cell_type": "code", 269 | "execution_count": 9, 270 | "id": "cd2d503f", 271 | "metadata": {}, 272 | "outputs": [ 273 | { 274 | "data": { 275 | "text/html": [ 276 | "
\n", 277 | "\n", 290 | "\n", 291 | " \n", 292 | " \n", 293 | " \n", 294 | " \n", 295 | " \n", 296 | " \n", 297 | " \n", 298 | " \n", 299 | " \n", 300 | " \n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | "
Starting (USD)
016800
115900
215800
316100
416300
\n", 320 | "
" 321 | ], 322 | "text/plain": [ 323 | " Starting (USD)\n", 324 | "0 16800\n", 325 | "1 15900\n", 326 | "2 15800\n", 327 | "3 16100\n", 328 | "4 16300" 329 | ] 330 | }, 331 | "execution_count": 9, 332 | "metadata": {}, 333 | "output_type": "execute_result" 334 | } 335 | ], 336 | "source": [ 337 | "x.head()" 338 | ] 339 | }, 340 | { 341 | "cell_type": "code", 342 | "execution_count": 10, 343 | "id": "9e490239", 344 | "metadata": {}, 345 | "outputs": [ 346 | { 347 | "data": { 348 | "text/html": [ 349 | "
\n", 350 | "\n", 363 | "\n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \n", 379 | " \n", 380 | " \n", 381 | " \n", 382 | " \n", 383 | " \n", 384 | " \n", 385 | " \n", 386 | " \n", 387 | " \n", 388 | " \n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | "
Ending (USD)
016500
116100
215300
316200
415700
\n", 393 | "
" 394 | ], 395 | "text/plain": [ 396 | " Ending (USD)\n", 397 | "0 16500\n", 398 | "1 16100\n", 399 | "2 15300\n", 400 | "3 16200\n", 401 | "4 15700" 402 | ] 403 | }, 404 | "execution_count": 10, 405 | "metadata": {}, 406 | "output_type": "execute_result" 407 | } 408 | ], 409 | "source": [ 410 | "y = df[['Ending (USD)']]\n", 411 | "y.head()" 412 | ] 413 | }, 414 | { 415 | "cell_type": "markdown", 416 | "id": "b04d8125", 417 | "metadata": {}, 418 | "source": [ 419 | "# Linear Regression" 420 | ] 421 | }, 422 | { 423 | "cell_type": "code", 424 | "execution_count": 11, 425 | "id": "4570c445", 426 | "metadata": {}, 427 | "outputs": [], 428 | "source": [ 429 | "from sklearn.linear_model import LinearRegression" 430 | ] 431 | }, 432 | { 433 | "cell_type": "code", 434 | "execution_count": 12, 435 | "id": "6ea656dc", 436 | "metadata": {}, 437 | "outputs": [], 438 | "source": [ 439 | "reg = LinearRegression()" 440 | ] 441 | }, 442 | { 443 | "cell_type": "code", 444 | "execution_count": 13, 445 | "id": "144b8217", 446 | "metadata": {}, 447 | "outputs": [ 448 | { 449 | "data": { 450 | "text/plain": [ 451 | "Starting (USD) 16195.833333\n", 452 | "dtype: float64" 453 | ] 454 | }, 455 | "execution_count": 13, 456 | "metadata": {}, 457 | "output_type": "execute_result" 458 | } 459 | ], 460 | "source": [ 461 | "x.mean()" 462 | ] 463 | }, 464 | { 465 | "cell_type": "code", 466 | "execution_count": 14, 467 | "id": "b41ab34c", 468 | "metadata": {}, 469 | "outputs": [ 470 | { 471 | "data": { 472 | "text/plain": [ 473 | "Ending (USD) 15975.0\n", 474 | "dtype: float64" 475 | ] 476 | }, 477 | "execution_count": 14, 478 | "metadata": {}, 479 | "output_type": "execute_result" 480 | } 481 | ], 482 | "source": [ 483 | "y.mean()" 484 | ] 485 | }, 486 | { 487 | "cell_type": "code", 488 | "execution_count": 15, 489 | "id": "c6d1015b", 490 | "metadata": {}, 491 | "outputs": [ 492 | { 493 | "data": { 494 | "text/plain": [ 495 | "Text(0.5, 1.0, 'NASDAQ100 Stock Prices')" 496 | ] 497 | }, 498 | "execution_count": 15, 499 | "metadata": {}, 500 | "output_type": "execute_result" 501 | }, 502 | { 503 | "data": { 504 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAHFCAYAAADv8c1wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAABVGklEQVR4nO3deVxU9f4/8NewC8LI4jBwRSRNdERxS8EszYUlwPV2zWWEbqHVNcvUrnpNNL9dNTPrZqWVZqVFi0GSSq6oBIipqFxxDQUVxFgGRVmEz+8PfpzrOAMeFGHA1/PxmEfNOe858zmfsebl53zOZxRCCAEiIiIiqpNZUzeAiIiIqDlgaCIiIiKSgaGJiIiISAaGJiIiIiIZGJqIiIiIZGBoIiIiIpKBoYmIiIhIBoYmIiIiIhkYmoiIiIhkYGgiMiHr16+HQqGAjY0NLly4YLB/8ODB8PHxMfraiooKqNVqKBQK/Pjjj7W+x6+//oqAgAC4u7vD2toa7u7uGDx4MJYuXapX16FDBygUCigUCpiZmUGpVKJr166YPHkytm/fXud5bN68GQqFAs7OzigrK6u1Ljs7G9OmTUPHjh1hY2MDR0dHDBkyBN99953R+vfffx9jxoyBl5cXFAoFBg8eXOux8/LyEBERARcXF9ja2sLf3x+7du0yWrtz5074+/vD1tYWLi4uiIiIQF5eXp3nWCM/Px9z586FRqOBnZ0dlEolunTpAq1Wi2PHjkl1SUlJWLhwIYqKimQd915FRESgdevW9/TahQsXSp+5QqGAlZUVvLy88Oqrr8pu9+DBg+v8XIiaM4YmIhNUVlaG+fPn1+s1v/zyC65cuQIAWLt2rdGa1atXIygoCA4ODli1ahV+/fVXLFu2DF27djUatB5//HEkJycjKSkJmzZtwrRp05CZmYnAwED89a9/RUVFhdH3qXn/goICxMbGGq357bff0KNHD/z888949dVXER8fj/Xr18PNzQ3PPvsswsPDceevPK1evRoXLlzAkCFD0LZt21r7oqysDEOHDsWuXbvwwQcf4Oeff4arqyuCgoKwd+9evdq9e/ciODgYrq6u+Pnnn/HBBx9g586dGDp0aJ2BDwCuX78OPz8/rF+/Hi+88AI2b96MjRs3YsqUKcjMzERaWppUm5SUhEWLFj3w0NQQ4uPjkZycjC1btmDUqFH48MMPERwcbPB5GPPxxx/j448/boRWEjUBQUQm44svvhAARFBQkDAzMxNpaWl6+wcNGiS6detm9LUhISHCyspKDB8+XJiZmYns7GyDmvbt24snn3zS6OsrKyv1nnt6eoqQkBCjtVFRUQKAeOONNwz25eTkCAsLCzFkyBBhY2Mjhg8fblBTWFgoVCqV8PT0FLm5uQb7ly5dKgCI9957r9Y2duvWTQwaNMho+z766CMBQCQlJUnbKioqhEajEf369dOrfeyxx4RGoxEVFRXStt9++00AEB9//LHR49dYt26dACB2795tdP/t7V2+fLkAIDIzM+s85v0KDw8XdnZ29/Tams/16tWretu1Wq0AIBITE2t9bUlJyT29J1FzwpEmIhP0xhtvwNnZGf/85z9l1V++fBnx8fEICwvD7NmzUVVVhfXr1xvU5efnw83NzegxzMzk/+9g4cKF6NatG1atWoXS0lK9fV9++SVu3bqFGTNmYMyYMdi1a5fBpcbPP/8ceXl5WLp0KVxdXQ2O/8Ybb6BLly5YsmQJbt26Ve82xsTEwNvbG/7+/tI2CwsLTJo0Campqbh06RIA4NKlSzh48CC0Wi0sLCyk2gEDBqBz586IiYmp833y8/MB4K59unDhQsyePRsApEuLCoUCCQkJAICqqiq888476NKlC6ytraFSqTB58mRcvHjR4Jjx8fEYOnQolEolbG1t0bVrVyxZsqTOdv72229wcXFBaGgoSkpK6qw1xs/PDwCkz7HmMvG+ffswYMAA2Nra4u9//7u0787Lc2VlZXjrrbfQtWtX2NjYwNnZGU899RSSkpKkGiEEPv74Y/Ts2ROtWrWCo6Mj/vrXv+KPP/7QO9aRI0cQGhoKlUolXV4OCQkx2ldEDY2hicgE2dvbY/78+fj111+xe/fuu9avX78elZWV+Pvf/45hw4bB09MT69atM7ic4u/vj02bNmHhwoU4evQoKisr77mNYWFhuHHjBn7//Xe97evWrYObmxuCg4Px97//3WiA27FjB8zNzREWFmb02AqFAiNGjMDVq1dx5MiRerctPT0dPXr0MNhes+2///2vVHf79jtra/bXpiaUTZ48GbGxsVKIutMLL7yAV155BQDw008/ITk5GcnJyejduzcA4KWXXsI///lPDB8+HJs3b8bixYsRHx+PAQMG4M8//5SOs3btWjz99NOoqqrC6tWr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w8OlmrVr14pOnToJGxsb4evrK2JjY+s8JgARExOjty0/P19MnDhR2NvbC3t7ezFx4kRRWFioV3PhwgUREhIiWrVqJZycnMS0adNEaWlpvc5Hp9MJAEKn09XrdURERFS7W5VVIunsnyL2yEWRdPZPcauyqkGPL/f722TWaWoJuE4TERFR89Ps12kiIiIiMiUMTUREREQyMDQRERERycDQRERERCQDQxMRERGRDAxNRERERDIwNBERERHJwNBEREREJANDExEREZEMDE1EREREMjA0EREREcnA0EREREQkA0MTERERkQwMTUREREQyMDQRERERycDQRERERCQDQxMRERGRDAxNRERERDIwNBERERHJwNBEREREJANDExEREZEMDE1EREREMjA0EREREcnA0EREREQkA0MTERERkQwMTUREREQyMDQRERERycDQRERERCQDQxMRERGRDAxNRERERDIwNBERERHJwNBEREREJANDExEREZEMDE1EREREMjA0EREREcnA0EREREQkA0MTERERkQwMTUREREQyMDQRERERycDQRERERCQDQxMRERGRDAxNRERERDIwNBERERHJwNBEREREJINFUzeAWp7KKoHUzALkXSuFyt4G/bycYG6maOpmtTjNtZ+ba7uJiJp0pGnfvn0ICwuDu7s7FAoFYmNjDWoyMjIwYsQIKJVK2Nvbw8/PD1lZWQCAgoICvPLKK/D29oatrS3at2+P6dOnQ6fT6R2jsLAQWq0WSqUSSqUSWq0WRUVFejVZWVkICwuDnZ0dXFxcMH36dJSXlz+oU2+x4tNzMHDZboz/LAWvRqdh/GcpGLhsN+LTc5q6aS1Kc+3n5tpuIiKgiUNTSUkJfH19sWrVKqP7z507h4EDB6JLly5ISEjA0aNH8eabb8LGxgYAcPnyZVy+fBnvvvsujh8/jvXr1yM+Ph7PP/+83nEmTJiAtLQ0xMfHIz4+HmlpadBqtdL+yspKhISEoKSkBImJiYiOjsamTZswc+bMB3fyLVB8eg5e2nAYObpSve25ulK8tOEwvxgbSHPt5+babiKiGgohhGjqRgCAQqFATEwMRo0aJW179tlnYWlpia+//lr2cX744QdMmjQJJSUlsLCwQEZGBjQaDVJSUtC/f38AQEpKCvz9/XHy5El4e3tj27ZtCA0NRXZ2Ntzd3QEA0dHRiIiIQF5eHhwcHGS9d3FxMZRKJXQ6nezXtBSVVQIDl+02+EKsoQCgVtog8Z9DeCnmPjTXfm6u7Saih4Pc72+TnQheVVWFLVu2oHPnzggMDIRKpUL//v2NXsK7Xc0JW1hUT9dKTk6GUqmUAhMA+Pn5QalUIikpSarx8fGRAhMABAYGoqysDIcOHar1vcrKylBcXKz3eFilZhbU+oUIAAJAjq4UqZkFjdeoFqi59nNzbTcR0e1MNjTl5eXh+vXrWLp0KYKCgrB9+3aMHj0aY8aMwd69e42+Jj8/H4sXL8bUqVOlbbm5uVCpVAa1KpUKubm5Uo2rq6vefkdHR1hZWUk1xixZskSaJ6VUKuHh4XEvp9oi5F2r/QvxXurIuObaz8213UREtzPZ0FRVVQUAGDlyJGbMmIGePXtizpw5CA0NxerVqw3qi4uLERISAo1Gg6ioKL19CoXhcL8QQm+7nJo7zZ07FzqdTnpkZ2fLPr+WRmVv06B1ZFxz7efm2m4iotuZbGhycXGBhYUFNBqN3vauXbtKd8/VuHbtGoKCgtC6dWvExMTA0tJS2qdWq3HlyhWD41+9elUaXVKr1QYjSoWFhaioqDAYgbqdtbU1HBwc9B4Pq35eTnBT2qC2iKkA4Kasvr2c7l1z7efm2m4iotuZbGiysrLCY489hlOnTultP336NDw9PaXnxcXFCAgIgJWVFTZv3izdWVfD398fOp0Oqamp0rYDBw5Ap9NhwIABUk16ejpycv5398727dthbW2NPn36PIjTa3HMzRSICqsOuHd+MdY8jwrTcJLvfWqu/dxc201EdLsmDU3Xr19HWloa0tLSAACZmZlIS0uTRpJmz56N7777Dp999hnOnj2LVatWIS4uDi+//DKA6hGmgIAAlJSUYO3atSguLkZubi5yc3NRWVkJoHpkKigoCJGRkUhJSUFKSgoiIyMRGhoKb29vAEBAQAA0Gg20Wi2OHDmCXbt2YdasWYiMjHyoR4/qK8jHDZ9M6g21Uj+4qpU2+GRSbwT5uDVRy1qW5trPzbXdREQS0YT27NkjUH3jjN4jPDxcqlm7dq3o1KmTsLGxEb6+viI2NvaurwcgMjMzpbr8/HwxceJEYW9vL+zt7cXEiRNFYWGhXlsuXLggQkJCRKtWrYSTk5OYNm2aKC0trdf56HQ6AUDodLp76Y4W41ZllUg6+6eIPXJRJJ39U9yqrGrqJrVIzbWfm2u7iajlkvv9bTLrNLUED/M6TURERM1Vs1+niYiIiMiUMDQRERERycDQRERERCQDQxMRERGRDAxNRERERDIwNBERERHJwNBEREREJANDExEREZEMDE1EREREMjA0EREREcnA0EREREQkA0MTERERkQwMTUREREQyMDQRERERycDQRERERCQDQxMRERGRDBZN3QBqeSqrBFIzC5B3rRQqexv083KCuZmiqZtF9cDPkIjIEEMTNaj49BwsijuBHF2ptM1NaYOoMA2CfNyasGUkFz9DIiLjeHmOGkx8eg5e2nBY78sWAHJ1pXhpw2HEp+c0UctILn6GRES1Y2iiBlFZJbAo7gSEkX012xbFnUBllbEKMgX8DImI6sbQRA0iNbPAYHTidgJAjq4UqZkFjdcoqhd+hkREdWNoogaRd632L9t7qaPGx8+QiKhuDE3UIFT2Ng1aR42PnyERUd0YmqhB9PNygpvSBrXdlK5A9R1Y/bycGrNZVA/8DImI6sbQRA3C3EyBqDANABh86dY8jwrTcK0fE8bPkIiobgxN1GCCfNzwyaTeUCv1L9+olTb4ZFJvrvHTDPAzJCKqnUIIwfuHG0hxcTGUSiV0Oh0cHByaujlNhqtJN3/8DInoYSL3+5srglODMzdTwL+jc1M3g+4DP0MiIkO8PEdEREQkA0MTERERkQwMTUREREQyMDQRERERycDQRERERCRDve6eE0Jg79692L9/P86fP48bN26gbdu26NWrF4YNGwYPD48H1U4iIiKiJiVrpOnmzZv497//DQ8PDwQHB2PLli0oKiqCubk5zp49i6ioKHh5eeHpp59GSkrKg24zERERUaOTNdLUuXNn9O/fH6tXr0ZgYCAsLS0Nai5cuIBvvvkG48aNw/z58xEZGdngjSUiIiJqKrJWBE9PT4ePj4+sA5aXl+PChQt49NFH77txzQ1XBCciImp+5H5/y7o8JzcwAYCVldVDGZiIiIioZav3z6icOXMGP//8M86fPw+FQgEvLy+MGjUKjzzyyINoHxEREZFJqFdoWrJkCRYsWICqqiqoVCoIIXD16lXMmTMH//73vzFr1qwH1U4iIiKiJiV7naY9e/Zg/vz5+Ne//oU///wTOTk5yM3NlULTnDlzsG/fvgfZViIiIqImI2siOACMGzcObdq0wZo1a4zu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\n", 505 | "text/plain": [ 506 | "
" 507 | ] 508 | }, 509 | "metadata": {}, 510 | "output_type": "display_data" 511 | } 512 | ], 513 | "source": [ 514 | "plt.scatter(x.mean() , y.mean(), color='red')\n", 515 | "plt.scatter(df['Starting (USD)'] , df['Ending (USD)'])\n", 516 | "plt.xlabel('Starting (USD)')\n", 517 | "plt.ylabel('Ending (USD)')\n", 518 | "plt.title('NASDAQ100 Stock Prices')" 519 | ] 520 | }, 521 | { 522 | "cell_type": "code", 523 | "execution_count": 16, 524 | "id": "57bc8e23", 525 | "metadata": {}, 526 | "outputs": [ 527 | { 528 | "data": { 529 | "text/html": [ 530 | "
LinearRegression()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" 531 | ], 532 | "text/plain": [ 533 | "LinearRegression()" 534 | ] 535 | }, 536 | "execution_count": 16, 537 | "metadata": {}, 538 | "output_type": "execute_result" 539 | } 540 | ], 541 | "source": [ 542 | "reg.fit(x, y) #train the ml model" 543 | ] 544 | }, 545 | { 546 | "cell_type": "code", 547 | "execution_count": 17, 548 | "id": "b02bd09f", 549 | "metadata": {}, 550 | "outputs": [ 551 | { 552 | "data": { 553 | "text/plain": [ 554 | "array([[0.65258293]])" 555 | ] 556 | }, 557 | "execution_count": 17, 558 | "metadata": {}, 559 | "output_type": "execute_result" 560 | } 561 | ], 562 | "source": [ 563 | "m = reg.coef_\n", 564 | "m" 565 | ] 566 | }, 567 | { 568 | "cell_type": "code", 569 | "execution_count": 18, 570 | "id": "433be479", 571 | "metadata": {}, 572 | "outputs": [ 573 | { 574 | "data": { 575 | "text/plain": [ 576 | "array([5405.87555702])" 577 | ] 578 | }, 579 | "execution_count": 18, 580 | "metadata": {}, 581 | "output_type": "execute_result" 582 | } 583 | ], 584 | "source": [ 585 | "c = reg.intercept_\n", 586 | "c" 587 | ] 588 | }, 589 | { 590 | "cell_type": "code", 591 | "execution_count": 19, 592 | "id": "3ef77276", 593 | "metadata": {}, 594 | "outputs": [], 595 | "source": [ 596 | "# y = mx + c" 597 | ] 598 | }, 599 | { 600 | "cell_type": "code", 601 | "execution_count": 20, 602 | "id": "56fb1f92", 603 | "metadata": {}, 604 | "outputs": [ 605 | { 606 | "data": { 607 | "text/plain": [ 608 | "array([[16304.0105628]])" 609 | ] 610 | }, 611 | "execution_count": 20, 612 | "metadata": {}, 613 | "output_type": "execute_result" 614 | } 615 | ], 616 | "source": [ 617 | "m*16700 + c" 618 | ] 619 | }, 620 | { 621 | "cell_type": "code", 622 | "execution_count": 21, 623 | "id": "4fc26b21", 624 | "metadata": {}, 625 | "outputs": [ 626 | { 627 | "name": "stderr", 628 | "output_type": "stream", 629 | "text": [ 630 | "C:\\Users\\rashe\\anaconda3\\lib\\site-packages\\sklearn\\base.py:465: UserWarning: X does not have valid feature names, but LinearRegression was fitted with feature names\n", 631 | " warnings.warn(\n" 632 | ] 633 | }, 634 | { 635 | "data": { 636 | "text/plain": [ 637 | "array([[16304.0105628]])" 638 | ] 639 | }, 640 | "execution_count": 21, 641 | "metadata": {}, 642 | "output_type": "execute_result" 643 | } 644 | ], 645 | "source": [ 646 | "reg.predict([[16700]])" 647 | ] 648 | }, 649 | { 650 | "cell_type": "code", 651 | "execution_count": 22, 652 | "id": "27e484b6", 653 | "metadata": {}, 654 | "outputs": [ 655 | { 656 | "data": { 657 | "text/html": [ 658 | "
\n", 659 | "\n", 672 | "\n", 673 | " \n", 674 | " \n", 675 | " \n", 676 | " \n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \n", 706 | " \n", 707 | " \n", 708 | " \n", 709 | " \n", 710 | " \n", 711 | " \n", 712 | " \n", 713 | "
Starting (USD)Ending (USD)Predicted_y
0168001650016369.268856
1159001610015781.944215
2158001530015716.685922
3161001620015912.460802
4163001570016042.977389
\n", 714 | "
" 715 | ], 716 | "text/plain": [ 717 | " Starting (USD) Ending (USD) Predicted_y\n", 718 | "0 16800 16500 16369.268856\n", 719 | "1 15900 16100 15781.944215\n", 720 | "2 15800 15300 15716.685922\n", 721 | "3 16100 16200 15912.460802\n", 722 | "4 16300 15700 16042.977389" 723 | ] 724 | }, 725 | "execution_count": 22, 726 | "metadata": {}, 727 | "output_type": "execute_result" 728 | } 729 | ], 730 | "source": [ 731 | "df['Predicted_y'] = reg.predict(x)\n", 732 | "df.head()" 733 | ] 734 | }, 735 | { 736 | "cell_type": "code", 737 | "execution_count": 23, 738 | "id": "98a455c2", 739 | "metadata": {}, 740 | "outputs": [ 741 | { 742 | "data": { 743 | "text/plain": [ 744 | "Text(0.5, 1.0, 'NASDAQ100 Stock Prices')" 745 | ] 746 | }, 747 | "execution_count": 23, 748 | "metadata": {}, 749 | "output_type": "execute_result" 750 | }, 751 | { 752 | "data": { 753 | "image/png": "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G6vbHThwAI8++ijatGnzQP1ARHewaCKiOtWsWTP06dMHK1euxBNPPAEvLy+88847mDRpEtasWaNut2LFCuzatQtubm7qEZGVK1fC3t4effv2RUhICPz9/dG9e/f7fqeJiQn+97//Yd26dXB1da1SbEhlbGyMqKgo3LhxA7169cILL7yAefPmAUC1c5a6dOmCnj174scff9TYvnLlSrzwwgt466230LlzZ4wfPx4eHh6IjY2FicmdZfM8PT1hZWWFmTNnomvXrvDx8cGPP/6IL7/8EqGhoRr7Gzp0KFxcXNClSxfMmTMHnTp1wvHjxzFo0CCNdt9//z0mTZr0QH1ARP+SiZre00pE1IT98ccf6N+/P86fP1/tyM2OHTswa9YspKenw8io/v59mp6ejiFDhuDs2bN6W9yTqLHiiuBERNWIjIxEs2bN0K5dO5w/fx6vvfYa+vXrd99LXU8++STOnTuHv//+G25ubnrKtqorV67gm2++YcFEVAs40kREVI1vvvkGixYtQlZWFhwdHTF06FCsWLECzZs3r+/UiEjPWDQRERERScCJ4EREREQSsGgiIiIikoBFExEREZEELJqIiIiIJGDRRERERCQBiyYiIiIiCVg0EREREUnAoomIiIhIAhZNRERERBL8H799oy9GYYBCAAAAAElFTkSuQmCC\n", 754 | "text/plain": [ 755 | "
" 756 | ] 757 | }, 758 | "metadata": {}, 759 | "output_type": "display_data" 760 | } 761 | ], 762 | "source": [ 763 | "#plt.plot(x, df['Predicted_y'])\n", 764 | "plt.plot(x, reg.predict(x))\n", 765 | "plt.scatter(x.mean() , y.mean(), color='red')\n", 766 | "plt.scatter(df['Starting (USD)'] , df['Ending (USD)'])\n", 767 | "plt.xlabel('Starting (USD)')\n", 768 | "plt.ylabel('Ending (USD)')\n", 769 | "plt.title('NASDAQ100 Stock Prices')" 770 | ] 771 | }, 772 | { 773 | "cell_type": "code", 774 | "execution_count": 24, 775 | "id": "f57d4d8f", 776 | "metadata": {}, 777 | "outputs": [ 778 | { 779 | "name": "stderr", 780 | "output_type": "stream", 781 | "text": [ 782 | "C:\\Users\\rashe\\anaconda3\\lib\\site-packages\\sklearn\\base.py:465: UserWarning: X does not have valid feature names, but LinearRegression was fitted with feature names\n", 783 | " warnings.warn(\n" 784 | ] 785 | }, 786 | { 787 | "data": { 788 | "text/plain": [ 789 | "array([[16238.75226935]])" 790 | ] 791 | }, 792 | "execution_count": 24, 793 | "metadata": {}, 794 | "output_type": "execute_result" 795 | } 796 | ], 797 | "source": [ 798 | "reg.predict([[16600]])" 799 | ] 800 | }, 801 | { 802 | "cell_type": "code", 803 | "execution_count": 25, 804 | "id": "9bd6ba1d", 805 | "metadata": {}, 806 | "outputs": [ 807 | { 808 | "data": { 809 | "text/html": [ 810 | "
\n", 811 | "\n", 824 | "\n", 825 | " \n", 826 | " \n", 827 | " \n", 828 | " \n", 829 | " \n", 830 | " \n", 831 | " \n", 832 | " \n", 833 | " \n", 834 | " \n", 835 | " \n", 836 | " \n", 837 | " \n", 838 | " \n", 839 | " \n", 840 | " \n", 841 | " \n", 842 | " \n", 843 | " \n", 844 | " \n", 845 | " \n", 846 | " \n", 847 | " \n", 848 | " \n", 849 | " \n", 850 | " \n", 851 | " \n", 852 | " \n", 853 | " \n", 854 | " \n", 855 | " \n", 856 | " \n", 857 | " \n", 858 | " \n", 859 | " \n", 860 | " \n", 861 | " \n", 862 | " \n", 863 | " \n", 864 | " \n", 865 | "
Starting (USD)Ending (USD)Predicted_y
0168001650016369.268856
1159001610015781.944215
2158001530015716.685922
3161001620015912.460802
4163001570016042.977389
\n", 866 | "
" 867 | ], 868 | "text/plain": [ 869 | " Starting (USD) Ending (USD) Predicted_y\n", 870 | "0 16800 16500 16369.268856\n", 871 | "1 15900 16100 15781.944215\n", 872 | "2 15800 15300 15716.685922\n", 873 | "3 16100 16200 15912.460802\n", 874 | "4 16300 15700 16042.977389" 875 | ] 876 | }, 877 | "execution_count": 25, 878 | "metadata": {}, 879 | "output_type": "execute_result" 880 | } 881 | ], 882 | "source": [ 883 | "df.head()" 884 | ] 885 | }, 886 | { 887 | "cell_type": "markdown", 888 | "id": "c4d1930d", 889 | "metadata": {}, 890 | "source": [ 891 | "# Loss and Cost Function" 892 | ] 893 | }, 894 | { 895 | "cell_type": "code", 896 | "execution_count": 26, 897 | "id": "ed571581", 898 | "metadata": {}, 899 | "outputs": [], 900 | "source": [ 901 | "df['loss'] = df['Ending (USD)'] - df['Predicted_y']" 902 | ] 903 | }, 904 | { 905 | "cell_type": "code", 906 | "execution_count": 27, 907 | "id": "95cf493c", 908 | "metadata": {}, 909 | "outputs": [ 910 | { 911 | "data": { 912 | "text/html": [ 913 | "
\n", 914 | "\n", 927 | "\n", 928 | " \n", 929 | " \n", 930 | " \n", 931 | " \n", 932 | " \n", 933 | " \n", 934 | " \n", 935 | " \n", 936 | " \n", 937 | " \n", 938 | " \n", 939 | " \n", 940 | " \n", 941 | " \n", 942 | " \n", 943 | " \n", 944 | " \n", 945 | " \n", 946 | " \n", 947 | " \n", 948 | " \n", 949 | " \n", 950 | " \n", 951 | " \n", 952 | " \n", 953 | " \n", 954 | " \n", 955 | " \n", 956 | " \n", 957 | " \n", 958 | " \n", 959 | " \n", 960 | " \n", 961 | " \n", 962 | " \n", 963 | " \n", 964 | " \n", 965 | " \n", 966 | " \n", 967 | " \n", 968 | " \n", 969 | " \n", 970 | " \n", 971 | " \n", 972 | " \n", 973 | " \n", 974 | "
Starting (USD)Ending (USD)Predicted_yloss
0168001650016369.268856130.731144
1159001610015781.944215318.055785
2158001530015716.685922-416.685922
3161001620015912.460802287.539198
4163001570016042.977389-342.977389
\n", 975 | "
" 976 | ], 977 | "text/plain": [ 978 | " Starting (USD) Ending (USD) Predicted_y loss\n", 979 | "0 16800 16500 16369.268856 130.731144\n", 980 | "1 15900 16100 15781.944215 318.055785\n", 981 | "2 15800 15300 15716.685922 -416.685922\n", 982 | "3 16100 16200 15912.460802 287.539198\n", 983 | "4 16300 15700 16042.977389 -342.977389" 984 | ] 985 | }, 986 | "execution_count": 27, 987 | "metadata": {}, 988 | "output_type": "execute_result" 989 | } 990 | ], 991 | "source": [ 992 | "df.head()" 993 | ] 994 | }, 995 | { 996 | "cell_type": "code", 997 | "execution_count": 28, 998 | "id": "3552daca", 999 | "metadata": {}, 1000 | "outputs": [], 1001 | "source": [ 1002 | "#MSE and mae\n", 1003 | "from sklearn.metrics import mean_squared_error, mean_absolute_error" 1004 | ] 1005 | }, 1006 | { 1007 | "cell_type": "code", 1008 | "execution_count": 29, 1009 | "id": "72673cd2", 1010 | "metadata": {}, 1011 | "outputs": [ 1012 | { 1013 | "data": { 1014 | "text/plain": [ 1015 | "80411.23397700385" 1016 | ] 1017 | }, 1018 | "execution_count": 29, 1019 | "metadata": {}, 1020 | "output_type": "execute_result" 1021 | } 1022 | ], 1023 | "source": [ 1024 | "mse = mean_squared_error(df['Ending (USD)'], df['Predicted_y'])\n", 1025 | "mse" 1026 | ] 1027 | }, 1028 | { 1029 | "cell_type": "code", 1030 | "execution_count": 30, 1031 | "id": "a4912c82", 1032 | "metadata": {}, 1033 | "outputs": [ 1034 | { 1035 | "data": { 1036 | "text/plain": [ 1037 | "260.3840017604666" 1038 | ] 1039 | }, 1040 | "execution_count": 30, 1041 | "metadata": {}, 1042 | "output_type": "execute_result" 1043 | } 1044 | ], 1045 | "source": [ 1046 | "mae = mean_absolute_error(df['Ending (USD)'], df['Predicted_y'])\n", 1047 | "mae" 1048 | ] 1049 | }, 1050 | { 1051 | "cell_type": "code", 1052 | "execution_count": 31, 1053 | "id": "c58b0c1c", 1054 | "metadata": {}, 1055 | "outputs": [ 1056 | { 1057 | "data": { 1058 | "text/plain": [ 1059 | "260.3840017604666" 1060 | ] 1061 | }, 1062 | "execution_count": 31, 1063 | "metadata": {}, 1064 | "output_type": "execute_result" 1065 | } 1066 | ], 1067 | "source": [ 1068 | "sum(abs(df['loss'])) / len(x)" 1069 | ] 1070 | }, 1071 | { 1072 | "cell_type": "code", 1073 | "execution_count": 32, 1074 | "id": "7a3ae7b3", 1075 | "metadata": {}, 1076 | "outputs": [ 1077 | { 1078 | "data": { 1079 | "text/plain": [ 1080 | "0.3577804940272571" 1081 | ] 1082 | }, 1083 | "execution_count": 32, 1084 | "metadata": {}, 1085 | "output_type": "execute_result" 1086 | } 1087 | ], 1088 | "source": [ 1089 | "reg.score(x,y)" 1090 | ] 1091 | }, 1092 | { 1093 | "cell_type": "code", 1094 | "execution_count": 33, 1095 | "id": "b7aca166", 1096 | "metadata": {}, 1097 | "outputs": [ 1098 | { 1099 | "data": { 1100 | "text/plain": [ 1101 | "Text(0.5, 1.0, 'NASDAQ100 Stock Prices')" 1102 | ] 1103 | }, 1104 | "execution_count": 33, 1105 | "metadata": {}, 1106 | "output_type": "execute_result" 1107 | }, 1108 | { 1109 | "data": { 1110 | "image/png": "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\n", 1111 | "text/plain": [ 1112 | "
" 1113 | ] 1114 | }, 1115 | "metadata": {}, 1116 | "output_type": "display_data" 1117 | } 1118 | ], 1119 | "source": [ 1120 | "#plt.plot(x, df['Predicted_y'])\n", 1121 | "plt.plot(x, reg.predict(x))\n", 1122 | "plt.scatter(x.mean() , y.mean(), color='red')\n", 1123 | "plt.scatter(df['Starting (USD)'] , df['Ending (USD)'])\n", 1124 | "plt.scatter(df['Starting (USD)'] , reg.predict(x))\n", 1125 | "plt.xlabel('Starting (USD)')\n", 1126 | "plt.ylabel('Ending (USD)')\n", 1127 | "plt.title('NASDAQ100 Stock Prices')" 1128 | ] 1129 | }, 1130 | { 1131 | "cell_type": "markdown", 1132 | "id": "98b450d2", 1133 | "metadata": {}, 1134 | "source": [ 1135 | "# R2 Squared Value / Accuracy for Regression" 1136 | ] 1137 | }, 1138 | { 1139 | "cell_type": "code", 1140 | "execution_count": 34, 1141 | "id": "2a8266b9", 1142 | "metadata": {}, 1143 | "outputs": [ 1144 | { 1145 | "data": { 1146 | "text/plain": [ 1147 | "0.3577804940272571" 1148 | ] 1149 | }, 1150 | "execution_count": 34, 1151 | "metadata": {}, 1152 | "output_type": "execute_result" 1153 | } 1154 | ], 1155 | "source": [ 1156 | "reg.score(x,y)" 1157 | ] 1158 | }, 1159 | { 1160 | "cell_type": "code", 1161 | "execution_count": 35, 1162 | "id": "85f6e2e9", 1163 | "metadata": {}, 1164 | "outputs": [ 1165 | { 1166 | "data": { 1167 | "text/plain": [ 1168 | "0.3577804940272571" 1169 | ] 1170 | }, 1171 | "execution_count": 35, 1172 | "metadata": {}, 1173 | "output_type": "execute_result" 1174 | } 1175 | ], 1176 | "source": [ 1177 | "from sklearn.metrics import r2_score\n", 1178 | "r2_score(y, reg.predict(x))" 1179 | ] 1180 | }, 1181 | { 1182 | "cell_type": "code", 1183 | "execution_count": null, 1184 | "id": "cb6ee492", 1185 | "metadata": {}, 1186 | "outputs": [], 1187 | "source": [] 1188 | } 1189 | ], 1190 | "metadata": { 1191 | "kernelspec": { 1192 | "display_name": "Python 3 (ipykernel)", 1193 | "language": "python", 1194 | "name": "python3" 1195 | }, 1196 | "language_info": { 1197 | "codemirror_mode": { 1198 | "name": "ipython", 1199 | "version": 3 1200 | }, 1201 | "file_extension": ".py", 1202 | "mimetype": "text/x-python", 1203 | "name": "python", 1204 | "nbconvert_exporter": "python", 1205 | "pygments_lexer": "ipython3", 1206 | "version": "3.9.13" 1207 | } 1208 | }, 1209 | "nbformat": 4, 1210 | "nbformat_minor": 5 1211 | } 1212 | --------------------------------------------------------------------------------