├── ISLRimage.jpg ├── README.md ├── data ├── Advertising.csv ├── Auto.csv ├── Boston.csv ├── Caravan.csv ├── Carseats.csv ├── Ch10Ex11.csv ├── College.csv ├── Credit.csv ├── Default.csv ├── Heart.csv ├── Hitters.csv ├── Income1.csv ├── Income2.csv ├── OJ.csv ├── Portfolio.csv ├── Smarket.csv ├── Wage.csv └── Weekly.csv └── notebooks ├── Ch2_Statistical_Learning ├── Applied │ ├── Ex10.ipynb │ ├── Ex8.ipynb │ └── Ex9.ipynb └── no_lab.txt ├── Ch3_Linear_Regression ├── Applied │ ├── Ch3_Ex10.ipynb │ ├── Ch3_Ex13.ipynb │ ├── Ch3_Ex14.ipynb │ ├── Ch3_Ex15.ipynb │ ├── Ch3_Ex8.ipynb │ ├── Ch3_Ex9.ipynb │ └── Ch3_Ex_11_12.ipynb └── Lab_Linear_Regression.ipynb ├── Ch4_Classification ├── Applied │ ├── Ch4_Ex10.ipynb │ ├── Ch4_Ex11.ipynb │ ├── Ch4_Ex12.ipynb │ └── Ch4_Ex13.ipynb └── Ch4_Lab_Classification.ipynb ├── Ch5_Resampling_Methods ├── Applied │ ├── Ch5_Ex5.ipynb │ ├── Ch5_Ex6.ipynb │ ├── Ch5_Ex7.ipynb │ ├── Ch5_Ex8.ipynb │ └── Ch5_Ex9.ipynb └── Ch5_Lab_Resampling.ipynb ├── Ch6_Linear_Model_Selection_Regularization ├── Applied │ ├── Ch6_Ex10.ipynb │ ├── Ch6_Ex11.ipynb │ ├── Ch6_Ex8.ipynb │ └── Ch6_Ex9.ipynb ├── Ch6_Lab_PCR_and_PLS.ipynb ├── Ch6_Lab_Ridge_and_Lasso_Regression.ipynb └── Ch6_Lab_Subset_Selection.ipynb ├── Ch7_Moving_Beyond_Linearity ├── Applied │ ├── Ch7_Applied_1.ipynb │ ├── Ch7_Applied_2.ipynb │ ├── Ch7_Applied_3.ipynb │ ├── Ch7_Applied_4.ipynb │ ├── Ch7_Applied_5.ipynb │ ├── Ch7_Applied_6.ipynb │ └── Ch7_Applied_7.ipynb └── Ch7_Lab.ipynb └── Ch8_Tree_Methods ├── Applied ├── Ch8_Applied_10.ipynb ├── Ch8_Applied_11.ipynb ├── Ch8_Applied_12.ipynb ├── Ch8_Applied_7.ipynb ├── Ch8_Applied_8.ipynb ├── Ch8_Applied_9.ipynb └── seat_tree.dot ├── Ch8_Lab1.ipynb ├── Ch8_Lab2.ipynb ├── Ch8_Lab3.ipynb ├── Ch8_Lab4.ipynb └── boston_tree.dot /ISLRimage.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscaudill/IntroStatLearn/b263181afb98d88610d617b4eeb4142a88409a42/ISLRimage.jpg -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ISLR -- Python: Labs and Applied 2 | 3 | 4 | 5 | Python code for Labs and Applied questions from the book: ['Introduction to 6 | Statistical Learning with Applications in 7 | R'](http://www-bcf.usc.edu/~gareth/ISL/) by James, Witten, Hastie and 8 | Tibshirani (2013). 9 | ___ 10 | 11 | This well-written book provides an excellent introduction to statistical learning methods. The algorithms and datasets used in the book are written in R. Since I use python for data analysis, I decided to rewrite the labs and 12 | answer the applied questions using python and the following packages: 13 | 14 | [Numpy](http://www.numpy.org/)
15 | [Scipy](https://www.scipy.org/)
16 | [Pandas](http://pandas.pydata.org/)
17 | [Scikit-learn](http://scikit-learn.org/stable/)
18 | [Statsmodels](http://statsmodels.sourceforge.net/)
19 | [Patsy](https://patsy.readthedocs.io/en/latest/)
20 | [Matplotlib](http://matplotlib.org/) 21 | 22 | I have also converted the R datasets into csv files. These can be found in 23 | the data directory. 24 | 25 | The code for each lab or applied question is written in a Jupyter notebook. 26 | For the applied questions, there is **no guarantee** that the solutions are 27 | correct. Suggestions and corrections are always welcome. 28 | 29 | ## Chapters 30 | - [Chapter 2: Statistical Learning](notebooks/Ch2_Statistical_Learning) 31 | - [Chapter 3: Linear Regression](notebooks/Ch3_Linear_Regression) 32 | - [Chapter 4: Classification](notebooks/Ch4_Classification) 33 | - [Chapter 5: Resampling Methods](notebooks/Ch5_Resampling_Methods) 34 | - [Chapter 6: Linear Model Selection & 35 | Regularization](notebooks/Ch6_Linear_Model_Selection_Regularization) 36 | - [Chapter 7: Moving Beyond Linearity 37 | ](notebooks/Ch7_Moving_Beyond_Linearity) 38 | - [Chapter 8: Tree-Based Methods](/notebooks/Ch8_Tree_Methods) 39 | - [Chapter 9: ]() 40 | - [Chapter 10:]() 41 | 42 | -------------------------------------------------------------------------------- /data/Advertising.csv: -------------------------------------------------------------------------------- 1 | "","TV","Radio","Newspaper","Sales" 2 | "1",230.1,37.8,69.2,22.1 3 | "2",44.5,39.3,45.1,10.4 4 | "3",17.2,45.9,69.3,9.3 5 | "4",151.5,41.3,58.5,18.5 6 | "5",180.8,10.8,58.4,12.9 7 | "6",8.7,48.9,75,7.2 8 | "7",57.5,32.8,23.5,11.8 9 | "8",120.2,19.6,11.6,13.2 10 | "9",8.6,2.1,1,4.8 11 | "10",199.8,2.6,21.2,10.6 12 | "11",66.1,5.8,24.2,8.6 13 | "12",214.7,24,4,17.4 14 | "13",23.8,35.1,65.9,9.2 15 | "14",97.5,7.6,7.2,9.7 16 | "15",204.1,32.9,46,19 17 | "16",195.4,47.7,52.9,22.4 18 | "17",67.8,36.6,114,12.5 19 | "18",281.4,39.6,55.8,24.4 20 | "19",69.2,20.5,18.3,11.3 21 | "20",147.3,23.9,19.1,14.6 22 | "21",218.4,27.7,53.4,18 23 | "22",237.4,5.1,23.5,12.5 24 | "23",13.2,15.9,49.6,5.6 25 | "24",228.3,16.9,26.2,15.5 26 | "25",62.3,12.6,18.3,9.7 27 | "26",262.9,3.5,19.5,12 28 | "27",142.9,29.3,12.6,15 29 | "28",240.1,16.7,22.9,15.9 30 | "29",248.8,27.1,22.9,18.9 31 | "30",70.6,16,40.8,10.5 32 | "31",292.9,28.3,43.2,21.4 33 | "32",112.9,17.4,38.6,11.9 34 | "33",97.2,1.5,30,9.6 35 | "34",265.6,20,0.3,17.4 36 | "35",95.7,1.4,7.4,9.5 37 | "36",290.7,4.1,8.5,12.8 38 | "37",266.9,43.8,5,25.4 39 | "38",74.7,49.4,45.7,14.7 40 | "39",43.1,26.7,35.1,10.1 41 | "40",228,37.7,32,21.5 42 | "41",202.5,22.3,31.6,16.6 43 | "42",177,33.4,38.7,17.1 44 | "43",293.6,27.7,1.8,20.7 45 | "44",206.9,8.4,26.4,12.9 46 | "45",25.1,25.7,43.3,8.5 47 | "46",175.1,22.5,31.5,14.9 48 | "47",89.7,9.9,35.7,10.6 49 | "48",239.9,41.5,18.5,23.2 50 | "49",227.2,15.8,49.9,14.8 51 | "50",66.9,11.7,36.8,9.7 52 | "51",199.8,3.1,34.6,11.4 53 | "52",100.4,9.6,3.6,10.7 54 | "53",216.4,41.7,39.6,22.6 55 | "54",182.6,46.2,58.7,21.2 56 | "55",262.7,28.8,15.9,20.2 57 | "56",198.9,49.4,60,23.7 58 | "57",7.3,28.1,41.4,5.5 59 | "58",136.2,19.2,16.6,13.2 60 | "59",210.8,49.6,37.7,23.8 61 | "60",210.7,29.5,9.3,18.4 62 | "61",53.5,2,21.4,8.1 63 | "62",261.3,42.7,54.7,24.2 64 | "63",239.3,15.5,27.3,15.7 65 | "64",102.7,29.6,8.4,14 66 | "65",131.1,42.8,28.9,18 67 | "66",69,9.3,0.9,9.3 68 | "67",31.5,24.6,2.2,9.5 69 | "68",139.3,14.5,10.2,13.4 70 | "69",237.4,27.5,11,18.9 71 | "70",216.8,43.9,27.2,22.3 72 | "71",199.1,30.6,38.7,18.3 73 | "72",109.8,14.3,31.7,12.4 74 | "73",26.8,33,19.3,8.8 75 | "74",129.4,5.7,31.3,11 76 | "75",213.4,24.6,13.1,17 77 | "76",16.9,43.7,89.4,8.7 78 | "77",27.5,1.6,20.7,6.9 79 | "78",120.5,28.5,14.2,14.2 80 | "79",5.4,29.9,9.4,5.3 81 | "80",116,7.7,23.1,11 82 | "81",76.4,26.7,22.3,11.8 83 | "82",239.8,4.1,36.9,12.3 84 | "83",75.3,20.3,32.5,11.3 85 | "84",68.4,44.5,35.6,13.6 86 | "85",213.5,43,33.8,21.7 87 | "86",193.2,18.4,65.7,15.2 88 | "87",76.3,27.5,16,12 89 | "88",110.7,40.6,63.2,16 90 | "89",88.3,25.5,73.4,12.9 91 | "90",109.8,47.8,51.4,16.7 92 | "91",134.3,4.9,9.3,11.2 93 | "92",28.6,1.5,33,7.3 94 | "93",217.7,33.5,59,19.4 95 | "94",250.9,36.5,72.3,22.2 96 | "95",107.4,14,10.9,11.5 97 | "96",163.3,31.6,52.9,16.9 98 | "97",197.6,3.5,5.9,11.7 99 | "98",184.9,21,22,15.5 100 | "99",289.7,42.3,51.2,25.4 101 | "100",135.2,41.7,45.9,17.2 102 | "101",222.4,4.3,49.8,11.7 103 | "102",296.4,36.3,100.9,23.8 104 | "103",280.2,10.1,21.4,14.8 105 | "104",187.9,17.2,17.9,14.7 106 | "105",238.2,34.3,5.3,20.7 107 | "106",137.9,46.4,59,19.2 108 | "107",25,11,29.7,7.2 109 | "108",90.4,0.3,23.2,8.7 110 | "109",13.1,0.4,25.6,5.3 111 | "110",255.4,26.9,5.5,19.8 112 | "111",225.8,8.2,56.5,13.4 113 | "112",241.7,38,23.2,21.8 114 | "113",175.7,15.4,2.4,14.1 115 | "114",209.6,20.6,10.7,15.9 116 | "115",78.2,46.8,34.5,14.6 117 | "116",75.1,35,52.7,12.6 118 | "117",139.2,14.3,25.6,12.2 119 | "118",76.4,0.8,14.8,9.4 120 | "119",125.7,36.9,79.2,15.9 121 | "120",19.4,16,22.3,6.6 122 | "121",141.3,26.8,46.2,15.5 123 | "122",18.8,21.7,50.4,7 124 | "123",224,2.4,15.6,11.6 125 | "124",123.1,34.6,12.4,15.2 126 | "125",229.5,32.3,74.2,19.7 127 | "126",87.2,11.8,25.9,10.6 128 | "127",7.8,38.9,50.6,6.6 129 | "128",80.2,0,9.2,8.8 130 | "129",220.3,49,3.2,24.7 131 | "130",59.6,12,43.1,9.7 132 | "131",0.7,39.6,8.7,1.6 133 | "132",265.2,2.9,43,12.7 134 | "133",8.4,27.2,2.1,5.7 135 | "134",219.8,33.5,45.1,19.6 136 | "135",36.9,38.6,65.6,10.8 137 | "136",48.3,47,8.5,11.6 138 | "137",25.6,39,9.3,9.5 139 | "138",273.7,28.9,59.7,20.8 140 | "139",43,25.9,20.5,9.6 141 | "140",184.9,43.9,1.7,20.7 142 | "141",73.4,17,12.9,10.9 143 | "142",193.7,35.4,75.6,19.2 144 | "143",220.5,33.2,37.9,20.1 145 | "144",104.6,5.7,34.4,10.4 146 | "145",96.2,14.8,38.9,11.4 147 | "146",140.3,1.9,9,10.3 148 | "147",240.1,7.3,8.7,13.2 149 | "148",243.2,49,44.3,25.4 150 | "149",38,40.3,11.9,10.9 151 | "150",44.7,25.8,20.6,10.1 152 | "151",280.7,13.9,37,16.1 153 | "152",121,8.4,48.7,11.6 154 | "153",197.6,23.3,14.2,16.6 155 | "154",171.3,39.7,37.7,19 156 | "155",187.8,21.1,9.5,15.6 157 | "156",4.1,11.6,5.7,3.2 158 | "157",93.9,43.5,50.5,15.3 159 | "158",149.8,1.3,24.3,10.1 160 | "159",11.7,36.9,45.2,7.3 161 | "160",131.7,18.4,34.6,12.9 162 | "161",172.5,18.1,30.7,14.4 163 | "162",85.7,35.8,49.3,13.3 164 | "163",188.4,18.1,25.6,14.9 165 | "164",163.5,36.8,7.4,18 166 | "165",117.2,14.7,5.4,11.9 167 | "166",234.5,3.4,84.8,11.9 168 | "167",17.9,37.6,21.6,8 169 | "168",206.8,5.2,19.4,12.2 170 | "169",215.4,23.6,57.6,17.1 171 | "170",284.3,10.6,6.4,15 172 | "171",50,11.6,18.4,8.4 173 | "172",164.5,20.9,47.4,14.5 174 | "173",19.6,20.1,17,7.6 175 | "174",168.4,7.1,12.8,11.7 176 | "175",222.4,3.4,13.1,11.5 177 | "176",276.9,48.9,41.8,27 178 | "177",248.4,30.2,20.3,20.2 179 | "178",170.2,7.8,35.2,11.7 180 | "179",276.7,2.3,23.7,11.8 181 | "180",165.6,10,17.6,12.6 182 | "181",156.6,2.6,8.3,10.5 183 | "182",218.5,5.4,27.4,12.2 184 | "183",56.2,5.7,29.7,8.7 185 | "184",287.6,43,71.8,26.2 186 | "185",253.8,21.3,30,17.6 187 | "186",205,45.1,19.6,22.6 188 | "187",139.5,2.1,26.6,10.3 189 | "188",191.1,28.7,18.2,17.3 190 | "189",286,13.9,3.7,15.9 191 | "190",18.7,12.1,23.4,6.7 192 | "191",39.5,41.1,5.8,10.8 193 | "192",75.5,10.8,6,9.9 194 | "193",17.2,4.1,31.6,5.9 195 | "194",166.8,42,3.6,19.6 196 | "195",149.7,35.6,6,17.3 197 | "196",38.2,3.7,13.8,7.6 198 | "197",94.2,4.9,8.1,9.7 199 | "198",177,9.3,6.4,12.8 200 | "199",283.6,42,66.2,25.5 201 | "200",232.1,8.6,8.7,13.4 202 | -------------------------------------------------------------------------------- /data/Auto.csv: -------------------------------------------------------------------------------- 1 | mpg,cylinders,displacement,horsepower,weight,acceleration,year,origin,name 2 | 18,8,307,130,3504,12,70,1,chevrolet chevelle malibu 3 | 15,8,350,165,3693,11.5,70,1,buick skylark 320 4 | 18,8,318,150,3436,11,70,1,plymouth satellite 5 | 16,8,304,150,3433,12,70,1,amc rebel sst 6 | 17,8,302,140,3449,10.5,70,1,ford torino 7 | 15,8,429,198,4341,10,70,1,ford galaxie 500 8 | 14,8,454,220,4354,9,70,1,chevrolet impala 9 | 14,8,440,215,4312,8.5,70,1,plymouth fury iii 10 | 14,8,455,225,4425,10,70,1,pontiac catalina 11 | 15,8,390,190,3850,8.5,70,1,amc ambassador dpl 12 | 15,8,383,170,3563,10,70,1,dodge challenger se 13 | 14,8,340,160,3609,8,70,1,plymouth 'cuda 340 14 | 15,8,400,150,3761,9.5,70,1,chevrolet monte carlo 15 | 14,8,455,225,3086,10,70,1,buick estate wagon (sw) 16 | 24,4,113,95,2372,15,70,3,toyota corona mark ii 17 | 22,6,198,95,2833,15.5,70,1,plymouth duster 18 | 18,6,199,97,2774,15.5,70,1,amc hornet 19 | 21,6,200,85,2587,16,70,1,ford maverick 20 | 27,4,97,88,2130,14.5,70,3,datsun pl510 21 | 26,4,97,46,1835,20.5,70,2,volkswagen 1131 deluxe sedan 22 | 25,4,110,87,2672,17.5,70,2,peugeot 504 23 | 24,4,107,90,2430,14.5,70,2,audi 100 ls 24 | 25,4,104,95,2375,17.5,70,2,saab 99e 25 | 26,4,121,113,2234,12.5,70,2,bmw 2002 26 | 21,6,199,90,2648,15,70,1,amc gremlin 27 | 10,8,360,215,4615,14,70,1,ford f250 28 | 10,8,307,200,4376,15,70,1,chevy c20 29 | 11,8,318,210,4382,13.5,70,1,dodge d200 30 | 9,8,304,193,4732,18.5,70,1,hi 1200d 31 | 27,4,97,88,2130,14.5,71,3,datsun pl510 32 | 28,4,140,90,2264,15.5,71,1,chevrolet vega 2300 33 | 25,4,113,95,2228,14,71,3,toyota corona 34 | 25,4,98,?,2046,19,71,1,ford pinto 35 | 19,6,232,100,2634,13,71,1,amc gremlin 36 | 16,6,225,105,3439,15.5,71,1,plymouth satellite custom 37 | 17,6,250,100,3329,15.5,71,1,chevrolet chevelle malibu 38 | 19,6,250,88,3302,15.5,71,1,ford torino 500 39 | 18,6,232,100,3288,15.5,71,1,amc matador 40 | 14,8,350,165,4209,12,71,1,chevrolet impala 41 | 14,8,400,175,4464,11.5,71,1,pontiac catalina brougham 42 | 14,8,351,153,4154,13.5,71,1,ford galaxie 500 43 | 14,8,318,150,4096,13,71,1,plymouth fury iii 44 | 12,8,383,180,4955,11.5,71,1,dodge monaco (sw) 45 | 13,8,400,170,4746,12,71,1,ford country squire (sw) 46 | 13,8,400,175,5140,12,71,1,pontiac safari (sw) 47 | 18,6,258,110,2962,13.5,71,1,amc hornet sportabout (sw) 48 | 22,4,140,72,2408,19,71,1,chevrolet vega (sw) 49 | 19,6,250,100,3282,15,71,1,pontiac firebird 50 | 18,6,250,88,3139,14.5,71,1,ford mustang 51 | 23,4,122,86,2220,14,71,1,mercury capri 2000 52 | 28,4,116,90,2123,14,71,2,opel 1900 53 | 30,4,79,70,2074,19.5,71,2,peugeot 304 54 | 30,4,88,76,2065,14.5,71,2,fiat 124b 55 | 31,4,71,65,1773,19,71,3,toyota corolla 1200 56 | 35,4,72,69,1613,18,71,3,datsun 1200 57 | 27,4,97,60,1834,19,71,2,volkswagen model 111 58 | 26,4,91,70,1955,20.5,71,1,plymouth cricket 59 | 24,4,113,95,2278,15.5,72,3,toyota corona hardtop 60 | 25,4,97.5,80,2126,17,72,1,dodge colt hardtop 61 | 23,4,97,54,2254,23.5,72,2,volkswagen type 3 62 | 20,4,140,90,2408,19.5,72,1,chevrolet vega 63 | 21,4,122,86,2226,16.5,72,1,ford pinto runabout 64 | 13,8,350,165,4274,12,72,1,chevrolet impala 65 | 14,8,400,175,4385,12,72,1,pontiac catalina 66 | 15,8,318,150,4135,13.5,72,1,plymouth fury iii 67 | 14,8,351,153,4129,13,72,1,ford galaxie 500 68 | 17,8,304,150,3672,11.5,72,1,amc ambassador sst 69 | 11,8,429,208,4633,11,72,1,mercury marquis 70 | 13,8,350,155,4502,13.5,72,1,buick lesabre custom 71 | 12,8,350,160,4456,13.5,72,1,oldsmobile delta 88 royale 72 | 13,8,400,190,4422,12.5,72,1,chrysler newport royal 73 | 19,3,70,97,2330,13.5,72,3,mazda rx2 coupe 74 | 15,8,304,150,3892,12.5,72,1,amc matador (sw) 75 | 13,8,307,130,4098,14,72,1,chevrolet chevelle concours (sw) 76 | 13,8,302,140,4294,16,72,1,ford gran torino (sw) 77 | 14,8,318,150,4077,14,72,1,plymouth satellite custom (sw) 78 | 18,4,121,112,2933,14.5,72,2,volvo 145e (sw) 79 | 22,4,121,76,2511,18,72,2,volkswagen 411 (sw) 80 | 21,4,120,87,2979,19.5,72,2,peugeot 504 (sw) 81 | 26,4,96,69,2189,18,72,2,renault 12 (sw) 82 | 22,4,122,86,2395,16,72,1,ford pinto (sw) 83 | 28,4,97,92,2288,17,72,3,datsun 510 (sw) 84 | 23,4,120,97,2506,14.5,72,3,toyouta corona mark ii (sw) 85 | 28,4,98,80,2164,15,72,1,dodge colt (sw) 86 | 27,4,97,88,2100,16.5,72,3,toyota corolla 1600 (sw) 87 | 13,8,350,175,4100,13,73,1,buick century 350 88 | 14,8,304,150,3672,11.5,73,1,amc matador 89 | 13,8,350,145,3988,13,73,1,chevrolet malibu 90 | 14,8,302,137,4042,14.5,73,1,ford gran torino 91 | 15,8,318,150,3777,12.5,73,1,dodge coronet custom 92 | 12,8,429,198,4952,11.5,73,1,mercury marquis brougham 93 | 13,8,400,150,4464,12,73,1,chevrolet caprice classic 94 | 13,8,351,158,4363,13,73,1,ford ltd 95 | 14,8,318,150,4237,14.5,73,1,plymouth fury gran sedan 96 | 13,8,440,215,4735,11,73,1,chrysler new yorker brougham 97 | 12,8,455,225,4951,11,73,1,buick electra 225 custom 98 | 13,8,360,175,3821,11,73,1,amc ambassador brougham 99 | 18,6,225,105,3121,16.5,73,1,plymouth valiant 100 | 16,6,250,100,3278,18,73,1,chevrolet nova custom 101 | 18,6,232,100,2945,16,73,1,amc hornet 102 | 18,6,250,88,3021,16.5,73,1,ford maverick 103 | 23,6,198,95,2904,16,73,1,plymouth duster 104 | 26,4,97,46,1950,21,73,2,volkswagen super beetle 105 | 11,8,400,150,4997,14,73,1,chevrolet impala 106 | 12,8,400,167,4906,12.5,73,1,ford country 107 | 13,8,360,170,4654,13,73,1,plymouth custom suburb 108 | 12,8,350,180,4499,12.5,73,1,oldsmobile vista cruiser 109 | 18,6,232,100,2789,15,73,1,amc gremlin 110 | 20,4,97,88,2279,19,73,3,toyota carina 111 | 21,4,140,72,2401,19.5,73,1,chevrolet vega 112 | 22,4,108,94,2379,16.5,73,3,datsun 610 113 | 18,3,70,90,2124,13.5,73,3,maxda rx3 114 | 19,4,122,85,2310,18.5,73,1,ford pinto 115 | 21,6,155,107,2472,14,73,1,mercury capri v6 116 | 26,4,98,90,2265,15.5,73,2,fiat 124 sport coupe 117 | 15,8,350,145,4082,13,73,1,chevrolet monte carlo s 118 | 16,8,400,230,4278,9.5,73,1,pontiac grand prix 119 | 29,4,68,49,1867,19.5,73,2,fiat 128 120 | 24,4,116,75,2158,15.5,73,2,opel manta 121 | 20,4,114,91,2582,14,73,2,audi 100ls 122 | 19,4,121,112,2868,15.5,73,2,volvo 144ea 123 | 15,8,318,150,3399,11,73,1,dodge dart custom 124 | 24,4,121,110,2660,14,73,2,saab 99le 125 | 20,6,156,122,2807,13.5,73,3,toyota mark ii 126 | 11,8,350,180,3664,11,73,1,oldsmobile omega 127 | 20,6,198,95,3102,16.5,74,1,plymouth duster 128 | 21,6,200,?,2875,17,74,1,ford maverick 129 | 19,6,232,100,2901,16,74,1,amc hornet 130 | 15,6,250,100,3336,17,74,1,chevrolet nova 131 | 31,4,79,67,1950,19,74,3,datsun b210 132 | 26,4,122,80,2451,16.5,74,1,ford pinto 133 | 32,4,71,65,1836,21,74,3,toyota corolla 1200 134 | 25,4,140,75,2542,17,74,1,chevrolet vega 135 | 16,6,250,100,3781,17,74,1,chevrolet chevelle malibu classic 136 | 16,6,258,110,3632,18,74,1,amc matador 137 | 18,6,225,105,3613,16.5,74,1,plymouth satellite sebring 138 | 16,8,302,140,4141,14,74,1,ford gran torino 139 | 13,8,350,150,4699,14.5,74,1,buick century luxus (sw) 140 | 14,8,318,150,4457,13.5,74,1,dodge coronet custom (sw) 141 | 14,8,302,140,4638,16,74,1,ford gran torino (sw) 142 | 14,8,304,150,4257,15.5,74,1,amc matador (sw) 143 | 29,4,98,83,2219,16.5,74,2,audi fox 144 | 26,4,79,67,1963,15.5,74,2,volkswagen dasher 145 | 26,4,97,78,2300,14.5,74,2,opel manta 146 | 31,4,76,52,1649,16.5,74,3,toyota corona 147 | 32,4,83,61,2003,19,74,3,datsun 710 148 | 28,4,90,75,2125,14.5,74,1,dodge colt 149 | 24,4,90,75,2108,15.5,74,2,fiat 128 150 | 26,4,116,75,2246,14,74,2,fiat 124 tc 151 | 24,4,120,97,2489,15,74,3,honda civic 152 | 26,4,108,93,2391,15.5,74,3,subaru 153 | 31,4,79,67,2000,16,74,2,fiat x1.9 154 | 19,6,225,95,3264,16,75,1,plymouth valiant custom 155 | 18,6,250,105,3459,16,75,1,chevrolet nova 156 | 15,6,250,72,3432,21,75,1,mercury monarch 157 | 15,6,250,72,3158,19.5,75,1,ford maverick 158 | 16,8,400,170,4668,11.5,75,1,pontiac catalina 159 | 15,8,350,145,4440,14,75,1,chevrolet bel air 160 | 16,8,318,150,4498,14.5,75,1,plymouth grand fury 161 | 14,8,351,148,4657,13.5,75,1,ford ltd 162 | 17,6,231,110,3907,21,75,1,buick century 163 | 16,6,250,105,3897,18.5,75,1,chevroelt chevelle malibu 164 | 15,6,258,110,3730,19,75,1,amc matador 165 | 18,6,225,95,3785,19,75,1,plymouth fury 166 | 21,6,231,110,3039,15,75,1,buick skyhawk 167 | 20,8,262,110,3221,13.5,75,1,chevrolet monza 2+2 168 | 13,8,302,129,3169,12,75,1,ford mustang ii 169 | 29,4,97,75,2171,16,75,3,toyota corolla 170 | 23,4,140,83,2639,17,75,1,ford pinto 171 | 20,6,232,100,2914,16,75,1,amc gremlin 172 | 23,4,140,78,2592,18.5,75,1,pontiac astro 173 | 24,4,134,96,2702,13.5,75,3,toyota corona 174 | 25,4,90,71,2223,16.5,75,2,volkswagen dasher 175 | 24,4,119,97,2545,17,75,3,datsun 710 176 | 18,6,171,97,2984,14.5,75,1,ford pinto 177 | 29,4,90,70,1937,14,75,2,volkswagen rabbit 178 | 19,6,232,90,3211,17,75,1,amc pacer 179 | 23,4,115,95,2694,15,75,2,audi 100ls 180 | 23,4,120,88,2957,17,75,2,peugeot 504 181 | 22,4,121,98,2945,14.5,75,2,volvo 244dl 182 | 25,4,121,115,2671,13.5,75,2,saab 99le 183 | 33,4,91,53,1795,17.5,75,3,honda civic cvcc 184 | 28,4,107,86,2464,15.5,76,2,fiat 131 185 | 25,4,116,81,2220,16.9,76,2,opel 1900 186 | 25,4,140,92,2572,14.9,76,1,capri ii 187 | 26,4,98,79,2255,17.7,76,1,dodge colt 188 | 27,4,101,83,2202,15.3,76,2,renault 12tl 189 | 17.5,8,305,140,4215,13,76,1,chevrolet chevelle malibu classic 190 | 16,8,318,150,4190,13,76,1,dodge coronet brougham 191 | 15.5,8,304,120,3962,13.9,76,1,amc matador 192 | 14.5,8,351,152,4215,12.8,76,1,ford gran torino 193 | 22,6,225,100,3233,15.4,76,1,plymouth valiant 194 | 22,6,250,105,3353,14.5,76,1,chevrolet nova 195 | 24,6,200,81,3012,17.6,76,1,ford maverick 196 | 22.5,6,232,90,3085,17.6,76,1,amc hornet 197 | 29,4,85,52,2035,22.2,76,1,chevrolet chevette 198 | 24.5,4,98,60,2164,22.1,76,1,chevrolet woody 199 | 29,4,90,70,1937,14.2,76,2,vw rabbit 200 | 33,4,91,53,1795,17.4,76,3,honda civic 201 | 20,6,225,100,3651,17.7,76,1,dodge aspen se 202 | 18,6,250,78,3574,21,76,1,ford granada ghia 203 | 18.5,6,250,110,3645,16.2,76,1,pontiac ventura sj 204 | 17.5,6,258,95,3193,17.8,76,1,amc pacer d/l 205 | 29.5,4,97,71,1825,12.2,76,2,volkswagen rabbit 206 | 32,4,85,70,1990,17,76,3,datsun b-210 207 | 28,4,97,75,2155,16.4,76,3,toyota corolla 208 | 26.5,4,140,72,2565,13.6,76,1,ford pinto 209 | 20,4,130,102,3150,15.7,76,2,volvo 245 210 | 13,8,318,150,3940,13.2,76,1,plymouth volare premier v8 211 | 19,4,120,88,3270,21.9,76,2,peugeot 504 212 | 19,6,156,108,2930,15.5,76,3,toyota mark ii 213 | 16.5,6,168,120,3820,16.7,76,2,mercedes-benz 280s 214 | 16.5,8,350,180,4380,12.1,76,1,cadillac seville 215 | 13,8,350,145,4055,12,76,1,chevy c10 216 | 13,8,302,130,3870,15,76,1,ford f108 217 | 13,8,318,150,3755,14,76,1,dodge d100 218 | 31.5,4,98,68,2045,18.5,77,3,honda accord cvcc 219 | 30,4,111,80,2155,14.8,77,1,buick opel isuzu deluxe 220 | 36,4,79,58,1825,18.6,77,2,renault 5 gtl 221 | 25.5,4,122,96,2300,15.5,77,1,plymouth arrow gs 222 | 33.5,4,85,70,1945,16.8,77,3,datsun f-10 hatchback 223 | 17.5,8,305,145,3880,12.5,77,1,chevrolet caprice classic 224 | 17,8,260,110,4060,19,77,1,oldsmobile cutlass supreme 225 | 15.5,8,318,145,4140,13.7,77,1,dodge monaco brougham 226 | 15,8,302,130,4295,14.9,77,1,mercury cougar brougham 227 | 17.5,6,250,110,3520,16.4,77,1,chevrolet concours 228 | 20.5,6,231,105,3425,16.9,77,1,buick skylark 229 | 19,6,225,100,3630,17.7,77,1,plymouth volare custom 230 | 18.5,6,250,98,3525,19,77,1,ford granada 231 | 16,8,400,180,4220,11.1,77,1,pontiac grand prix lj 232 | 15.5,8,350,170,4165,11.4,77,1,chevrolet monte carlo landau 233 | 15.5,8,400,190,4325,12.2,77,1,chrysler cordoba 234 | 16,8,351,149,4335,14.5,77,1,ford thunderbird 235 | 29,4,97,78,1940,14.5,77,2,volkswagen rabbit custom 236 | 24.5,4,151,88,2740,16,77,1,pontiac sunbird coupe 237 | 26,4,97,75,2265,18.2,77,3,toyota corolla liftback 238 | 25.5,4,140,89,2755,15.8,77,1,ford mustang ii 2+2 239 | 30.5,4,98,63,2051,17,77,1,chevrolet chevette 240 | 33.5,4,98,83,2075,15.9,77,1,dodge colt m/m 241 | 30,4,97,67,1985,16.4,77,3,subaru dl 242 | 30.5,4,97,78,2190,14.1,77,2,volkswagen dasher 243 | 22,6,146,97,2815,14.5,77,3,datsun 810 244 | 21.5,4,121,110,2600,12.8,77,2,bmw 320i 245 | 21.5,3,80,110,2720,13.5,77,3,mazda rx-4 246 | 43.1,4,90,48,1985,21.5,78,2,volkswagen rabbit custom diesel 247 | 36.1,4,98,66,1800,14.4,78,1,ford fiesta 248 | 32.8,4,78,52,1985,19.4,78,3,mazda glc deluxe 249 | 39.4,4,85,70,2070,18.6,78,3,datsun b210 gx 250 | 36.1,4,91,60,1800,16.4,78,3,honda civic cvcc 251 | 19.9,8,260,110,3365,15.5,78,1,oldsmobile cutlass salon brougham 252 | 19.4,8,318,140,3735,13.2,78,1,dodge diplomat 253 | 20.2,8,302,139,3570,12.8,78,1,mercury monarch ghia 254 | 19.2,6,231,105,3535,19.2,78,1,pontiac phoenix lj 255 | 20.5,6,200,95,3155,18.2,78,1,chevrolet malibu 256 | 20.2,6,200,85,2965,15.8,78,1,ford fairmont (auto) 257 | 25.1,4,140,88,2720,15.4,78,1,ford fairmont (man) 258 | 20.5,6,225,100,3430,17.2,78,1,plymouth volare 259 | 19.4,6,232,90,3210,17.2,78,1,amc concord 260 | 20.6,6,231,105,3380,15.8,78,1,buick century special 261 | 20.8,6,200,85,3070,16.7,78,1,mercury zephyr 262 | 18.6,6,225,110,3620,18.7,78,1,dodge aspen 263 | 18.1,6,258,120,3410,15.1,78,1,amc concord d/l 264 | 19.2,8,305,145,3425,13.2,78,1,chevrolet monte carlo landau 265 | 17.7,6,231,165,3445,13.4,78,1,buick regal sport coupe (turbo) 266 | 18.1,8,302,139,3205,11.2,78,1,ford futura 267 | 17.5,8,318,140,4080,13.7,78,1,dodge magnum xe 268 | 30,4,98,68,2155,16.5,78,1,chevrolet chevette 269 | 27.5,4,134,95,2560,14.2,78,3,toyota corona 270 | 27.2,4,119,97,2300,14.7,78,3,datsun 510 271 | 30.9,4,105,75,2230,14.5,78,1,dodge omni 272 | 21.1,4,134,95,2515,14.8,78,3,toyota celica gt liftback 273 | 23.2,4,156,105,2745,16.7,78,1,plymouth sapporo 274 | 23.8,4,151,85,2855,17.6,78,1,oldsmobile starfire sx 275 | 23.9,4,119,97,2405,14.9,78,3,datsun 200-sx 276 | 20.3,5,131,103,2830,15.9,78,2,audi 5000 277 | 17,6,163,125,3140,13.6,78,2,volvo 264gl 278 | 21.6,4,121,115,2795,15.7,78,2,saab 99gle 279 | 16.2,6,163,133,3410,15.8,78,2,peugeot 604sl 280 | 31.5,4,89,71,1990,14.9,78,2,volkswagen scirocco 281 | 29.5,4,98,68,2135,16.6,78,3,honda accord lx 282 | 21.5,6,231,115,3245,15.4,79,1,pontiac lemans v6 283 | 19.8,6,200,85,2990,18.2,79,1,mercury zephyr 6 284 | 22.3,4,140,88,2890,17.3,79,1,ford fairmont 4 285 | 20.2,6,232,90,3265,18.2,79,1,amc concord dl 6 286 | 20.6,6,225,110,3360,16.6,79,1,dodge aspen 6 287 | 17,8,305,130,3840,15.4,79,1,chevrolet caprice classic 288 | 17.6,8,302,129,3725,13.4,79,1,ford ltd landau 289 | 16.5,8,351,138,3955,13.2,79,1,mercury grand marquis 290 | 18.2,8,318,135,3830,15.2,79,1,dodge st. regis 291 | 16.9,8,350,155,4360,14.9,79,1,buick estate wagon (sw) 292 | 15.5,8,351,142,4054,14.3,79,1,ford country squire (sw) 293 | 19.2,8,267,125,3605,15,79,1,chevrolet malibu classic (sw) 294 | 18.5,8,360,150,3940,13,79,1,chrysler lebaron town @ country (sw) 295 | 31.9,4,89,71,1925,14,79,2,vw rabbit custom 296 | 34.1,4,86,65,1975,15.2,79,3,maxda glc deluxe 297 | 35.7,4,98,80,1915,14.4,79,1,dodge colt hatchback custom 298 | 27.4,4,121,80,2670,15,79,1,amc spirit dl 299 | 25.4,5,183,77,3530,20.1,79,2,mercedes benz 300d 300 | 23,8,350,125,3900,17.4,79,1,cadillac eldorado 301 | 27.2,4,141,71,3190,24.8,79,2,peugeot 504 302 | 23.9,8,260,90,3420,22.2,79,1,oldsmobile cutlass salon brougham 303 | 34.2,4,105,70,2200,13.2,79,1,plymouth horizon 304 | 34.5,4,105,70,2150,14.9,79,1,plymouth horizon tc3 305 | 31.8,4,85,65,2020,19.2,79,3,datsun 210 306 | 37.3,4,91,69,2130,14.7,79,2,fiat strada custom 307 | 28.4,4,151,90,2670,16,79,1,buick skylark limited 308 | 28.8,6,173,115,2595,11.3,79,1,chevrolet citation 309 | 26.8,6,173,115,2700,12.9,79,1,oldsmobile omega brougham 310 | 33.5,4,151,90,2556,13.2,79,1,pontiac phoenix 311 | 41.5,4,98,76,2144,14.7,80,2,vw rabbit 312 | 38.1,4,89,60,1968,18.8,80,3,toyota corolla tercel 313 | 32.1,4,98,70,2120,15.5,80,1,chevrolet chevette 314 | 37.2,4,86,65,2019,16.4,80,3,datsun 310 315 | 28,4,151,90,2678,16.5,80,1,chevrolet citation 316 | 26.4,4,140,88,2870,18.1,80,1,ford fairmont 317 | 24.3,4,151,90,3003,20.1,80,1,amc concord 318 | 19.1,6,225,90,3381,18.7,80,1,dodge aspen 319 | 34.3,4,97,78,2188,15.8,80,2,audi 4000 320 | 29.8,4,134,90,2711,15.5,80,3,toyota corona liftback 321 | 31.3,4,120,75,2542,17.5,80,3,mazda 626 322 | 37,4,119,92,2434,15,80,3,datsun 510 hatchback 323 | 32.2,4,108,75,2265,15.2,80,3,toyota corolla 324 | 46.6,4,86,65,2110,17.9,80,3,mazda glc 325 | 27.9,4,156,105,2800,14.4,80,1,dodge colt 326 | 40.8,4,85,65,2110,19.2,80,3,datsun 210 327 | 44.3,4,90,48,2085,21.7,80,2,vw rabbit c (diesel) 328 | 43.4,4,90,48,2335,23.7,80,2,vw dasher (diesel) 329 | 36.4,5,121,67,2950,19.9,80,2,audi 5000s (diesel) 330 | 30,4,146,67,3250,21.8,80,2,mercedes-benz 240d 331 | 44.6,4,91,67,1850,13.8,80,3,honda civic 1500 gl 332 | 40.9,4,85,?,1835,17.3,80,2,renault lecar deluxe 333 | 33.8,4,97,67,2145,18,80,3,subaru dl 334 | 29.8,4,89,62,1845,15.3,80,2,vokswagen rabbit 335 | 32.7,6,168,132,2910,11.4,80,3,datsun 280-zx 336 | 23.7,3,70,100,2420,12.5,80,3,mazda rx-7 gs 337 | 35,4,122,88,2500,15.1,80,2,triumph tr7 coupe 338 | 23.6,4,140,?,2905,14.3,80,1,ford mustang cobra 339 | 32.4,4,107,72,2290,17,80,3,honda accord 340 | 27.2,4,135,84,2490,15.7,81,1,plymouth reliant 341 | 26.6,4,151,84,2635,16.4,81,1,buick skylark 342 | 25.8,4,156,92,2620,14.4,81,1,dodge aries wagon (sw) 343 | 23.5,6,173,110,2725,12.6,81,1,chevrolet citation 344 | 30,4,135,84,2385,12.9,81,1,plymouth reliant 345 | 39.1,4,79,58,1755,16.9,81,3,toyota starlet 346 | 39,4,86,64,1875,16.4,81,1,plymouth champ 347 | 35.1,4,81,60,1760,16.1,81,3,honda civic 1300 348 | 32.3,4,97,67,2065,17.8,81,3,subaru 349 | 37,4,85,65,1975,19.4,81,3,datsun 210 mpg 350 | 37.7,4,89,62,2050,17.3,81,3,toyota tercel 351 | 34.1,4,91,68,1985,16,81,3,mazda glc 4 352 | 34.7,4,105,63,2215,14.9,81,1,plymouth horizon 4 353 | 34.4,4,98,65,2045,16.2,81,1,ford escort 4w 354 | 29.9,4,98,65,2380,20.7,81,1,ford escort 2h 355 | 33,4,105,74,2190,14.2,81,2,volkswagen jetta 356 | 34.5,4,100,?,2320,15.8,81,2,renault 18i 357 | 33.7,4,107,75,2210,14.4,81,3,honda prelude 358 | 32.4,4,108,75,2350,16.8,81,3,toyota corolla 359 | 32.9,4,119,100,2615,14.8,81,3,datsun 200sx 360 | 31.6,4,120,74,2635,18.3,81,3,mazda 626 361 | 28.1,4,141,80,3230,20.4,81,2,peugeot 505s turbo diesel 362 | 30.7,6,145,76,3160,19.6,81,2,volvo diesel 363 | 25.4,6,168,116,2900,12.6,81,3,toyota cressida 364 | 24.2,6,146,120,2930,13.8,81,3,datsun 810 maxima 365 | 22.4,6,231,110,3415,15.8,81,1,buick century 366 | 26.6,8,350,105,3725,19,81,1,oldsmobile cutlass ls 367 | 20.2,6,200,88,3060,17.1,81,1,ford granada gl 368 | 17.6,6,225,85,3465,16.6,81,1,chrysler lebaron salon 369 | 28,4,112,88,2605,19.6,82,1,chevrolet cavalier 370 | 27,4,112,88,2640,18.6,82,1,chevrolet cavalier wagon 371 | 34,4,112,88,2395,18,82,1,chevrolet cavalier 2-door 372 | 31,4,112,85,2575,16.2,82,1,pontiac j2000 se hatchback 373 | 29,4,135,84,2525,16,82,1,dodge aries se 374 | 27,4,151,90,2735,18,82,1,pontiac phoenix 375 | 24,4,140,92,2865,16.4,82,1,ford fairmont futura 376 | 36,4,105,74,1980,15.3,82,2,volkswagen rabbit l 377 | 37,4,91,68,2025,18.2,82,3,mazda glc custom l 378 | 31,4,91,68,1970,17.6,82,3,mazda glc custom 379 | 38,4,105,63,2125,14.7,82,1,plymouth horizon miser 380 | 36,4,98,70,2125,17.3,82,1,mercury lynx l 381 | 36,4,120,88,2160,14.5,82,3,nissan stanza xe 382 | 36,4,107,75,2205,14.5,82,3,honda accord 383 | 34,4,108,70,2245,16.9,82,3,toyota corolla 384 | 38,4,91,67,1965,15,82,3,honda civic 385 | 32,4,91,67,1965,15.7,82,3,honda civic (auto) 386 | 38,4,91,67,1995,16.2,82,3,datsun 310 gx 387 | 25,6,181,110,2945,16.4,82,1,buick century limited 388 | 38,6,262,85,3015,17,82,1,oldsmobile cutlass ciera (diesel) 389 | 26,4,156,92,2585,14.5,82,1,chrysler lebaron medallion 390 | 22,6,232,112,2835,14.7,82,1,ford granada l 391 | 32,4,144,96,2665,13.9,82,3,toyota celica gt 392 | 36,4,135,84,2370,13,82,1,dodge charger 2.2 393 | 27,4,151,90,2950,17.3,82,1,chevrolet camaro 394 | 27,4,140,86,2790,15.6,82,1,ford mustang gl 395 | 44,4,97,52,2130,24.6,82,2,vw pickup 396 | 32,4,135,84,2295,11.6,82,1,dodge rampage 397 | 28,4,120,79,2625,18.6,82,1,ford ranger 398 | 31,4,119,82,2720,19.4,82,1,chevy s-10 399 | -------------------------------------------------------------------------------- /data/Carseats.csv: -------------------------------------------------------------------------------- 1 | "","Sales","CompPrice","Income","Advertising","Population","Price","ShelveLoc","Age","Education","Urban","US" 2 | "1",9.5,138,73,11,276,120,"Bad",42,17,"Yes","Yes" 3 | "2",11.22,111,48,16,260,83,"Good",65,10,"Yes","Yes" 4 | "3",10.06,113,35,10,269,80,"Medium",59,12,"Yes","Yes" 5 | "4",7.4,117,100,4,466,97,"Medium",55,14,"Yes","Yes" 6 | "5",4.15,141,64,3,340,128,"Bad",38,13,"Yes","No" 7 | "6",10.81,124,113,13,501,72,"Bad",78,16,"No","Yes" 8 | "7",6.63,115,105,0,45,108,"Medium",71,15,"Yes","No" 9 | "8",11.85,136,81,15,425,120,"Good",67,10,"Yes","Yes" 10 | "9",6.54,132,110,0,108,124,"Medium",76,10,"No","No" 11 | "10",4.69,132,113,0,131,124,"Medium",76,17,"No","Yes" 12 | "11",9.01,121,78,9,150,100,"Bad",26,10,"No","Yes" 13 | "12",11.96,117,94,4,503,94,"Good",50,13,"Yes","Yes" 14 | "13",3.98,122,35,2,393,136,"Medium",62,18,"Yes","No" 15 | "14",10.96,115,28,11,29,86,"Good",53,18,"Yes","Yes" 16 | "15",11.17,107,117,11,148,118,"Good",52,18,"Yes","Yes" 17 | "16",8.71,149,95,5,400,144,"Medium",76,18,"No","No" 18 | "17",7.58,118,32,0,284,110,"Good",63,13,"Yes","No" 19 | "18",12.29,147,74,13,251,131,"Good",52,10,"Yes","Yes" 20 | "19",13.91,110,110,0,408,68,"Good",46,17,"No","Yes" 21 | "20",8.73,129,76,16,58,121,"Medium",69,12,"Yes","Yes" 22 | "21",6.41,125,90,2,367,131,"Medium",35,18,"Yes","Yes" 23 | "22",12.13,134,29,12,239,109,"Good",62,18,"No","Yes" 24 | "23",5.08,128,46,6,497,138,"Medium",42,13,"Yes","No" 25 | "24",5.87,121,31,0,292,109,"Medium",79,10,"Yes","No" 26 | "25",10.14,145,119,16,294,113,"Bad",42,12,"Yes","Yes" 27 | "26",14.9,139,32,0,176,82,"Good",54,11,"No","No" 28 | "27",8.33,107,115,11,496,131,"Good",50,11,"No","Yes" 29 | "28",5.27,98,118,0,19,107,"Medium",64,17,"Yes","No" 30 | "29",2.99,103,74,0,359,97,"Bad",55,11,"Yes","Yes" 31 | "30",7.81,104,99,15,226,102,"Bad",58,17,"Yes","Yes" 32 | "31",13.55,125,94,0,447,89,"Good",30,12,"Yes","No" 33 | "32",8.25,136,58,16,241,131,"Medium",44,18,"Yes","Yes" 34 | "33",6.2,107,32,12,236,137,"Good",64,10,"No","Yes" 35 | "34",8.77,114,38,13,317,128,"Good",50,16,"Yes","Yes" 36 | "35",2.67,115,54,0,406,128,"Medium",42,17,"Yes","Yes" 37 | "36",11.07,131,84,11,29,96,"Medium",44,17,"No","Yes" 38 | "37",8.89,122,76,0,270,100,"Good",60,18,"No","No" 39 | "38",4.95,121,41,5,412,110,"Medium",54,10,"Yes","Yes" 40 | "39",6.59,109,73,0,454,102,"Medium",65,15,"Yes","No" 41 | "40",3.24,130,60,0,144,138,"Bad",38,10,"No","No" 42 | "41",2.07,119,98,0,18,126,"Bad",73,17,"No","No" 43 | "42",7.96,157,53,0,403,124,"Bad",58,16,"Yes","No" 44 | "43",10.43,77,69,0,25,24,"Medium",50,18,"Yes","No" 45 | "44",4.12,123,42,11,16,134,"Medium",59,13,"Yes","Yes" 46 | "45",4.16,85,79,6,325,95,"Medium",69,13,"Yes","Yes" 47 | "46",4.56,141,63,0,168,135,"Bad",44,12,"Yes","Yes" 48 | "47",12.44,127,90,14,16,70,"Medium",48,15,"No","Yes" 49 | "48",4.38,126,98,0,173,108,"Bad",55,16,"Yes","No" 50 | "49",3.91,116,52,0,349,98,"Bad",69,18,"Yes","No" 51 | "50",10.61,157,93,0,51,149,"Good",32,17,"Yes","No" 52 | "51",1.42,99,32,18,341,108,"Bad",80,16,"Yes","Yes" 53 | "52",4.42,121,90,0,150,108,"Bad",75,16,"Yes","No" 54 | "53",7.91,153,40,3,112,129,"Bad",39,18,"Yes","Yes" 55 | "54",6.92,109,64,13,39,119,"Medium",61,17,"Yes","Yes" 56 | "55",4.9,134,103,13,25,144,"Medium",76,17,"No","Yes" 57 | "56",6.85,143,81,5,60,154,"Medium",61,18,"Yes","Yes" 58 | "57",11.91,133,82,0,54,84,"Medium",50,17,"Yes","No" 59 | "58",0.91,93,91,0,22,117,"Bad",75,11,"Yes","No" 60 | "59",5.42,103,93,15,188,103,"Bad",74,16,"Yes","Yes" 61 | "60",5.21,118,71,4,148,114,"Medium",80,13,"Yes","No" 62 | "61",8.32,122,102,19,469,123,"Bad",29,13,"Yes","Yes" 63 | "62",7.32,105,32,0,358,107,"Medium",26,13,"No","No" 64 | "63",1.82,139,45,0,146,133,"Bad",77,17,"Yes","Yes" 65 | "64",8.47,119,88,10,170,101,"Medium",61,13,"Yes","Yes" 66 | "65",7.8,100,67,12,184,104,"Medium",32,16,"No","Yes" 67 | "66",4.9,122,26,0,197,128,"Medium",55,13,"No","No" 68 | "67",8.85,127,92,0,508,91,"Medium",56,18,"Yes","No" 69 | "68",9.01,126,61,14,152,115,"Medium",47,16,"Yes","Yes" 70 | "69",13.39,149,69,20,366,134,"Good",60,13,"Yes","Yes" 71 | "70",7.99,127,59,0,339,99,"Medium",65,12,"Yes","No" 72 | "71",9.46,89,81,15,237,99,"Good",74,12,"Yes","Yes" 73 | "72",6.5,148,51,16,148,150,"Medium",58,17,"No","Yes" 74 | "73",5.52,115,45,0,432,116,"Medium",25,15,"Yes","No" 75 | "74",12.61,118,90,10,54,104,"Good",31,11,"No","Yes" 76 | "75",6.2,150,68,5,125,136,"Medium",64,13,"No","Yes" 77 | "76",8.55,88,111,23,480,92,"Bad",36,16,"No","Yes" 78 | "77",10.64,102,87,10,346,70,"Medium",64,15,"Yes","Yes" 79 | "78",7.7,118,71,12,44,89,"Medium",67,18,"No","Yes" 80 | "79",4.43,134,48,1,139,145,"Medium",65,12,"Yes","Yes" 81 | "80",9.14,134,67,0,286,90,"Bad",41,13,"Yes","No" 82 | "81",8.01,113,100,16,353,79,"Bad",68,11,"Yes","Yes" 83 | "82",7.52,116,72,0,237,128,"Good",70,13,"Yes","No" 84 | "83",11.62,151,83,4,325,139,"Good",28,17,"Yes","Yes" 85 | "84",4.42,109,36,7,468,94,"Bad",56,11,"Yes","Yes" 86 | "85",2.23,111,25,0,52,121,"Bad",43,18,"No","No" 87 | "86",8.47,125,103,0,304,112,"Medium",49,13,"No","No" 88 | "87",8.7,150,84,9,432,134,"Medium",64,15,"Yes","No" 89 | "88",11.7,131,67,7,272,126,"Good",54,16,"No","Yes" 90 | "89",6.56,117,42,7,144,111,"Medium",62,10,"Yes","Yes" 91 | "90",7.95,128,66,3,493,119,"Medium",45,16,"No","No" 92 | "91",5.33,115,22,0,491,103,"Medium",64,11,"No","No" 93 | "92",4.81,97,46,11,267,107,"Medium",80,15,"Yes","Yes" 94 | "93",4.53,114,113,0,97,125,"Medium",29,12,"Yes","No" 95 | "94",8.86,145,30,0,67,104,"Medium",55,17,"Yes","No" 96 | "95",8.39,115,97,5,134,84,"Bad",55,11,"Yes","Yes" 97 | "96",5.58,134,25,10,237,148,"Medium",59,13,"Yes","Yes" 98 | "97",9.48,147,42,10,407,132,"Good",73,16,"No","Yes" 99 | "98",7.45,161,82,5,287,129,"Bad",33,16,"Yes","Yes" 100 | "99",12.49,122,77,24,382,127,"Good",36,16,"No","Yes" 101 | "100",4.88,121,47,3,220,107,"Bad",56,16,"No","Yes" 102 | "101",4.11,113,69,11,94,106,"Medium",76,12,"No","Yes" 103 | "102",6.2,128,93,0,89,118,"Medium",34,18,"Yes","No" 104 | "103",5.3,113,22,0,57,97,"Medium",65,16,"No","No" 105 | "104",5.07,123,91,0,334,96,"Bad",78,17,"Yes","Yes" 106 | "105",4.62,121,96,0,472,138,"Medium",51,12,"Yes","No" 107 | "106",5.55,104,100,8,398,97,"Medium",61,11,"Yes","Yes" 108 | "107",0.16,102,33,0,217,139,"Medium",70,18,"No","No" 109 | "108",8.55,134,107,0,104,108,"Medium",60,12,"Yes","No" 110 | "109",3.47,107,79,2,488,103,"Bad",65,16,"Yes","No" 111 | "110",8.98,115,65,0,217,90,"Medium",60,17,"No","No" 112 | "111",9,128,62,7,125,116,"Medium",43,14,"Yes","Yes" 113 | "112",6.62,132,118,12,272,151,"Medium",43,14,"Yes","Yes" 114 | "113",6.67,116,99,5,298,125,"Good",62,12,"Yes","Yes" 115 | "114",6.01,131,29,11,335,127,"Bad",33,12,"Yes","Yes" 116 | "115",9.31,122,87,9,17,106,"Medium",65,13,"Yes","Yes" 117 | "116",8.54,139,35,0,95,129,"Medium",42,13,"Yes","No" 118 | "117",5.08,135,75,0,202,128,"Medium",80,10,"No","No" 119 | "118",8.8,145,53,0,507,119,"Medium",41,12,"Yes","No" 120 | "119",7.57,112,88,2,243,99,"Medium",62,11,"Yes","Yes" 121 | "120",7.37,130,94,8,137,128,"Medium",64,12,"Yes","Yes" 122 | "121",6.87,128,105,11,249,131,"Medium",63,13,"Yes","Yes" 123 | "122",11.67,125,89,10,380,87,"Bad",28,10,"Yes","Yes" 124 | "123",6.88,119,100,5,45,108,"Medium",75,10,"Yes","Yes" 125 | "124",8.19,127,103,0,125,155,"Good",29,15,"No","Yes" 126 | "125",8.87,131,113,0,181,120,"Good",63,14,"Yes","No" 127 | "126",9.34,89,78,0,181,49,"Medium",43,15,"No","No" 128 | "127",11.27,153,68,2,60,133,"Good",59,16,"Yes","Yes" 129 | "128",6.52,125,48,3,192,116,"Medium",51,14,"Yes","Yes" 130 | "129",4.96,133,100,3,350,126,"Bad",55,13,"Yes","Yes" 131 | "130",4.47,143,120,7,279,147,"Bad",40,10,"No","Yes" 132 | "131",8.41,94,84,13,497,77,"Medium",51,12,"Yes","Yes" 133 | "132",6.5,108,69,3,208,94,"Medium",77,16,"Yes","No" 134 | "133",9.54,125,87,9,232,136,"Good",72,10,"Yes","Yes" 135 | "134",7.62,132,98,2,265,97,"Bad",62,12,"Yes","Yes" 136 | "135",3.67,132,31,0,327,131,"Medium",76,16,"Yes","No" 137 | "136",6.44,96,94,14,384,120,"Medium",36,18,"No","Yes" 138 | "137",5.17,131,75,0,10,120,"Bad",31,18,"No","No" 139 | "138",6.52,128,42,0,436,118,"Medium",80,11,"Yes","No" 140 | "139",10.27,125,103,12,371,109,"Medium",44,10,"Yes","Yes" 141 | "140",12.3,146,62,10,310,94,"Medium",30,13,"No","Yes" 142 | "141",6.03,133,60,10,277,129,"Medium",45,18,"Yes","Yes" 143 | "142",6.53,140,42,0,331,131,"Bad",28,15,"Yes","No" 144 | "143",7.44,124,84,0,300,104,"Medium",77,15,"Yes","No" 145 | "144",0.53,122,88,7,36,159,"Bad",28,17,"Yes","Yes" 146 | "145",9.09,132,68,0,264,123,"Good",34,11,"No","No" 147 | "146",8.77,144,63,11,27,117,"Medium",47,17,"Yes","Yes" 148 | "147",3.9,114,83,0,412,131,"Bad",39,14,"Yes","No" 149 | "148",10.51,140,54,9,402,119,"Good",41,16,"No","Yes" 150 | "149",7.56,110,119,0,384,97,"Medium",72,14,"No","Yes" 151 | "150",11.48,121,120,13,140,87,"Medium",56,11,"Yes","Yes" 152 | "151",10.49,122,84,8,176,114,"Good",57,10,"No","Yes" 153 | "152",10.77,111,58,17,407,103,"Good",75,17,"No","Yes" 154 | "153",7.64,128,78,0,341,128,"Good",45,13,"No","No" 155 | "154",5.93,150,36,7,488,150,"Medium",25,17,"No","Yes" 156 | "155",6.89,129,69,10,289,110,"Medium",50,16,"No","Yes" 157 | "156",7.71,98,72,0,59,69,"Medium",65,16,"Yes","No" 158 | "157",7.49,146,34,0,220,157,"Good",51,16,"Yes","No" 159 | "158",10.21,121,58,8,249,90,"Medium",48,13,"No","Yes" 160 | "159",12.53,142,90,1,189,112,"Good",39,10,"No","Yes" 161 | "160",9.32,119,60,0,372,70,"Bad",30,18,"No","No" 162 | "161",4.67,111,28,0,486,111,"Medium",29,12,"No","No" 163 | "162",2.93,143,21,5,81,160,"Medium",67,12,"No","Yes" 164 | "163",3.63,122,74,0,424,149,"Medium",51,13,"Yes","No" 165 | "164",5.68,130,64,0,40,106,"Bad",39,17,"No","No" 166 | "165",8.22,148,64,0,58,141,"Medium",27,13,"No","Yes" 167 | "166",0.37,147,58,7,100,191,"Bad",27,15,"Yes","Yes" 168 | "167",6.71,119,67,17,151,137,"Medium",55,11,"Yes","Yes" 169 | "168",6.71,106,73,0,216,93,"Medium",60,13,"Yes","No" 170 | "169",7.3,129,89,0,425,117,"Medium",45,10,"Yes","No" 171 | "170",11.48,104,41,15,492,77,"Good",73,18,"Yes","Yes" 172 | "171",8.01,128,39,12,356,118,"Medium",71,10,"Yes","Yes" 173 | "172",12.49,93,106,12,416,55,"Medium",75,15,"Yes","Yes" 174 | "173",9.03,104,102,13,123,110,"Good",35,16,"Yes","Yes" 175 | "174",6.38,135,91,5,207,128,"Medium",66,18,"Yes","Yes" 176 | "175",0,139,24,0,358,185,"Medium",79,15,"No","No" 177 | "176",7.54,115,89,0,38,122,"Medium",25,12,"Yes","No" 178 | "177",5.61,138,107,9,480,154,"Medium",47,11,"No","Yes" 179 | "178",10.48,138,72,0,148,94,"Medium",27,17,"Yes","Yes" 180 | "179",10.66,104,71,14,89,81,"Medium",25,14,"No","Yes" 181 | "180",7.78,144,25,3,70,116,"Medium",77,18,"Yes","Yes" 182 | "181",4.94,137,112,15,434,149,"Bad",66,13,"Yes","Yes" 183 | "182",7.43,121,83,0,79,91,"Medium",68,11,"Yes","No" 184 | "183",4.74,137,60,4,230,140,"Bad",25,13,"Yes","No" 185 | "184",5.32,118,74,6,426,102,"Medium",80,18,"Yes","Yes" 186 | "185",9.95,132,33,7,35,97,"Medium",60,11,"No","Yes" 187 | "186",10.07,130,100,11,449,107,"Medium",64,10,"Yes","Yes" 188 | "187",8.68,120,51,0,93,86,"Medium",46,17,"No","No" 189 | "188",6.03,117,32,0,142,96,"Bad",62,17,"Yes","No" 190 | "189",8.07,116,37,0,426,90,"Medium",76,15,"Yes","No" 191 | "190",12.11,118,117,18,509,104,"Medium",26,15,"No","Yes" 192 | "191",8.79,130,37,13,297,101,"Medium",37,13,"No","Yes" 193 | "192",6.67,156,42,13,170,173,"Good",74,14,"Yes","Yes" 194 | "193",7.56,108,26,0,408,93,"Medium",56,14,"No","No" 195 | "194",13.28,139,70,7,71,96,"Good",61,10,"Yes","Yes" 196 | "195",7.23,112,98,18,481,128,"Medium",45,11,"Yes","Yes" 197 | "196",4.19,117,93,4,420,112,"Bad",66,11,"Yes","Yes" 198 | "197",4.1,130,28,6,410,133,"Bad",72,16,"Yes","Yes" 199 | "198",2.52,124,61,0,333,138,"Medium",76,16,"Yes","No" 200 | "199",3.62,112,80,5,500,128,"Medium",69,10,"Yes","Yes" 201 | "200",6.42,122,88,5,335,126,"Medium",64,14,"Yes","Yes" 202 | "201",5.56,144,92,0,349,146,"Medium",62,12,"No","No" 203 | "202",5.94,138,83,0,139,134,"Medium",54,18,"Yes","No" 204 | "203",4.1,121,78,4,413,130,"Bad",46,10,"No","Yes" 205 | "204",2.05,131,82,0,132,157,"Bad",25,14,"Yes","No" 206 | "205",8.74,155,80,0,237,124,"Medium",37,14,"Yes","No" 207 | "206",5.68,113,22,1,317,132,"Medium",28,12,"Yes","No" 208 | "207",4.97,162,67,0,27,160,"Medium",77,17,"Yes","Yes" 209 | "208",8.19,111,105,0,466,97,"Bad",61,10,"No","No" 210 | "209",7.78,86,54,0,497,64,"Bad",33,12,"Yes","No" 211 | "210",3.02,98,21,11,326,90,"Bad",76,11,"No","Yes" 212 | "211",4.36,125,41,2,357,123,"Bad",47,14,"No","Yes" 213 | "212",9.39,117,118,14,445,120,"Medium",32,15,"Yes","Yes" 214 | "213",12.04,145,69,19,501,105,"Medium",45,11,"Yes","Yes" 215 | "214",8.23,149,84,5,220,139,"Medium",33,10,"Yes","Yes" 216 | "215",4.83,115,115,3,48,107,"Medium",73,18,"Yes","Yes" 217 | "216",2.34,116,83,15,170,144,"Bad",71,11,"Yes","Yes" 218 | "217",5.73,141,33,0,243,144,"Medium",34,17,"Yes","No" 219 | "218",4.34,106,44,0,481,111,"Medium",70,14,"No","No" 220 | "219",9.7,138,61,12,156,120,"Medium",25,14,"Yes","Yes" 221 | "220",10.62,116,79,19,359,116,"Good",58,17,"Yes","Yes" 222 | "221",10.59,131,120,15,262,124,"Medium",30,10,"Yes","Yes" 223 | "222",6.43,124,44,0,125,107,"Medium",80,11,"Yes","No" 224 | "223",7.49,136,119,6,178,145,"Medium",35,13,"Yes","Yes" 225 | "224",3.45,110,45,9,276,125,"Medium",62,14,"Yes","Yes" 226 | "225",4.1,134,82,0,464,141,"Medium",48,13,"No","No" 227 | "226",6.68,107,25,0,412,82,"Bad",36,14,"Yes","No" 228 | "227",7.8,119,33,0,245,122,"Good",56,14,"Yes","No" 229 | "228",8.69,113,64,10,68,101,"Medium",57,16,"Yes","Yes" 230 | "229",5.4,149,73,13,381,163,"Bad",26,11,"No","Yes" 231 | "230",11.19,98,104,0,404,72,"Medium",27,18,"No","No" 232 | "231",5.16,115,60,0,119,114,"Bad",38,14,"No","No" 233 | "232",8.09,132,69,0,123,122,"Medium",27,11,"No","No" 234 | "233",13.14,137,80,10,24,105,"Good",61,15,"Yes","Yes" 235 | "234",8.65,123,76,18,218,120,"Medium",29,14,"No","Yes" 236 | "235",9.43,115,62,11,289,129,"Good",56,16,"No","Yes" 237 | "236",5.53,126,32,8,95,132,"Medium",50,17,"Yes","Yes" 238 | "237",9.32,141,34,16,361,108,"Medium",69,10,"Yes","Yes" 239 | "238",9.62,151,28,8,499,135,"Medium",48,10,"Yes","Yes" 240 | "239",7.36,121,24,0,200,133,"Good",73,13,"Yes","No" 241 | "240",3.89,123,105,0,149,118,"Bad",62,16,"Yes","Yes" 242 | "241",10.31,159,80,0,362,121,"Medium",26,18,"Yes","No" 243 | "242",12.01,136,63,0,160,94,"Medium",38,12,"Yes","No" 244 | "243",4.68,124,46,0,199,135,"Medium",52,14,"No","No" 245 | "244",7.82,124,25,13,87,110,"Medium",57,10,"Yes","Yes" 246 | "245",8.78,130,30,0,391,100,"Medium",26,18,"Yes","No" 247 | "246",10,114,43,0,199,88,"Good",57,10,"No","Yes" 248 | "247",6.9,120,56,20,266,90,"Bad",78,18,"Yes","Yes" 249 | "248",5.04,123,114,0,298,151,"Bad",34,16,"Yes","No" 250 | "249",5.36,111,52,0,12,101,"Medium",61,11,"Yes","Yes" 251 | "250",5.05,125,67,0,86,117,"Bad",65,11,"Yes","No" 252 | "251",9.16,137,105,10,435,156,"Good",72,14,"Yes","Yes" 253 | "252",3.72,139,111,5,310,132,"Bad",62,13,"Yes","Yes" 254 | "253",8.31,133,97,0,70,117,"Medium",32,16,"Yes","No" 255 | "254",5.64,124,24,5,288,122,"Medium",57,12,"No","Yes" 256 | "255",9.58,108,104,23,353,129,"Good",37,17,"Yes","Yes" 257 | "256",7.71,123,81,8,198,81,"Bad",80,15,"Yes","Yes" 258 | "257",4.2,147,40,0,277,144,"Medium",73,10,"Yes","No" 259 | "258",8.67,125,62,14,477,112,"Medium",80,13,"Yes","Yes" 260 | "259",3.47,108,38,0,251,81,"Bad",72,14,"No","No" 261 | "260",5.12,123,36,10,467,100,"Bad",74,11,"No","Yes" 262 | "261",7.67,129,117,8,400,101,"Bad",36,10,"Yes","Yes" 263 | "262",5.71,121,42,4,188,118,"Medium",54,15,"Yes","Yes" 264 | "263",6.37,120,77,15,86,132,"Medium",48,18,"Yes","Yes" 265 | "264",7.77,116,26,6,434,115,"Medium",25,17,"Yes","Yes" 266 | "265",6.95,128,29,5,324,159,"Good",31,15,"Yes","Yes" 267 | "266",5.31,130,35,10,402,129,"Bad",39,17,"Yes","Yes" 268 | "267",9.1,128,93,12,343,112,"Good",73,17,"No","Yes" 269 | "268",5.83,134,82,7,473,112,"Bad",51,12,"No","Yes" 270 | "269",6.53,123,57,0,66,105,"Medium",39,11,"Yes","No" 271 | "270",5.01,159,69,0,438,166,"Medium",46,17,"Yes","No" 272 | "271",11.99,119,26,0,284,89,"Good",26,10,"Yes","No" 273 | "272",4.55,111,56,0,504,110,"Medium",62,16,"Yes","No" 274 | "273",12.98,113,33,0,14,63,"Good",38,12,"Yes","No" 275 | "274",10.04,116,106,8,244,86,"Medium",58,12,"Yes","Yes" 276 | "275",7.22,135,93,2,67,119,"Medium",34,11,"Yes","Yes" 277 | "276",6.67,107,119,11,210,132,"Medium",53,11,"Yes","Yes" 278 | "277",6.93,135,69,14,296,130,"Medium",73,15,"Yes","Yes" 279 | "278",7.8,136,48,12,326,125,"Medium",36,16,"Yes","Yes" 280 | "279",7.22,114,113,2,129,151,"Good",40,15,"No","Yes" 281 | "280",3.42,141,57,13,376,158,"Medium",64,18,"Yes","Yes" 282 | "281",2.86,121,86,10,496,145,"Bad",51,10,"Yes","Yes" 283 | "282",11.19,122,69,7,303,105,"Good",45,16,"No","Yes" 284 | "283",7.74,150,96,0,80,154,"Good",61,11,"Yes","No" 285 | "284",5.36,135,110,0,112,117,"Medium",80,16,"No","No" 286 | "285",6.97,106,46,11,414,96,"Bad",79,17,"No","No" 287 | "286",7.6,146,26,11,261,131,"Medium",39,10,"Yes","Yes" 288 | "287",7.53,117,118,11,429,113,"Medium",67,18,"No","Yes" 289 | "288",6.88,95,44,4,208,72,"Bad",44,17,"Yes","Yes" 290 | "289",6.98,116,40,0,74,97,"Medium",76,15,"No","No" 291 | "290",8.75,143,77,25,448,156,"Medium",43,17,"Yes","Yes" 292 | "291",9.49,107,111,14,400,103,"Medium",41,11,"No","Yes" 293 | "292",6.64,118,70,0,106,89,"Bad",39,17,"Yes","No" 294 | "293",11.82,113,66,16,322,74,"Good",76,15,"Yes","Yes" 295 | "294",11.28,123,84,0,74,89,"Good",59,10,"Yes","No" 296 | "295",12.66,148,76,3,126,99,"Good",60,11,"Yes","Yes" 297 | "296",4.21,118,35,14,502,137,"Medium",79,10,"No","Yes" 298 | "297",8.21,127,44,13,160,123,"Good",63,18,"Yes","Yes" 299 | "298",3.07,118,83,13,276,104,"Bad",75,10,"Yes","Yes" 300 | "299",10.98,148,63,0,312,130,"Good",63,15,"Yes","No" 301 | "300",9.4,135,40,17,497,96,"Medium",54,17,"No","Yes" 302 | "301",8.57,116,78,1,158,99,"Medium",45,11,"Yes","Yes" 303 | "302",7.41,99,93,0,198,87,"Medium",57,16,"Yes","Yes" 304 | "303",5.28,108,77,13,388,110,"Bad",74,14,"Yes","Yes" 305 | "304",10.01,133,52,16,290,99,"Medium",43,11,"Yes","Yes" 306 | "305",11.93,123,98,12,408,134,"Good",29,10,"Yes","Yes" 307 | "306",8.03,115,29,26,394,132,"Medium",33,13,"Yes","Yes" 308 | "307",4.78,131,32,1,85,133,"Medium",48,12,"Yes","Yes" 309 | "308",5.9,138,92,0,13,120,"Bad",61,12,"Yes","No" 310 | "309",9.24,126,80,19,436,126,"Medium",52,10,"Yes","Yes" 311 | "310",11.18,131,111,13,33,80,"Bad",68,18,"Yes","Yes" 312 | "311",9.53,175,65,29,419,166,"Medium",53,12,"Yes","Yes" 313 | "312",6.15,146,68,12,328,132,"Bad",51,14,"Yes","Yes" 314 | "313",6.8,137,117,5,337,135,"Bad",38,10,"Yes","Yes" 315 | "314",9.33,103,81,3,491,54,"Medium",66,13,"Yes","No" 316 | "315",7.72,133,33,10,333,129,"Good",71,14,"Yes","Yes" 317 | "316",6.39,131,21,8,220,171,"Good",29,14,"Yes","Yes" 318 | "317",15.63,122,36,5,369,72,"Good",35,10,"Yes","Yes" 319 | "318",6.41,142,30,0,472,136,"Good",80,15,"No","No" 320 | "319",10.08,116,72,10,456,130,"Good",41,14,"No","Yes" 321 | "320",6.97,127,45,19,459,129,"Medium",57,11,"No","Yes" 322 | "321",5.86,136,70,12,171,152,"Medium",44,18,"Yes","Yes" 323 | "322",7.52,123,39,5,499,98,"Medium",34,15,"Yes","No" 324 | "323",9.16,140,50,10,300,139,"Good",60,15,"Yes","Yes" 325 | "324",10.36,107,105,18,428,103,"Medium",34,12,"Yes","Yes" 326 | "325",2.66,136,65,4,133,150,"Bad",53,13,"Yes","Yes" 327 | "326",11.7,144,69,11,131,104,"Medium",47,11,"Yes","Yes" 328 | "327",4.69,133,30,0,152,122,"Medium",53,17,"Yes","No" 329 | "328",6.23,112,38,17,316,104,"Medium",80,16,"Yes","Yes" 330 | "329",3.15,117,66,1,65,111,"Bad",55,11,"Yes","Yes" 331 | "330",11.27,100,54,9,433,89,"Good",45,12,"Yes","Yes" 332 | "331",4.99,122,59,0,501,112,"Bad",32,14,"No","No" 333 | "332",10.1,135,63,15,213,134,"Medium",32,10,"Yes","Yes" 334 | "333",5.74,106,33,20,354,104,"Medium",61,12,"Yes","Yes" 335 | "334",5.87,136,60,7,303,147,"Medium",41,10,"Yes","Yes" 336 | "335",7.63,93,117,9,489,83,"Bad",42,13,"Yes","Yes" 337 | "336",6.18,120,70,15,464,110,"Medium",72,15,"Yes","Yes" 338 | "337",5.17,138,35,6,60,143,"Bad",28,18,"Yes","No" 339 | "338",8.61,130,38,0,283,102,"Medium",80,15,"Yes","No" 340 | "339",5.97,112,24,0,164,101,"Medium",45,11,"Yes","No" 341 | "340",11.54,134,44,4,219,126,"Good",44,15,"Yes","Yes" 342 | "341",7.5,140,29,0,105,91,"Bad",43,16,"Yes","No" 343 | "342",7.38,98,120,0,268,93,"Medium",72,10,"No","No" 344 | "343",7.81,137,102,13,422,118,"Medium",71,10,"No","Yes" 345 | "344",5.99,117,42,10,371,121,"Bad",26,14,"Yes","Yes" 346 | "345",8.43,138,80,0,108,126,"Good",70,13,"No","Yes" 347 | "346",4.81,121,68,0,279,149,"Good",79,12,"Yes","No" 348 | "347",8.97,132,107,0,144,125,"Medium",33,13,"No","No" 349 | "348",6.88,96,39,0,161,112,"Good",27,14,"No","No" 350 | "349",12.57,132,102,20,459,107,"Good",49,11,"Yes","Yes" 351 | "350",9.32,134,27,18,467,96,"Medium",49,14,"No","Yes" 352 | "351",8.64,111,101,17,266,91,"Medium",63,17,"No","Yes" 353 | "352",10.44,124,115,16,458,105,"Medium",62,16,"No","Yes" 354 | "353",13.44,133,103,14,288,122,"Good",61,17,"Yes","Yes" 355 | "354",9.45,107,67,12,430,92,"Medium",35,12,"No","Yes" 356 | "355",5.3,133,31,1,80,145,"Medium",42,18,"Yes","Yes" 357 | "356",7.02,130,100,0,306,146,"Good",42,11,"Yes","No" 358 | "357",3.58,142,109,0,111,164,"Good",72,12,"Yes","No" 359 | "358",13.36,103,73,3,276,72,"Medium",34,15,"Yes","Yes" 360 | "359",4.17,123,96,10,71,118,"Bad",69,11,"Yes","Yes" 361 | "360",3.13,130,62,11,396,130,"Bad",66,14,"Yes","Yes" 362 | "361",8.77,118,86,7,265,114,"Good",52,15,"No","Yes" 363 | "362",8.68,131,25,10,183,104,"Medium",56,15,"No","Yes" 364 | "363",5.25,131,55,0,26,110,"Bad",79,12,"Yes","Yes" 365 | "364",10.26,111,75,1,377,108,"Good",25,12,"Yes","No" 366 | "365",10.5,122,21,16,488,131,"Good",30,14,"Yes","Yes" 367 | "366",6.53,154,30,0,122,162,"Medium",57,17,"No","No" 368 | "367",5.98,124,56,11,447,134,"Medium",53,12,"No","Yes" 369 | "368",14.37,95,106,0,256,53,"Good",52,17,"Yes","No" 370 | "369",10.71,109,22,10,348,79,"Good",74,14,"No","Yes" 371 | "370",10.26,135,100,22,463,122,"Medium",36,14,"Yes","Yes" 372 | "371",7.68,126,41,22,403,119,"Bad",42,12,"Yes","Yes" 373 | "372",9.08,152,81,0,191,126,"Medium",54,16,"Yes","No" 374 | "373",7.8,121,50,0,508,98,"Medium",65,11,"No","No" 375 | "374",5.58,137,71,0,402,116,"Medium",78,17,"Yes","No" 376 | "375",9.44,131,47,7,90,118,"Medium",47,12,"Yes","Yes" 377 | "376",7.9,132,46,4,206,124,"Medium",73,11,"Yes","No" 378 | "377",16.27,141,60,19,319,92,"Good",44,11,"Yes","Yes" 379 | "378",6.81,132,61,0,263,125,"Medium",41,12,"No","No" 380 | "379",6.11,133,88,3,105,119,"Medium",79,12,"Yes","Yes" 381 | "380",5.81,125,111,0,404,107,"Bad",54,15,"Yes","No" 382 | "381",9.64,106,64,10,17,89,"Medium",68,17,"Yes","Yes" 383 | "382",3.9,124,65,21,496,151,"Bad",77,13,"Yes","Yes" 384 | "383",4.95,121,28,19,315,121,"Medium",66,14,"Yes","Yes" 385 | "384",9.35,98,117,0,76,68,"Medium",63,10,"Yes","No" 386 | "385",12.85,123,37,15,348,112,"Good",28,12,"Yes","Yes" 387 | "386",5.87,131,73,13,455,132,"Medium",62,17,"Yes","Yes" 388 | "387",5.32,152,116,0,170,160,"Medium",39,16,"Yes","No" 389 | "388",8.67,142,73,14,238,115,"Medium",73,14,"No","Yes" 390 | "389",8.14,135,89,11,245,78,"Bad",79,16,"Yes","Yes" 391 | "390",8.44,128,42,8,328,107,"Medium",35,12,"Yes","Yes" 392 | "391",5.47,108,75,9,61,111,"Medium",67,12,"Yes","Yes" 393 | "392",6.1,153,63,0,49,124,"Bad",56,16,"Yes","No" 394 | "393",4.53,129,42,13,315,130,"Bad",34,13,"Yes","Yes" 395 | "394",5.57,109,51,10,26,120,"Medium",30,17,"No","Yes" 396 | "395",5.35,130,58,19,366,139,"Bad",33,16,"Yes","Yes" 397 | "396",12.57,138,108,17,203,128,"Good",33,14,"Yes","Yes" 398 | "397",6.14,139,23,3,37,120,"Medium",55,11,"No","Yes" 399 | "398",7.41,162,26,12,368,159,"Medium",40,18,"Yes","Yes" 400 | "399",5.94,100,79,7,284,95,"Bad",50,12,"Yes","Yes" 401 | "400",9.71,134,37,0,27,120,"Good",49,16,"Yes","Yes" 402 | -------------------------------------------------------------------------------- /data/Credit.csv: -------------------------------------------------------------------------------- 1 | "","Income","Limit","Rating","Cards","Age","Education","Gender","Student","Married","Ethnicity","Balance" 2 | "1",14.891,3606,283,2,34,11," Male","No","Yes","Caucasian",333 3 | "2",106.025,6645,483,3,82,15,"Female","Yes","Yes","Asian",903 4 | "3",104.593,7075,514,4,71,11," Male","No","No","Asian",580 5 | "4",148.924,9504,681,3,36,11,"Female","No","No","Asian",964 6 | "5",55.882,4897,357,2,68,16," Male","No","Yes","Caucasian",331 7 | "6",80.18,8047,569,4,77,10," Male","No","No","Caucasian",1151 8 | "7",20.996,3388,259,2,37,12,"Female","No","No","African American",203 9 | "8",71.408,7114,512,2,87,9," Male","No","No","Asian",872 10 | "9",15.125,3300,266,5,66,13,"Female","No","No","Caucasian",279 11 | "10",71.061,6819,491,3,41,19,"Female","Yes","Yes","African American",1350 12 | "11",63.095,8117,589,4,30,14," Male","No","Yes","Caucasian",1407 13 | "12",15.045,1311,138,3,64,16," Male","No","No","Caucasian",0 14 | "13",80.616,5308,394,1,57,7,"Female","No","Yes","Asian",204 15 | "14",43.682,6922,511,1,49,9," Male","No","Yes","Caucasian",1081 16 | "15",19.144,3291,269,2,75,13,"Female","No","No","African American",148 17 | "16",20.089,2525,200,3,57,15,"Female","No","Yes","African American",0 18 | "17",53.598,3714,286,3,73,17,"Female","No","Yes","African American",0 19 | "18",36.496,4378,339,3,69,15,"Female","No","Yes","Asian",368 20 | "19",49.57,6384,448,1,28,9,"Female","No","Yes","Asian",891 21 | "20",42.079,6626,479,2,44,9," Male","No","No","Asian",1048 22 | "21",17.7,2860,235,4,63,16,"Female","No","No","Asian",89 23 | "22",37.348,6378,458,1,72,17,"Female","No","No","Caucasian",968 24 | "23",20.103,2631,213,3,61,10," Male","No","Yes","African American",0 25 | "24",64.027,5179,398,5,48,8," Male","No","Yes","African American",411 26 | "25",10.742,1757,156,3,57,15,"Female","No","No","Caucasian",0 27 | "26",14.09,4323,326,5,25,16,"Female","No","Yes","African American",671 28 | "27",42.471,3625,289,6,44,12,"Female","Yes","No","Caucasian",654 29 | "28",32.793,4534,333,2,44,16," Male","No","No","African American",467 30 | "29",186.634,13414,949,2,41,14,"Female","No","Yes","African American",1809 31 | "30",26.813,5611,411,4,55,16,"Female","No","No","Caucasian",915 32 | "31",34.142,5666,413,4,47,5,"Female","No","Yes","Caucasian",863 33 | "32",28.941,2733,210,5,43,16," Male","No","Yes","Asian",0 34 | "33",134.181,7838,563,2,48,13,"Female","No","No","Caucasian",526 35 | "34",31.367,1829,162,4,30,10," Male","No","Yes","Caucasian",0 36 | "35",20.15,2646,199,2,25,14,"Female","No","Yes","Asian",0 37 | "36",23.35,2558,220,3,49,12,"Female","Yes","No","Caucasian",419 38 | "37",62.413,6457,455,2,71,11,"Female","No","Yes","Caucasian",762 39 | "38",30.007,6481,462,2,69,9,"Female","No","Yes","Caucasian",1093 40 | "39",11.795,3899,300,4,25,10,"Female","No","No","Caucasian",531 41 | "40",13.647,3461,264,4,47,14," Male","No","Yes","Caucasian",344 42 | "41",34.95,3327,253,3,54,14,"Female","No","No","African American",50 43 | "42",113.659,7659,538,2,66,15," Male","Yes","Yes","African American",1155 44 | "43",44.158,4763,351,2,66,13,"Female","No","Yes","Asian",385 45 | "44",36.929,6257,445,1,24,14,"Female","No","Yes","Asian",976 46 | "45",31.861,6375,469,3,25,16,"Female","No","Yes","Caucasian",1120 47 | "46",77.38,7569,564,3,50,12,"Female","No","Yes","Caucasian",997 48 | "47",19.531,5043,376,2,64,16,"Female","Yes","Yes","Asian",1241 49 | "48",44.646,4431,320,2,49,15," Male","Yes","Yes","Caucasian",797 50 | "49",44.522,2252,205,6,72,15," Male","No","Yes","Asian",0 51 | "50",43.479,4569,354,4,49,13," Male","Yes","Yes","African American",902 52 | "51",36.362,5183,376,3,49,15," Male","No","Yes","African American",654 53 | "52",39.705,3969,301,2,27,20," Male","No","Yes","African American",211 54 | "53",44.205,5441,394,1,32,12," Male","No","Yes","Caucasian",607 55 | "54",16.304,5466,413,4,66,10," Male","No","Yes","Asian",957 56 | "55",15.333,1499,138,2,47,9,"Female","No","Yes","Asian",0 57 | "56",32.916,1786,154,2,60,8,"Female","No","Yes","Asian",0 58 | "57",57.1,4742,372,7,79,18,"Female","No","Yes","Asian",379 59 | "58",76.273,4779,367,4,65,14,"Female","No","Yes","Caucasian",133 60 | "59",10.354,3480,281,2,70,17," Male","No","Yes","Caucasian",333 61 | "60",51.872,5294,390,4,81,17,"Female","No","No","Caucasian",531 62 | "61",35.51,5198,364,2,35,20,"Female","No","No","Asian",631 63 | "62",21.238,3089,254,3,59,10,"Female","No","No","Caucasian",108 64 | "63",30.682,1671,160,2,77,7,"Female","No","No","Caucasian",0 65 | "64",14.132,2998,251,4,75,17," Male","No","No","Caucasian",133 66 | "65",32.164,2937,223,2,79,15,"Female","No","Yes","African American",0 67 | "66",12,4160,320,4,28,14,"Female","No","Yes","Caucasian",602 68 | "67",113.829,9704,694,4,38,13,"Female","No","Yes","Asian",1388 69 | "68",11.187,5099,380,4,69,16,"Female","No","No","African American",889 70 | "69",27.847,5619,418,2,78,15,"Female","No","Yes","Caucasian",822 71 | "70",49.502,6819,505,4,55,14," Male","No","Yes","Caucasian",1084 72 | "71",24.889,3954,318,4,75,12," Male","No","Yes","Caucasian",357 73 | "72",58.781,7402,538,2,81,12,"Female","No","Yes","Asian",1103 74 | "73",22.939,4923,355,1,47,18,"Female","No","Yes","Asian",663 75 | "74",23.989,4523,338,4,31,15," Male","No","No","Caucasian",601 76 | "75",16.103,5390,418,4,45,10,"Female","No","Yes","Caucasian",945 77 | "76",33.017,3180,224,2,28,16," Male","No","Yes","African American",29 78 | "77",30.622,3293,251,1,68,16," Male","Yes","No","Caucasian",532 79 | "78",20.936,3254,253,1,30,15,"Female","No","No","Asian",145 80 | "79",110.968,6662,468,3,45,11,"Female","No","Yes","Caucasian",391 81 | "80",15.354,2101,171,2,65,14," Male","No","No","Asian",0 82 | "81",27.369,3449,288,3,40,9,"Female","No","Yes","Caucasian",162 83 | "82",53.48,4263,317,1,83,15," Male","No","No","Caucasian",99 84 | "83",23.672,4433,344,3,63,11," Male","No","No","Caucasian",503 85 | "84",19.225,1433,122,3,38,14,"Female","No","No","Caucasian",0 86 | "85",43.54,2906,232,4,69,11," Male","No","No","Caucasian",0 87 | "86",152.298,12066,828,4,41,12,"Female","No","Yes","Asian",1779 88 | "87",55.367,6340,448,1,33,15," Male","No","Yes","Caucasian",815 89 | "88",11.741,2271,182,4,59,12,"Female","No","No","Asian",0 90 | "89",15.56,4307,352,4,57,8," Male","No","Yes","African American",579 91 | "90",59.53,7518,543,3,52,9,"Female","No","No","African American",1176 92 | "91",20.191,5767,431,4,42,16," Male","No","Yes","African American",1023 93 | "92",48.498,6040,456,3,47,16," Male","No","Yes","Caucasian",812 94 | "93",30.733,2832,249,4,51,13," Male","No","No","Caucasian",0 95 | "94",16.479,5435,388,2,26,16," Male","No","No","African American",937 96 | "95",38.009,3075,245,3,45,15,"Female","No","No","African American",0 97 | "96",14.084,855,120,5,46,17,"Female","No","Yes","African American",0 98 | "97",14.312,5382,367,1,59,17," Male","Yes","No","Asian",1380 99 | "98",26.067,3388,266,4,74,17,"Female","No","Yes","African American",155 100 | "99",36.295,2963,241,2,68,14,"Female","Yes","No","African American",375 101 | "100",83.851,8494,607,5,47,18," Male","No","No","Caucasian",1311 102 | "101",21.153,3736,256,1,41,11," Male","No","No","Caucasian",298 103 | "102",17.976,2433,190,3,70,16,"Female","Yes","No","Caucasian",431 104 | "103",68.713,7582,531,2,56,16," Male","Yes","No","Caucasian",1587 105 | "104",146.183,9540,682,6,66,15," Male","No","No","Caucasian",1050 106 | "105",15.846,4768,365,4,53,12,"Female","No","No","Caucasian",745 107 | "106",12.031,3182,259,2,58,18,"Female","No","Yes","Caucasian",210 108 | "107",16.819,1337,115,2,74,15," Male","No","Yes","Asian",0 109 | "108",39.11,3189,263,3,72,12," Male","No","No","Asian",0 110 | "109",107.986,6033,449,4,64,14," Male","No","Yes","Caucasian",227 111 | "110",13.561,3261,279,5,37,19," Male","No","Yes","Asian",297 112 | "111",34.537,3271,250,3,57,17,"Female","No","Yes","Asian",47 113 | "112",28.575,2959,231,2,60,11,"Female","No","No","African American",0 114 | "113",46.007,6637,491,4,42,14," Male","No","Yes","Caucasian",1046 115 | "114",69.251,6386,474,4,30,12,"Female","No","Yes","Asian",768 116 | "115",16.482,3326,268,4,41,15," Male","No","No","Caucasian",271 117 | "116",40.442,4828,369,5,81,8,"Female","No","No","African American",510 118 | "117",35.177,2117,186,3,62,16,"Female","No","No","Caucasian",0 119 | "118",91.362,9113,626,1,47,17," Male","No","Yes","Asian",1341 120 | "119",27.039,2161,173,3,40,17,"Female","No","No","Caucasian",0 121 | "120",23.012,1410,137,3,81,16," Male","No","No","Caucasian",0 122 | "121",27.241,1402,128,2,67,15,"Female","No","Yes","Asian",0 123 | "122",148.08,8157,599,2,83,13," Male","No","Yes","Caucasian",454 124 | "123",62.602,7056,481,1,84,11,"Female","No","No","Caucasian",904 125 | "124",11.808,1300,117,3,77,14,"Female","No","No","African American",0 126 | "125",29.564,2529,192,1,30,12,"Female","No","Yes","Caucasian",0 127 | "126",27.578,2531,195,1,34,15,"Female","No","Yes","Caucasian",0 128 | "127",26.427,5533,433,5,50,15,"Female","Yes","Yes","Asian",1404 129 | "128",57.202,3411,259,3,72,11,"Female","No","No","Caucasian",0 130 | "129",123.299,8376,610,2,89,17," Male","Yes","No","African American",1259 131 | "130",18.145,3461,279,3,56,15," Male","No","Yes","African American",255 132 | "131",23.793,3821,281,4,56,12,"Female","Yes","Yes","African American",868 133 | "132",10.726,1568,162,5,46,19," Male","No","Yes","Asian",0 134 | "133",23.283,5443,407,4,49,13," Male","No","Yes","African American",912 135 | "134",21.455,5829,427,4,80,12,"Female","No","Yes","African American",1018 136 | "135",34.664,5835,452,3,77,15,"Female","No","Yes","African American",835 137 | "136",44.473,3500,257,3,81,16,"Female","No","No","African American",8 138 | "137",54.663,4116,314,2,70,8,"Female","No","No","African American",75 139 | "138",36.355,3613,278,4,35,9," Male","No","Yes","Asian",187 140 | "139",21.374,2073,175,2,74,11,"Female","No","Yes","Caucasian",0 141 | "140",107.841,10384,728,3,87,7," Male","No","No","African American",1597 142 | "141",39.831,6045,459,3,32,12,"Female","Yes","Yes","African American",1425 143 | "142",91.876,6754,483,2,33,10," Male","No","Yes","Caucasian",605 144 | "143",103.893,7416,549,3,84,17," Male","No","No","Asian",669 145 | "144",19.636,4896,387,3,64,10,"Female","No","No","African American",710 146 | "145",17.392,2748,228,3,32,14," Male","No","Yes","Caucasian",68 147 | "146",19.529,4673,341,2,51,14," Male","No","No","Asian",642 148 | "147",17.055,5110,371,3,55,15,"Female","No","Yes","Caucasian",805 149 | "148",23.857,1501,150,3,56,16," Male","No","Yes","Caucasian",0 150 | "149",15.184,2420,192,2,69,11,"Female","No","Yes","Caucasian",0 151 | "150",13.444,886,121,5,44,10," Male","No","Yes","Asian",0 152 | "151",63.931,5728,435,3,28,14,"Female","No","Yes","African American",581 153 | "152",35.864,4831,353,3,66,13,"Female","No","Yes","Caucasian",534 154 | "153",41.419,2120,184,4,24,11,"Female","Yes","No","Caucasian",156 155 | "154",92.112,4612,344,3,32,17," Male","No","No","Caucasian",0 156 | "155",55.056,3155,235,2,31,16," Male","No","Yes","African American",0 157 | "156",19.537,1362,143,4,34,9,"Female","No","Yes","Asian",0 158 | "157",31.811,4284,338,5,75,13,"Female","No","Yes","Caucasian",429 159 | "158",56.256,5521,406,2,72,16,"Female","Yes","Yes","Caucasian",1020 160 | "159",42.357,5550,406,2,83,12,"Female","No","Yes","Asian",653 161 | "160",53.319,3000,235,3,53,13," Male","No","No","Asian",0 162 | "161",12.238,4865,381,5,67,11,"Female","No","No","Caucasian",836 163 | "162",31.353,1705,160,3,81,14," Male","No","Yes","Caucasian",0 164 | "163",63.809,7530,515,1,56,12," Male","No","Yes","Caucasian",1086 165 | "164",13.676,2330,203,5,80,16,"Female","No","No","African American",0 166 | "165",76.782,5977,429,4,44,12," Male","No","Yes","Asian",548 167 | "166",25.383,4527,367,4,46,11," Male","No","Yes","Caucasian",570 168 | "167",35.691,2880,214,2,35,15," Male","No","No","African American",0 169 | "168",29.403,2327,178,1,37,14,"Female","No","Yes","Caucasian",0 170 | "169",27.47,2820,219,1,32,11,"Female","No","Yes","Asian",0 171 | "170",27.33,6179,459,4,36,12,"Female","No","Yes","Caucasian",1099 172 | "171",34.772,2021,167,3,57,9," Male","No","No","Asian",0 173 | "172",36.934,4270,299,1,63,9,"Female","No","Yes","Caucasian",283 174 | "173",76.348,4697,344,4,60,18," Male","No","No","Asian",108 175 | "174",14.887,4745,339,3,58,12," Male","No","Yes","African American",724 176 | "175",121.834,10673,750,3,54,16," Male","No","No","African American",1573 177 | "176",30.132,2168,206,3,52,17," Male","No","No","Caucasian",0 178 | "177",24.05,2607,221,4,32,18," Male","No","Yes","Caucasian",0 179 | "178",22.379,3965,292,2,34,14,"Female","No","Yes","Asian",384 180 | "179",28.316,4391,316,2,29,10,"Female","No","No","Caucasian",453 181 | "180",58.026,7499,560,5,67,11,"Female","No","No","Caucasian",1237 182 | "181",10.635,3584,294,5,69,16," Male","No","Yes","Asian",423 183 | "182",46.102,5180,382,3,81,12," Male","No","Yes","African American",516 184 | "183",58.929,6420,459,2,66,9,"Female","No","Yes","African American",789 185 | "184",80.861,4090,335,3,29,15,"Female","No","Yes","Asian",0 186 | "185",158.889,11589,805,1,62,17,"Female","No","Yes","Caucasian",1448 187 | "186",30.42,4442,316,1,30,14,"Female","No","No","African American",450 188 | "187",36.472,3806,309,2,52,13," Male","No","No","African American",188 189 | "188",23.365,2179,167,2,75,15," Male","No","No","Asian",0 190 | "189",83.869,7667,554,2,83,11," Male","No","No","African American",930 191 | "190",58.351,4411,326,2,85,16,"Female","No","Yes","Caucasian",126 192 | "191",55.187,5352,385,4,50,17,"Female","No","Yes","Caucasian",538 193 | "192",124.29,9560,701,3,52,17,"Female","Yes","No","Asian",1687 194 | "193",28.508,3933,287,4,56,14," Male","No","Yes","Asian",336 195 | "194",130.209,10088,730,7,39,19,"Female","No","Yes","Caucasian",1426 196 | "195",30.406,2120,181,2,79,14," Male","No","Yes","African American",0 197 | "196",23.883,5384,398,2,73,16,"Female","No","Yes","African American",802 198 | "197",93.039,7398,517,1,67,12," Male","No","Yes","African American",749 199 | "198",50.699,3977,304,2,84,17,"Female","No","No","African American",69 200 | "199",27.349,2000,169,4,51,16,"Female","No","Yes","African American",0 201 | "200",10.403,4159,310,3,43,7," Male","No","Yes","Asian",571 202 | "201",23.949,5343,383,2,40,18," Male","No","Yes","African American",829 203 | "202",73.914,7333,529,6,67,15,"Female","No","Yes","Caucasian",1048 204 | "203",21.038,1448,145,2,58,13,"Female","No","Yes","Caucasian",0 205 | "204",68.206,6784,499,5,40,16,"Female","Yes","No","African American",1411 206 | "205",57.337,5310,392,2,45,7,"Female","No","No","Caucasian",456 207 | "206",10.793,3878,321,8,29,13," Male","No","No","Caucasian",638 208 | "207",23.45,2450,180,2,78,13," Male","No","No","Caucasian",0 209 | "208",10.842,4391,358,5,37,10,"Female","Yes","Yes","Caucasian",1216 210 | "209",51.345,4327,320,3,46,15," Male","No","No","African American",230 211 | "210",151.947,9156,642,2,91,11,"Female","No","Yes","African American",732 212 | "211",24.543,3206,243,2,62,12,"Female","No","Yes","Caucasian",95 213 | "212",29.567,5309,397,3,25,15," Male","No","No","Caucasian",799 214 | "213",39.145,4351,323,2,66,13," Male","No","Yes","Caucasian",308 215 | "214",39.422,5245,383,2,44,19," Male","No","No","African American",637 216 | "215",34.909,5289,410,2,62,16,"Female","No","Yes","Caucasian",681 217 | "216",41.025,4229,337,3,79,19,"Female","No","Yes","Caucasian",246 218 | "217",15.476,2762,215,3,60,18," Male","No","No","Asian",52 219 | "218",12.456,5395,392,3,65,14," Male","No","Yes","Caucasian",955 220 | "219",10.627,1647,149,2,71,10,"Female","Yes","Yes","Asian",195 221 | "220",38.954,5222,370,4,76,13,"Female","No","No","Caucasian",653 222 | "221",44.847,5765,437,3,53,13,"Female","Yes","No","Asian",1246 223 | "222",98.515,8760,633,5,78,11,"Female","No","No","African American",1230 224 | "223",33.437,6207,451,4,44,9," Male","Yes","No","Caucasian",1549 225 | "224",27.512,4613,344,5,72,17," Male","No","Yes","Asian",573 226 | "225",121.709,7818,584,4,50,6," Male","No","Yes","Caucasian",701 227 | "226",15.079,5673,411,4,28,15,"Female","No","Yes","Asian",1075 228 | "227",59.879,6906,527,6,78,15,"Female","No","No","Caucasian",1032 229 | "228",66.989,5614,430,3,47,14,"Female","No","Yes","Caucasian",482 230 | "229",69.165,4668,341,2,34,11,"Female","No","No","African American",156 231 | "230",69.943,7555,547,3,76,9," Male","No","Yes","Asian",1058 232 | "231",33.214,5137,387,3,59,9," Male","No","No","African American",661 233 | "232",25.124,4776,378,4,29,12," Male","No","Yes","Caucasian",657 234 | "233",15.741,4788,360,1,39,14," Male","No","Yes","Asian",689 235 | "234",11.603,2278,187,3,71,11," Male","No","Yes","Caucasian",0 236 | "235",69.656,8244,579,3,41,14," Male","No","Yes","African American",1329 237 | "236",10.503,2923,232,3,25,18,"Female","No","Yes","African American",191 238 | "237",42.529,4986,369,2,37,11," Male","No","Yes","Asian",489 239 | "238",60.579,5149,388,5,38,15," Male","No","Yes","Asian",443 240 | "239",26.532,2910,236,6,58,19,"Female","No","Yes","Caucasian",52 241 | "240",27.952,3557,263,1,35,13,"Female","No","Yes","Asian",163 242 | "241",29.705,3351,262,5,71,14,"Female","No","Yes","Asian",148 243 | "242",15.602,906,103,2,36,11," Male","No","Yes","African American",0 244 | "243",20.918,1233,128,3,47,18,"Female","Yes","Yes","Asian",16 245 | "244",58.165,6617,460,1,56,12,"Female","No","Yes","Caucasian",856 246 | "245",22.561,1787,147,4,66,15,"Female","No","No","Caucasian",0 247 | "246",34.509,2001,189,5,80,18,"Female","No","Yes","African American",0 248 | "247",19.588,3211,265,4,59,14,"Female","No","No","Asian",199 249 | "248",36.364,2220,188,3,50,19," Male","No","No","Caucasian",0 250 | "249",15.717,905,93,1,38,16," Male","Yes","Yes","Caucasian",0 251 | "250",22.574,1551,134,3,43,13,"Female","Yes","Yes","Caucasian",98 252 | "251",10.363,2430,191,2,47,18,"Female","No","Yes","Asian",0 253 | "252",28.474,3202,267,5,66,12," Male","No","Yes","Caucasian",132 254 | "253",72.945,8603,621,3,64,8,"Female","No","No","Caucasian",1355 255 | "254",85.425,5182,402,6,60,12," Male","No","Yes","African American",218 256 | "255",36.508,6386,469,4,79,6,"Female","No","Yes","Caucasian",1048 257 | "256",58.063,4221,304,3,50,8," Male","No","No","African American",118 258 | "257",25.936,1774,135,2,71,14,"Female","No","No","Asian",0 259 | "258",15.629,2493,186,1,60,14," Male","No","Yes","Asian",0 260 | "259",41.4,2561,215,2,36,14," Male","No","Yes","Caucasian",0 261 | "260",33.657,6196,450,6,55,9,"Female","No","No","Caucasian",1092 262 | "261",67.937,5184,383,4,63,12," Male","No","Yes","Asian",345 263 | "262",180.379,9310,665,3,67,8,"Female","Yes","Yes","Asian",1050 264 | "263",10.588,4049,296,1,66,13,"Female","No","Yes","Caucasian",465 265 | "264",29.725,3536,270,2,52,15,"Female","No","No","African American",133 266 | "265",27.999,5107,380,1,55,10," Male","No","Yes","Caucasian",651 267 | "266",40.885,5013,379,3,46,13,"Female","No","Yes","African American",549 268 | "267",88.83,4952,360,4,86,16,"Female","No","Yes","Caucasian",15 269 | "268",29.638,5833,433,3,29,15,"Female","No","Yes","Asian",942 270 | "269",25.988,1349,142,4,82,12," Male","No","No","Caucasian",0 271 | "270",39.055,5565,410,4,48,18,"Female","No","Yes","Caucasian",772 272 | "271",15.866,3085,217,1,39,13," Male","No","No","Caucasian",136 273 | "272",44.978,4866,347,1,30,10,"Female","No","No","Caucasian",436 274 | "273",30.413,3690,299,2,25,15,"Female","Yes","No","Asian",728 275 | "274",16.751,4706,353,6,48,14," Male","Yes","No","Asian",1255 276 | "275",30.55,5869,439,5,81,9,"Female","No","No","African American",967 277 | "276",163.329,8732,636,3,50,14," Male","No","Yes","Caucasian",529 278 | "277",23.106,3476,257,2,50,15,"Female","No","No","Caucasian",209 279 | "278",41.532,5000,353,2,50,12," Male","No","Yes","Caucasian",531 280 | "279",128.04,6982,518,2,78,11,"Female","No","Yes","Caucasian",250 281 | "280",54.319,3063,248,3,59,8,"Female","Yes","No","Caucasian",269 282 | "281",53.401,5319,377,3,35,12,"Female","No","No","African American",541 283 | "282",36.142,1852,183,3,33,13,"Female","No","No","African American",0 284 | "283",63.534,8100,581,2,50,17,"Female","No","Yes","Caucasian",1298 285 | "284",49.927,6396,485,3,75,17,"Female","No","Yes","Caucasian",890 286 | "285",14.711,2047,167,2,67,6," Male","No","Yes","Caucasian",0 287 | "286",18.967,1626,156,2,41,11,"Female","No","Yes","Asian",0 288 | "287",18.036,1552,142,2,48,15,"Female","No","No","Caucasian",0 289 | "288",60.449,3098,272,4,69,8," Male","No","Yes","Caucasian",0 290 | "289",16.711,5274,387,3,42,16,"Female","No","Yes","Asian",863 291 | "290",10.852,3907,296,2,30,9," Male","No","No","Caucasian",485 292 | "291",26.37,3235,268,5,78,11," Male","No","Yes","Asian",159 293 | "292",24.088,3665,287,4,56,13,"Female","No","Yes","Caucasian",309 294 | "293",51.532,5096,380,2,31,15," Male","No","Yes","Caucasian",481 295 | "294",140.672,11200,817,7,46,9," Male","No","Yes","African American",1677 296 | "295",42.915,2532,205,4,42,13," Male","No","Yes","Asian",0 297 | "296",27.272,1389,149,5,67,10,"Female","No","Yes","Caucasian",0 298 | "297",65.896,5140,370,1,49,17,"Female","No","Yes","Caucasian",293 299 | "298",55.054,4381,321,3,74,17," Male","No","Yes","Asian",188 300 | "299",20.791,2672,204,1,70,18,"Female","No","No","African American",0 301 | "300",24.919,5051,372,3,76,11,"Female","No","Yes","African American",711 302 | "301",21.786,4632,355,1,50,17," Male","No","Yes","Caucasian",580 303 | "302",31.335,3526,289,3,38,7,"Female","No","No","Caucasian",172 304 | "303",59.855,4964,365,1,46,13,"Female","No","Yes","Caucasian",295 305 | "304",44.061,4970,352,1,79,11," Male","No","Yes","African American",414 306 | "305",82.706,7506,536,2,64,13,"Female","No","Yes","Asian",905 307 | "306",24.46,1924,165,2,50,14,"Female","No","Yes","Asian",0 308 | "307",45.12,3762,287,3,80,8," Male","No","Yes","Caucasian",70 309 | "308",75.406,3874,298,3,41,14,"Female","No","Yes","Asian",0 310 | "309",14.956,4640,332,2,33,6," Male","No","No","Asian",681 311 | "310",75.257,7010,494,3,34,18,"Female","No","Yes","Caucasian",885 312 | "311",33.694,4891,369,1,52,16," Male","Yes","No","African American",1036 313 | "312",23.375,5429,396,3,57,15,"Female","No","Yes","Caucasian",844 314 | "313",27.825,5227,386,6,63,11," Male","No","Yes","Caucasian",823 315 | "314",92.386,7685,534,2,75,18,"Female","No","Yes","Asian",843 316 | "315",115.52,9272,656,2,69,14," Male","No","No","African American",1140 317 | "316",14.479,3907,296,3,43,16," Male","No","Yes","Caucasian",463 318 | "317",52.179,7306,522,2,57,14," Male","No","No","Asian",1142 319 | "318",68.462,4712,340,2,71,16," Male","No","Yes","Caucasian",136 320 | "319",18.951,1485,129,3,82,13,"Female","No","No","Caucasian",0 321 | "320",27.59,2586,229,5,54,16," Male","No","Yes","African American",0 322 | "321",16.279,1160,126,3,78,13," Male","Yes","Yes","African American",5 323 | "322",25.078,3096,236,2,27,15,"Female","No","Yes","Caucasian",81 324 | "323",27.229,3484,282,6,51,11," Male","No","No","Caucasian",265 325 | "324",182.728,13913,982,4,98,17," Male","No","Yes","Caucasian",1999 326 | "325",31.029,2863,223,2,66,17," Male","Yes","Yes","Asian",415 327 | "326",17.765,5072,364,1,66,12,"Female","No","Yes","Caucasian",732 328 | "327",125.48,10230,721,3,82,16," Male","No","Yes","Caucasian",1361 329 | "328",49.166,6662,508,3,68,14,"Female","No","No","Asian",984 330 | "329",41.192,3673,297,3,54,16,"Female","No","Yes","Caucasian",121 331 | "330",94.193,7576,527,2,44,16,"Female","No","Yes","Caucasian",846 332 | "331",20.405,4543,329,2,72,17," Male","Yes","No","Asian",1054 333 | "332",12.581,3976,291,2,48,16," Male","No","Yes","Caucasian",474 334 | "333",62.328,5228,377,3,83,15," Male","No","No","Caucasian",380 335 | "334",21.011,3402,261,2,68,17," Male","No","Yes","African American",182 336 | "335",24.23,4756,351,2,64,15,"Female","No","Yes","Caucasian",594 337 | "336",24.314,3409,270,2,23,7,"Female","No","Yes","Caucasian",194 338 | "337",32.856,5884,438,4,68,13," Male","No","No","Caucasian",926 339 | "338",12.414,855,119,3,32,12," Male","No","Yes","African American",0 340 | "339",41.365,5303,377,1,45,14," Male","No","No","Caucasian",606 341 | "340",149.316,10278,707,1,80,16," Male","No","No","African American",1107 342 | "341",27.794,3807,301,4,35,8,"Female","No","Yes","African American",320 343 | "342",13.234,3922,299,2,77,17,"Female","No","Yes","Caucasian",426 344 | "343",14.595,2955,260,5,37,9," Male","No","Yes","African American",204 345 | "344",10.735,3746,280,2,44,17,"Female","No","Yes","Caucasian",410 346 | "345",48.218,5199,401,7,39,10," Male","No","Yes","Asian",633 347 | "346",30.012,1511,137,2,33,17," Male","No","Yes","Caucasian",0 348 | "347",21.551,5380,420,5,51,18," Male","No","Yes","Asian",907 349 | "348",160.231,10748,754,2,69,17," Male","No","No","Caucasian",1192 350 | "349",13.433,1134,112,3,70,14," Male","No","Yes","Caucasian",0 351 | "350",48.577,5145,389,3,71,13,"Female","No","Yes","Asian",503 352 | "351",30.002,1561,155,4,70,13,"Female","No","Yes","Caucasian",0 353 | "352",61.62,5140,374,1,71,9," Male","No","Yes","Caucasian",302 354 | "353",104.483,7140,507,2,41,14," Male","No","Yes","African American",583 355 | "354",41.868,4716,342,2,47,18," Male","No","No","Caucasian",425 356 | "355",12.068,3873,292,1,44,18,"Female","No","Yes","Asian",413 357 | "356",180.682,11966,832,2,58,8,"Female","No","Yes","African American",1405 358 | "357",34.48,6090,442,3,36,14," Male","No","No","Caucasian",962 359 | "358",39.609,2539,188,1,40,14," Male","No","Yes","Asian",0 360 | "359",30.111,4336,339,1,81,18," Male","No","Yes","Caucasian",347 361 | "360",12.335,4471,344,3,79,12," Male","No","Yes","African American",611 362 | "361",53.566,5891,434,4,82,10,"Female","No","No","Caucasian",712 363 | "362",53.217,4943,362,2,46,16,"Female","No","Yes","Asian",382 364 | "363",26.162,5101,382,3,62,19,"Female","No","No","African American",710 365 | "364",64.173,6127,433,1,80,10," Male","No","Yes","Caucasian",578 366 | "365",128.669,9824,685,3,67,16," Male","No","Yes","Asian",1243 367 | "366",113.772,6442,489,4,69,15," Male","Yes","Yes","Caucasian",790 368 | "367",61.069,7871,564,3,56,14," Male","No","Yes","Caucasian",1264 369 | "368",23.793,3615,263,2,70,14," Male","No","No","African American",216 370 | "369",89,5759,440,3,37,6,"Female","No","No","Caucasian",345 371 | "370",71.682,8028,599,3,57,16," Male","No","Yes","Caucasian",1208 372 | "371",35.61,6135,466,4,40,12," Male","No","No","Caucasian",992 373 | "372",39.116,2150,173,4,75,15," Male","No","No","Caucasian",0 374 | "373",19.782,3782,293,2,46,16,"Female","Yes","No","Caucasian",840 375 | "374",55.412,5354,383,2,37,16,"Female","Yes","Yes","Caucasian",1003 376 | "375",29.4,4840,368,3,76,18,"Female","No","Yes","Caucasian",588 377 | "376",20.974,5673,413,5,44,16,"Female","No","Yes","Caucasian",1000 378 | "377",87.625,7167,515,2,46,10,"Female","No","No","African American",767 379 | "378",28.144,1567,142,3,51,10," Male","No","Yes","Caucasian",0 380 | "379",19.349,4941,366,1,33,19," Male","No","Yes","Caucasian",717 381 | "380",53.308,2860,214,1,84,10," Male","No","Yes","Caucasian",0 382 | "381",115.123,7760,538,3,83,14,"Female","No","No","African American",661 383 | "382",101.788,8029,574,2,84,11," Male","No","Yes","Caucasian",849 384 | "383",24.824,5495,409,1,33,9," Male","Yes","No","Caucasian",1352 385 | "384",14.292,3274,282,9,64,9," Male","No","Yes","Caucasian",382 386 | "385",20.088,1870,180,3,76,16," Male","No","No","African American",0 387 | "386",26.4,5640,398,3,58,15,"Female","No","No","Asian",905 388 | "387",19.253,3683,287,4,57,10," Male","No","No","African American",371 389 | "388",16.529,1357,126,3,62,9," Male","No","No","Asian",0 390 | "389",37.878,6827,482,2,80,13,"Female","No","No","Caucasian",1129 391 | "390",83.948,7100,503,2,44,18," Male","No","No","Caucasian",806 392 | "391",135.118,10578,747,3,81,15,"Female","No","Yes","Asian",1393 393 | "392",73.327,6555,472,2,43,15,"Female","No","No","Caucasian",721 394 | "393",25.974,2308,196,2,24,10," Male","No","No","Asian",0 395 | "394",17.316,1335,138,2,65,13," Male","No","No","African American",0 396 | "395",49.794,5758,410,4,40,8," Male","No","No","Caucasian",734 397 | "396",12.096,4100,307,3,32,13," Male","No","Yes","Caucasian",560 398 | "397",13.364,3838,296,5,65,17," Male","No","No","African American",480 399 | "398",57.872,4171,321,5,67,12,"Female","No","Yes","Caucasian",138 400 | "399",37.728,2525,192,1,44,13," Male","No","Yes","Caucasian",0 401 | "400",18.701,5524,415,5,64,7,"Female","No","No","Asian",966 402 | -------------------------------------------------------------------------------- /data/Heart.csv: -------------------------------------------------------------------------------- 1 | "","Age","Sex","ChestPain","RestBP","Chol","Fbs","RestECG","MaxHR","ExAng","Oldpeak","Slope","Ca","Thal","AHD" 2 | "1",63,1,"typical",145,233,1,2,150,0,2.3,3,0,"fixed","No" 3 | "2",67,1,"asymptomatic",160,286,0,2,108,1,1.5,2,3,"normal","Yes" 4 | "3",67,1,"asymptomatic",120,229,0,2,129,1,2.6,2,2,"reversable","Yes" 5 | "4",37,1,"nonanginal",130,250,0,0,187,0,3.5,3,0,"normal","No" 6 | "5",41,0,"nontypical",130,204,0,2,172,0,1.4,1,0,"normal","No" 7 | "6",56,1,"nontypical",120,236,0,0,178,0,0.8,1,0,"normal","No" 8 | "7",62,0,"asymptomatic",140,268,0,2,160,0,3.6,3,2,"normal","Yes" 9 | "8",57,0,"asymptomatic",120,354,0,0,163,1,0.6,1,0,"normal","No" 10 | "9",63,1,"asymptomatic",130,254,0,2,147,0,1.4,2,1,"reversable","Yes" 11 | "10",53,1,"asymptomatic",140,203,1,2,155,1,3.1,3,0,"reversable","Yes" 12 | "11",57,1,"asymptomatic",140,192,0,0,148,0,0.4,2,0,"fixed","No" 13 | "12",56,0,"nontypical",140,294,0,2,153,0,1.3,2,0,"normal","No" 14 | "13",56,1,"nonanginal",130,256,1,2,142,1,0.6,2,1,"fixed","Yes" 15 | "14",44,1,"nontypical",120,263,0,0,173,0,0,1,0,"reversable","No" 16 | "15",52,1,"nonanginal",172,199,1,0,162,0,0.5,1,0,"reversable","No" 17 | "16",57,1,"nonanginal",150,168,0,0,174,0,1.6,1,0,"normal","No" 18 | "17",48,1,"nontypical",110,229,0,0,168,0,1,3,0,"reversable","Yes" 19 | "18",54,1,"asymptomatic",140,239,0,0,160,0,1.2,1,0,"normal","No" 20 | "19",48,0,"nonanginal",130,275,0,0,139,0,0.2,1,0,"normal","No" 21 | "20",49,1,"nontypical",130,266,0,0,171,0,0.6,1,0,"normal","No" 22 | "21",64,1,"typical",110,211,0,2,144,1,1.8,2,0,"normal","No" 23 | "22",58,0,"typical",150,283,1,2,162,0,1,1,0,"normal","No" 24 | "23",58,1,"nontypical",120,284,0,2,160,0,1.8,2,0,"normal","Yes" 25 | "24",58,1,"nonanginal",132,224,0,2,173,0,3.2,1,2,"reversable","Yes" 26 | "25",60,1,"asymptomatic",130,206,0,2,132,1,2.4,2,2,"reversable","Yes" 27 | "26",50,0,"nonanginal",120,219,0,0,158,0,1.6,2,0,"normal","No" 28 | "27",58,0,"nonanginal",120,340,0,0,172,0,0,1,0,"normal","No" 29 | "28",66,0,"typical",150,226,0,0,114,0,2.6,3,0,"normal","No" 30 | "29",43,1,"asymptomatic",150,247,0,0,171,0,1.5,1,0,"normal","No" 31 | "30",40,1,"asymptomatic",110,167,0,2,114,1,2,2,0,"reversable","Yes" 32 | "31",69,0,"typical",140,239,0,0,151,0,1.8,1,2,"normal","No" 33 | "32",60,1,"asymptomatic",117,230,1,0,160,1,1.4,1,2,"reversable","Yes" 34 | "33",64,1,"nonanginal",140,335,0,0,158,0,0,1,0,"normal","Yes" 35 | "34",59,1,"asymptomatic",135,234,0,0,161,0,0.5,2,0,"reversable","No" 36 | "35",44,1,"nonanginal",130,233,0,0,179,1,0.4,1,0,"normal","No" 37 | "36",42,1,"asymptomatic",140,226,0,0,178,0,0,1,0,"normal","No" 38 | "37",43,1,"asymptomatic",120,177,0,2,120,1,2.5,2,0,"reversable","Yes" 39 | "38",57,1,"asymptomatic",150,276,0,2,112,1,0.6,2,1,"fixed","Yes" 40 | "39",55,1,"asymptomatic",132,353,0,0,132,1,1.2,2,1,"reversable","Yes" 41 | "40",61,1,"nonanginal",150,243,1,0,137,1,1,2,0,"normal","No" 42 | "41",65,0,"asymptomatic",150,225,0,2,114,0,1,2,3,"reversable","Yes" 43 | "42",40,1,"typical",140,199,0,0,178,1,1.4,1,0,"reversable","No" 44 | "43",71,0,"nontypical",160,302,0,0,162,0,0.4,1,2,"normal","No" 45 | "44",59,1,"nonanginal",150,212,1,0,157,0,1.6,1,0,"normal","No" 46 | "45",61,0,"asymptomatic",130,330,0,2,169,0,0,1,0,"normal","Yes" 47 | "46",58,1,"nonanginal",112,230,0,2,165,0,2.5,2,1,"reversable","Yes" 48 | "47",51,1,"nonanginal",110,175,0,0,123,0,0.6,1,0,"normal","No" 49 | "48",50,1,"asymptomatic",150,243,0,2,128,0,2.6,2,0,"reversable","Yes" 50 | "49",65,0,"nonanginal",140,417,1,2,157,0,0.8,1,1,"normal","No" 51 | "50",53,1,"nonanginal",130,197,1,2,152,0,1.2,3,0,"normal","No" 52 | "51",41,0,"nontypical",105,198,0,0,168,0,0,1,1,"normal","No" 53 | "52",65,1,"asymptomatic",120,177,0,0,140,0,0.4,1,0,"reversable","No" 54 | "53",44,1,"asymptomatic",112,290,0,2,153,0,0,1,1,"normal","Yes" 55 | "54",44,1,"nontypical",130,219,0,2,188,0,0,1,0,"normal","No" 56 | "55",60,1,"asymptomatic",130,253,0,0,144,1,1.4,1,1,"reversable","Yes" 57 | "56",54,1,"asymptomatic",124,266,0,2,109,1,2.2,2,1,"reversable","Yes" 58 | "57",50,1,"nonanginal",140,233,0,0,163,0,0.6,2,1,"reversable","Yes" 59 | "58",41,1,"asymptomatic",110,172,0,2,158,0,0,1,0,"reversable","Yes" 60 | "59",54,1,"nonanginal",125,273,0,2,152,0,0.5,3,1,"normal","No" 61 | "60",51,1,"typical",125,213,0,2,125,1,1.4,1,1,"normal","No" 62 | "61",51,0,"asymptomatic",130,305,0,0,142,1,1.2,2,0,"reversable","Yes" 63 | "62",46,0,"nonanginal",142,177,0,2,160,1,1.4,3,0,"normal","No" 64 | "63",58,1,"asymptomatic",128,216,0,2,131,1,2.2,2,3,"reversable","Yes" 65 | "64",54,0,"nonanginal",135,304,1,0,170,0,0,1,0,"normal","No" 66 | "65",54,1,"asymptomatic",120,188,0,0,113,0,1.4,2,1,"reversable","Yes" 67 | "66",60,1,"asymptomatic",145,282,0,2,142,1,2.8,2,2,"reversable","Yes" 68 | "67",60,1,"nonanginal",140,185,0,2,155,0,3,2,0,"normal","Yes" 69 | "68",54,1,"nonanginal",150,232,0,2,165,0,1.6,1,0,"reversable","No" 70 | "69",59,1,"asymptomatic",170,326,0,2,140,1,3.4,3,0,"reversable","Yes" 71 | "70",46,1,"nonanginal",150,231,0,0,147,0,3.6,2,0,"normal","Yes" 72 | "71",65,0,"nonanginal",155,269,0,0,148,0,0.8,1,0,"normal","No" 73 | "72",67,1,"asymptomatic",125,254,1,0,163,0,0.2,2,2,"reversable","Yes" 74 | "73",62,1,"asymptomatic",120,267,0,0,99,1,1.8,2,2,"reversable","Yes" 75 | "74",65,1,"asymptomatic",110,248,0,2,158,0,0.6,1,2,"fixed","Yes" 76 | "75",44,1,"asymptomatic",110,197,0,2,177,0,0,1,1,"normal","Yes" 77 | "76",65,0,"nonanginal",160,360,0,2,151,0,0.8,1,0,"normal","No" 78 | "77",60,1,"asymptomatic",125,258,0,2,141,1,2.8,2,1,"reversable","Yes" 79 | "78",51,0,"nonanginal",140,308,0,2,142,0,1.5,1,1,"normal","No" 80 | "79",48,1,"nontypical",130,245,0,2,180,0,0.2,2,0,"normal","No" 81 | "80",58,1,"asymptomatic",150,270,0,2,111,1,0.8,1,0,"reversable","Yes" 82 | "81",45,1,"asymptomatic",104,208,0,2,148,1,3,2,0,"normal","No" 83 | "82",53,0,"asymptomatic",130,264,0,2,143,0,0.4,2,0,"normal","No" 84 | "83",39,1,"nonanginal",140,321,0,2,182,0,0,1,0,"normal","No" 85 | "84",68,1,"nonanginal",180,274,1,2,150,1,1.6,2,0,"reversable","Yes" 86 | "85",52,1,"nontypical",120,325,0,0,172,0,0.2,1,0,"normal","No" 87 | "86",44,1,"nonanginal",140,235,0,2,180,0,0,1,0,"normal","No" 88 | "87",47,1,"nonanginal",138,257,0,2,156,0,0,1,0,"normal","No" 89 | "88",53,0,"nonanginal",128,216,0,2,115,0,0,1,0,NA,"No" 90 | "89",53,0,"asymptomatic",138,234,0,2,160,0,0,1,0,"normal","No" 91 | "90",51,0,"nonanginal",130,256,0,2,149,0,0.5,1,0,"normal","No" 92 | "91",66,1,"asymptomatic",120,302,0,2,151,0,0.4,2,0,"normal","No" 93 | "92",62,0,"asymptomatic",160,164,0,2,145,0,6.2,3,3,"reversable","Yes" 94 | "93",62,1,"nonanginal",130,231,0,0,146,0,1.8,2,3,"reversable","No" 95 | "94",44,0,"nonanginal",108,141,0,0,175,0,0.6,2,0,"normal","No" 96 | "95",63,0,"nonanginal",135,252,0,2,172,0,0,1,0,"normal","No" 97 | "96",52,1,"asymptomatic",128,255,0,0,161,1,0,1,1,"reversable","Yes" 98 | "97",59,1,"asymptomatic",110,239,0,2,142,1,1.2,2,1,"reversable","Yes" 99 | "98",60,0,"asymptomatic",150,258,0,2,157,0,2.6,2,2,"reversable","Yes" 100 | "99",52,1,"nontypical",134,201,0,0,158,0,0.8,1,1,"normal","No" 101 | "100",48,1,"asymptomatic",122,222,0,2,186,0,0,1,0,"normal","No" 102 | "101",45,1,"asymptomatic",115,260,0,2,185,0,0,1,0,"normal","No" 103 | "102",34,1,"typical",118,182,0,2,174,0,0,1,0,"normal","No" 104 | "103",57,0,"asymptomatic",128,303,0,2,159,0,0,1,1,"normal","No" 105 | "104",71,0,"nonanginal",110,265,1,2,130,0,0,1,1,"normal","No" 106 | "105",49,1,"nonanginal",120,188,0,0,139,0,2,2,3,"reversable","Yes" 107 | "106",54,1,"nontypical",108,309,0,0,156,0,0,1,0,"reversable","No" 108 | "107",59,1,"asymptomatic",140,177,0,0,162,1,0,1,1,"reversable","Yes" 109 | "108",57,1,"nonanginal",128,229,0,2,150,0,0.4,2,1,"reversable","Yes" 110 | "109",61,1,"asymptomatic",120,260,0,0,140,1,3.6,2,1,"reversable","Yes" 111 | "110",39,1,"asymptomatic",118,219,0,0,140,0,1.2,2,0,"reversable","Yes" 112 | "111",61,0,"asymptomatic",145,307,0,2,146,1,1,2,0,"reversable","Yes" 113 | "112",56,1,"asymptomatic",125,249,1,2,144,1,1.2,2,1,"normal","Yes" 114 | "113",52,1,"typical",118,186,0,2,190,0,0,2,0,"fixed","No" 115 | "114",43,0,"asymptomatic",132,341,1,2,136,1,3,2,0,"reversable","Yes" 116 | "115",62,0,"nonanginal",130,263,0,0,97,0,1.2,2,1,"reversable","Yes" 117 | "116",41,1,"nontypical",135,203,0,0,132,0,0,2,0,"fixed","No" 118 | "117",58,1,"nonanginal",140,211,1,2,165,0,0,1,0,"normal","No" 119 | "118",35,0,"asymptomatic",138,183,0,0,182,0,1.4,1,0,"normal","No" 120 | "119",63,1,"asymptomatic",130,330,1,2,132,1,1.8,1,3,"reversable","Yes" 121 | "120",65,1,"asymptomatic",135,254,0,2,127,0,2.8,2,1,"reversable","Yes" 122 | "121",48,1,"asymptomatic",130,256,1,2,150,1,0,1,2,"reversable","Yes" 123 | "122",63,0,"asymptomatic",150,407,0,2,154,0,4,2,3,"reversable","Yes" 124 | "123",51,1,"nonanginal",100,222,0,0,143,1,1.2,2,0,"normal","No" 125 | "124",55,1,"asymptomatic",140,217,0,0,111,1,5.6,3,0,"reversable","Yes" 126 | "125",65,1,"typical",138,282,1,2,174,0,1.4,2,1,"normal","Yes" 127 | "126",45,0,"nontypical",130,234,0,2,175,0,0.6,2,0,"normal","No" 128 | "127",56,0,"asymptomatic",200,288,1,2,133,1,4,3,2,"reversable","Yes" 129 | "128",54,1,"asymptomatic",110,239,0,0,126,1,2.8,2,1,"reversable","Yes" 130 | "129",44,1,"nontypical",120,220,0,0,170,0,0,1,0,"normal","No" 131 | "130",62,0,"asymptomatic",124,209,0,0,163,0,0,1,0,"normal","No" 132 | "131",54,1,"nonanginal",120,258,0,2,147,0,0.4,2,0,"reversable","No" 133 | "132",51,1,"nonanginal",94,227,0,0,154,1,0,1,1,"reversable","No" 134 | "133",29,1,"nontypical",130,204,0,2,202,0,0,1,0,"normal","No" 135 | "134",51,1,"asymptomatic",140,261,0,2,186,1,0,1,0,"normal","No" 136 | "135",43,0,"nonanginal",122,213,0,0,165,0,0.2,2,0,"normal","No" 137 | "136",55,0,"nontypical",135,250,0,2,161,0,1.4,2,0,"normal","No" 138 | "137",70,1,"asymptomatic",145,174,0,0,125,1,2.6,3,0,"reversable","Yes" 139 | "138",62,1,"nontypical",120,281,0,2,103,0,1.4,2,1,"reversable","Yes" 140 | "139",35,1,"asymptomatic",120,198,0,0,130,1,1.6,2,0,"reversable","Yes" 141 | "140",51,1,"nonanginal",125,245,1,2,166,0,2.4,2,0,"normal","No" 142 | "141",59,1,"nontypical",140,221,0,0,164,1,0,1,0,"normal","No" 143 | "142",59,1,"typical",170,288,0,2,159,0,0.2,2,0,"reversable","Yes" 144 | "143",52,1,"nontypical",128,205,1,0,184,0,0,1,0,"normal","No" 145 | "144",64,1,"nonanginal",125,309,0,0,131,1,1.8,2,0,"reversable","Yes" 146 | "145",58,1,"nonanginal",105,240,0,2,154,1,0.6,2,0,"reversable","No" 147 | "146",47,1,"nonanginal",108,243,0,0,152,0,0,1,0,"normal","Yes" 148 | "147",57,1,"asymptomatic",165,289,1,2,124,0,1,2,3,"reversable","Yes" 149 | "148",41,1,"nonanginal",112,250,0,0,179,0,0,1,0,"normal","No" 150 | "149",45,1,"nontypical",128,308,0,2,170,0,0,1,0,"normal","No" 151 | "150",60,0,"nonanginal",102,318,0,0,160,0,0,1,1,"normal","No" 152 | "151",52,1,"typical",152,298,1,0,178,0,1.2,2,0,"reversable","No" 153 | "152",42,0,"asymptomatic",102,265,0,2,122,0,0.6,2,0,"normal","No" 154 | "153",67,0,"nonanginal",115,564,0,2,160,0,1.6,2,0,"reversable","No" 155 | "154",55,1,"asymptomatic",160,289,0,2,145,1,0.8,2,1,"reversable","Yes" 156 | "155",64,1,"asymptomatic",120,246,0,2,96,1,2.2,3,1,"normal","Yes" 157 | "156",70,1,"asymptomatic",130,322,0,2,109,0,2.4,2,3,"normal","Yes" 158 | "157",51,1,"asymptomatic",140,299,0,0,173,1,1.6,1,0,"reversable","Yes" 159 | "158",58,1,"asymptomatic",125,300,0,2,171,0,0,1,2,"reversable","Yes" 160 | "159",60,1,"asymptomatic",140,293,0,2,170,0,1.2,2,2,"reversable","Yes" 161 | "160",68,1,"nonanginal",118,277,0,0,151,0,1,1,1,"reversable","No" 162 | "161",46,1,"nontypical",101,197,1,0,156,0,0,1,0,"reversable","No" 163 | "162",77,1,"asymptomatic",125,304,0,2,162,1,0,1,3,"normal","Yes" 164 | "163",54,0,"nonanginal",110,214,0,0,158,0,1.6,2,0,"normal","No" 165 | "164",58,0,"asymptomatic",100,248,0,2,122,0,1,2,0,"normal","No" 166 | "165",48,1,"nonanginal",124,255,1,0,175,0,0,1,2,"normal","No" 167 | "166",57,1,"asymptomatic",132,207,0,0,168,1,0,1,0,"reversable","No" 168 | "167",52,1,"nonanginal",138,223,0,0,169,0,0,1,NA,"normal","No" 169 | "168",54,0,"nontypical",132,288,1,2,159,1,0,1,1,"normal","No" 170 | "169",35,1,"asymptomatic",126,282,0,2,156,1,0,1,0,"reversable","Yes" 171 | "170",45,0,"nontypical",112,160,0,0,138,0,0,2,0,"normal","No" 172 | "171",70,1,"nonanginal",160,269,0,0,112,1,2.9,2,1,"reversable","Yes" 173 | "172",53,1,"asymptomatic",142,226,0,2,111,1,0,1,0,"reversable","No" 174 | "173",59,0,"asymptomatic",174,249,0,0,143,1,0,2,0,"normal","Yes" 175 | "174",62,0,"asymptomatic",140,394,0,2,157,0,1.2,2,0,"normal","No" 176 | "175",64,1,"asymptomatic",145,212,0,2,132,0,2,2,2,"fixed","Yes" 177 | "176",57,1,"asymptomatic",152,274,0,0,88,1,1.2,2,1,"reversable","Yes" 178 | "177",52,1,"asymptomatic",108,233,1,0,147,0,0.1,1,3,"reversable","No" 179 | "178",56,1,"asymptomatic",132,184,0,2,105,1,2.1,2,1,"fixed","Yes" 180 | "179",43,1,"nonanginal",130,315,0,0,162,0,1.9,1,1,"normal","No" 181 | "180",53,1,"nonanginal",130,246,1,2,173,0,0,1,3,"normal","No" 182 | "181",48,1,"asymptomatic",124,274,0,2,166,0,0.5,2,0,"reversable","Yes" 183 | "182",56,0,"asymptomatic",134,409,0,2,150,1,1.9,2,2,"reversable","Yes" 184 | "183",42,1,"typical",148,244,0,2,178,0,0.8,1,2,"normal","No" 185 | "184",59,1,"typical",178,270,0,2,145,0,4.2,3,0,"reversable","No" 186 | "185",60,0,"asymptomatic",158,305,0,2,161,0,0,1,0,"normal","Yes" 187 | "186",63,0,"nontypical",140,195,0,0,179,0,0,1,2,"normal","No" 188 | "187",42,1,"nonanginal",120,240,1,0,194,0,0.8,3,0,"reversable","No" 189 | "188",66,1,"nontypical",160,246,0,0,120,1,0,2,3,"fixed","Yes" 190 | "189",54,1,"nontypical",192,283,0,2,195,0,0,1,1,"reversable","Yes" 191 | "190",69,1,"nonanginal",140,254,0,2,146,0,2,2,3,"reversable","Yes" 192 | "191",50,1,"nonanginal",129,196,0,0,163,0,0,1,0,"normal","No" 193 | "192",51,1,"asymptomatic",140,298,0,0,122,1,4.2,2,3,"reversable","Yes" 194 | "193",43,1,"asymptomatic",132,247,1,2,143,1,0.1,2,NA,"reversable","Yes" 195 | "194",62,0,"asymptomatic",138,294,1,0,106,0,1.9,2,3,"normal","Yes" 196 | "195",68,0,"nonanginal",120,211,0,2,115,0,1.5,2,0,"normal","No" 197 | "196",67,1,"asymptomatic",100,299,0,2,125,1,0.9,2,2,"normal","Yes" 198 | "197",69,1,"typical",160,234,1,2,131,0,0.1,2,1,"normal","No" 199 | "198",45,0,"asymptomatic",138,236,0,2,152,1,0.2,2,0,"normal","No" 200 | "199",50,0,"nontypical",120,244,0,0,162,0,1.1,1,0,"normal","No" 201 | "200",59,1,"typical",160,273,0,2,125,0,0,1,0,"normal","Yes" 202 | "201",50,0,"asymptomatic",110,254,0,2,159,0,0,1,0,"normal","No" 203 | "202",64,0,"asymptomatic",180,325,0,0,154,1,0,1,0,"normal","No" 204 | "203",57,1,"nonanginal",150,126,1,0,173,0,0.2,1,1,"reversable","No" 205 | "204",64,0,"nonanginal",140,313,0,0,133,0,0.2,1,0,"reversable","No" 206 | "205",43,1,"asymptomatic",110,211,0,0,161,0,0,1,0,"reversable","No" 207 | "206",45,1,"asymptomatic",142,309,0,2,147,1,0,2,3,"reversable","Yes" 208 | "207",58,1,"asymptomatic",128,259,0,2,130,1,3,2,2,"reversable","Yes" 209 | "208",50,1,"asymptomatic",144,200,0,2,126,1,0.9,2,0,"reversable","Yes" 210 | "209",55,1,"nontypical",130,262,0,0,155,0,0,1,0,"normal","No" 211 | "210",62,0,"asymptomatic",150,244,0,0,154,1,1.4,2,0,"normal","Yes" 212 | "211",37,0,"nonanginal",120,215,0,0,170,0,0,1,0,"normal","No" 213 | "212",38,1,"typical",120,231,0,0,182,1,3.8,2,0,"reversable","Yes" 214 | "213",41,1,"nonanginal",130,214,0,2,168,0,2,2,0,"normal","No" 215 | "214",66,0,"asymptomatic",178,228,1,0,165,1,1,2,2,"reversable","Yes" 216 | "215",52,1,"asymptomatic",112,230,0,0,160,0,0,1,1,"normal","Yes" 217 | "216",56,1,"typical",120,193,0,2,162,0,1.9,2,0,"reversable","No" 218 | "217",46,0,"nontypical",105,204,0,0,172,0,0,1,0,"normal","No" 219 | "218",46,0,"asymptomatic",138,243,0,2,152,1,0,2,0,"normal","No" 220 | "219",64,0,"asymptomatic",130,303,0,0,122,0,2,2,2,"normal","No" 221 | "220",59,1,"asymptomatic",138,271,0,2,182,0,0,1,0,"normal","No" 222 | "221",41,0,"nonanginal",112,268,0,2,172,1,0,1,0,"normal","No" 223 | "222",54,0,"nonanginal",108,267,0,2,167,0,0,1,0,"normal","No" 224 | "223",39,0,"nonanginal",94,199,0,0,179,0,0,1,0,"normal","No" 225 | "224",53,1,"asymptomatic",123,282,0,0,95,1,2,2,2,"reversable","Yes" 226 | "225",63,0,"asymptomatic",108,269,0,0,169,1,1.8,2,2,"normal","Yes" 227 | "226",34,0,"nontypical",118,210,0,0,192,0,0.7,1,0,"normal","No" 228 | "227",47,1,"asymptomatic",112,204,0,0,143,0,0.1,1,0,"normal","No" 229 | "228",67,0,"nonanginal",152,277,0,0,172,0,0,1,1,"normal","No" 230 | "229",54,1,"asymptomatic",110,206,0,2,108,1,0,2,1,"normal","Yes" 231 | "230",66,1,"asymptomatic",112,212,0,2,132,1,0.1,1,1,"normal","Yes" 232 | "231",52,0,"nonanginal",136,196,0,2,169,0,0.1,2,0,"normal","No" 233 | "232",55,0,"asymptomatic",180,327,0,1,117,1,3.4,2,0,"normal","Yes" 234 | "233",49,1,"nonanginal",118,149,0,2,126,0,0.8,1,3,"normal","Yes" 235 | "234",74,0,"nontypical",120,269,0,2,121,1,0.2,1,1,"normal","No" 236 | "235",54,0,"nonanginal",160,201,0,0,163,0,0,1,1,"normal","No" 237 | "236",54,1,"asymptomatic",122,286,0,2,116,1,3.2,2,2,"normal","Yes" 238 | "237",56,1,"asymptomatic",130,283,1,2,103,1,1.6,3,0,"reversable","Yes" 239 | "238",46,1,"asymptomatic",120,249,0,2,144,0,0.8,1,0,"reversable","Yes" 240 | "239",49,0,"nontypical",134,271,0,0,162,0,0,2,0,"normal","No" 241 | "240",42,1,"nontypical",120,295,0,0,162,0,0,1,0,"normal","No" 242 | "241",41,1,"nontypical",110,235,0,0,153,0,0,1,0,"normal","No" 243 | "242",41,0,"nontypical",126,306,0,0,163,0,0,1,0,"normal","No" 244 | "243",49,0,"asymptomatic",130,269,0,0,163,0,0,1,0,"normal","No" 245 | "244",61,1,"typical",134,234,0,0,145,0,2.6,2,2,"normal","Yes" 246 | "245",60,0,"nonanginal",120,178,1,0,96,0,0,1,0,"normal","No" 247 | "246",67,1,"asymptomatic",120,237,0,0,71,0,1,2,0,"normal","Yes" 248 | "247",58,1,"asymptomatic",100,234,0,0,156,0,0.1,1,1,"reversable","Yes" 249 | "248",47,1,"asymptomatic",110,275,0,2,118,1,1,2,1,"normal","Yes" 250 | "249",52,1,"asymptomatic",125,212,0,0,168,0,1,1,2,"reversable","Yes" 251 | "250",62,1,"nontypical",128,208,1,2,140,0,0,1,0,"normal","No" 252 | "251",57,1,"asymptomatic",110,201,0,0,126,1,1.5,2,0,"fixed","No" 253 | "252",58,1,"asymptomatic",146,218,0,0,105,0,2,2,1,"reversable","Yes" 254 | "253",64,1,"asymptomatic",128,263,0,0,105,1,0.2,2,1,"reversable","No" 255 | "254",51,0,"nonanginal",120,295,0,2,157,0,0.6,1,0,"normal","No" 256 | "255",43,1,"asymptomatic",115,303,0,0,181,0,1.2,2,0,"normal","No" 257 | "256",42,0,"nonanginal",120,209,0,0,173,0,0,2,0,"normal","No" 258 | "257",67,0,"asymptomatic",106,223,0,0,142,0,0.3,1,2,"normal","No" 259 | "258",76,0,"nonanginal",140,197,0,1,116,0,1.1,2,0,"normal","No" 260 | "259",70,1,"nontypical",156,245,0,2,143,0,0,1,0,"normal","No" 261 | "260",57,1,"nontypical",124,261,0,0,141,0,0.3,1,0,"reversable","Yes" 262 | "261",44,0,"nonanginal",118,242,0,0,149,0,0.3,2,1,"normal","No" 263 | "262",58,0,"nontypical",136,319,1,2,152,0,0,1,2,"normal","Yes" 264 | "263",60,0,"typical",150,240,0,0,171,0,0.9,1,0,"normal","No" 265 | "264",44,1,"nonanginal",120,226,0,0,169,0,0,1,0,"normal","No" 266 | "265",61,1,"asymptomatic",138,166,0,2,125,1,3.6,2,1,"normal","Yes" 267 | "266",42,1,"asymptomatic",136,315,0,0,125,1,1.8,2,0,"fixed","Yes" 268 | "267",52,1,"asymptomatic",128,204,1,0,156,1,1,2,0,NA,"Yes" 269 | "268",59,1,"nonanginal",126,218,1,0,134,0,2.2,2,1,"fixed","Yes" 270 | "269",40,1,"asymptomatic",152,223,0,0,181,0,0,1,0,"reversable","Yes" 271 | "270",42,1,"nonanginal",130,180,0,0,150,0,0,1,0,"normal","No" 272 | "271",61,1,"asymptomatic",140,207,0,2,138,1,1.9,1,1,"reversable","Yes" 273 | "272",66,1,"asymptomatic",160,228,0,2,138,0,2.3,1,0,"fixed","No" 274 | "273",46,1,"asymptomatic",140,311,0,0,120,1,1.8,2,2,"reversable","Yes" 275 | "274",71,0,"asymptomatic",112,149,0,0,125,0,1.6,2,0,"normal","No" 276 | "275",59,1,"typical",134,204,0,0,162,0,0.8,1,2,"normal","Yes" 277 | "276",64,1,"typical",170,227,0,2,155,0,0.6,2,0,"reversable","No" 278 | "277",66,0,"nonanginal",146,278,0,2,152,0,0,2,1,"normal","No" 279 | "278",39,0,"nonanginal",138,220,0,0,152,0,0,2,0,"normal","No" 280 | "279",57,1,"nontypical",154,232,0,2,164,0,0,1,1,"normal","Yes" 281 | "280",58,0,"asymptomatic",130,197,0,0,131,0,0.6,2,0,"normal","No" 282 | "281",57,1,"asymptomatic",110,335,0,0,143,1,3,2,1,"reversable","Yes" 283 | "282",47,1,"nonanginal",130,253,0,0,179,0,0,1,0,"normal","No" 284 | "283",55,0,"asymptomatic",128,205,0,1,130,1,2,2,1,"reversable","Yes" 285 | "284",35,1,"nontypical",122,192,0,0,174,0,0,1,0,"normal","No" 286 | "285",61,1,"asymptomatic",148,203,0,0,161,0,0,1,1,"reversable","Yes" 287 | "286",58,1,"asymptomatic",114,318,0,1,140,0,4.4,3,3,"fixed","Yes" 288 | "287",58,0,"asymptomatic",170,225,1,2,146,1,2.8,2,2,"fixed","Yes" 289 | "288",58,1,"nontypical",125,220,0,0,144,0,0.4,2,NA,"reversable","No" 290 | "289",56,1,"nontypical",130,221,0,2,163,0,0,1,0,"reversable","No" 291 | "290",56,1,"nontypical",120,240,0,0,169,0,0,3,0,"normal","No" 292 | "291",67,1,"nonanginal",152,212,0,2,150,0,0.8,2,0,"reversable","Yes" 293 | "292",55,0,"nontypical",132,342,0,0,166,0,1.2,1,0,"normal","No" 294 | "293",44,1,"asymptomatic",120,169,0,0,144,1,2.8,3,0,"fixed","Yes" 295 | "294",63,1,"asymptomatic",140,187,0,2,144,1,4,1,2,"reversable","Yes" 296 | "295",63,0,"asymptomatic",124,197,0,0,136,1,0,2,0,"normal","Yes" 297 | "296",41,1,"nontypical",120,157,0,0,182,0,0,1,0,"normal","No" 298 | "297",59,1,"asymptomatic",164,176,1,2,90,0,1,2,2,"fixed","Yes" 299 | "298",57,0,"asymptomatic",140,241,0,0,123,1,0.2,2,0,"reversable","Yes" 300 | "299",45,1,"typical",110,264,0,0,132,0,1.2,2,0,"reversable","Yes" 301 | "300",68,1,"asymptomatic",144,193,1,0,141,0,3.4,2,2,"reversable","Yes" 302 | "301",57,1,"asymptomatic",130,131,0,0,115,1,1.2,2,1,"reversable","Yes" 303 | "302",57,0,"nontypical",130,236,0,2,174,0,0,2,1,"normal","Yes" 304 | "303",38,1,"nonanginal",138,175,0,0,173,0,0,1,NA,"normal","No" 305 | -------------------------------------------------------------------------------- /data/Income1.csv: -------------------------------------------------------------------------------- 1 | "","Education","Income" 2 | "1",10,26.6588387834389 3 | "2",10.4013377926421,27.3064353457772 4 | "3",10.8428093645485,22.1324101716143 5 | "4",11.2441471571906,21.1698405046065 6 | "5",11.6454849498328,15.1926335164307 7 | "6",12.0869565217391,26.3989510407284 8 | "7",12.4882943143813,17.435306578572 9 | "8",12.8896321070234,25.5078852305278 10 | "9",13.2909698996656,36.884594694235 11 | "10",13.7324414715719,39.666108747637 12 | "11",14.133779264214,34.3962805641312 13 | "12",14.5351170568562,41.4979935356871 14 | "13",14.9765886287625,44.9815748660704 15 | "14",15.3779264214047,47.039595257834 16 | "15",15.7792642140468,48.2525782901863 17 | "16",16.2207357859532,57.0342513373801 18 | "17",16.6220735785953,51.4909192102538 19 | "18",17.0234113712375,61.3366205527288 20 | "19",17.4648829431438,57.581988179306 21 | "20",17.866220735786,68.5537140185881 22 | "21",18.2675585284281,64.310925303692 23 | "22",18.7090301003344,68.9590086393083 24 | "23",19.1103678929766,74.6146392793647 25 | "24",19.5117056856187,71.8671953042483 26 | "25",19.9130434782609,76.098135379724 27 | "26",20.3545150501672,75.77521802986 28 | "27",20.7558528428094,72.4860553152424 29 | "28",21.1571906354515,77.3550205741877 30 | "29",21.5986622073579,72.1187904524136 31 | "30",22,80.2605705009016 32 | -------------------------------------------------------------------------------- /data/Income2.csv: -------------------------------------------------------------------------------- 1 | "","Education","Seniority","Income" 2 | "1",21.5862068965517,113.103448275862,99.9171726114381 3 | "2",18.2758620689655,119.310344827586,92.579134855529 4 | "3",12.0689655172414,100.689655172414,34.6787271520874 5 | "4",17.0344827586207,187.586206896552,78.7028062353695 6 | "5",19.9310344827586,20,68.0099216471551 7 | "6",18.2758620689655,26.2068965517241,71.5044853814318 8 | "7",19.9310344827586,150.344827586207,87.9704669939115 9 | "8",21.1724137931034,82.0689655172414,79.8110298331255 10 | "9",20.3448275862069,88.2758620689655,90.00632710858 11 | "10",10,113.103448275862,45.6555294997364 12 | "11",13.7241379310345,51.0344827586207,31.9138079371295 13 | "12",18.6896551724138,144.137931034483,96.2829968022869 14 | "13",11.6551724137931,20,27.9825049000603 15 | "14",16.6206896551724,94.4827586206897,66.601792415137 16 | "15",10,187.586206896552,41.5319924201478 17 | "16",20.3448275862069,94.4827586206897,89.00070081522 18 | "17",14.1379310344828,20,28.8163007592387 19 | "18",16.6206896551724,44.8275862068966,57.6816942573605 20 | "19",16.6206896551724,175.172413793103,70.1050960424457 21 | "20",20.3448275862069,187.586206896552,98.8340115435447 22 | "21",18.2758620689655,100.689655172414,74.7046991976891 23 | "22",14.551724137931,137.931034482759,53.5321056283034 24 | "23",17.448275862069,94.4827586206897,72.0789236655191 25 | "24",10.4137931034483,32.4137931034483,18.5706650327685 26 | "25",21.5862068965517,20,78.8057842852386 27 | "26",11.2413793103448,44.8275862068966,21.388561306174 28 | "27",19.9310344827586,168.965517241379,90.8140351180409 29 | "28",11.6551724137931,57.2413793103448,22.6361626208955 30 | "29",12.0689655172414,32.4137931034483,17.613593041445 31 | "30",17.0344827586207,106.896551724138,74.6109601985289 32 | -------------------------------------------------------------------------------- /data/Portfolio.csv: -------------------------------------------------------------------------------- 1 | "","X","Y" 2 | "1",-0.895250889141557,-0.234923525765402 3 | "2",-1.5624543274753,-0.885175993044695 4 | "3",-0.417089883126492,0.271888018049829 5 | "4",1.04435572526951,-0.734197504067649 6 | "5",-0.315568406681027,0.841983429961188 7 | "6",-1.73712384902476,-2.03719104074984 8 | "7",1.96641315717111,1.45295666192369 9 | "8",2.1528678980109,-0.434138628179502 10 | "9",-0.0812080267602958,1.45080850218963 11 | "10",-0.891781794029037,0.821016234539977 12 | "11",-0.293201702010266,-1.04239112183501 13 | "12",0.50577917106943,0.608477825846609 14 | "13",0.52675125409276,-0.222493343282789 15 | "14",1.06646932095091,1.2313566752569 16 | "15",0.294015895063748,0.628589480036184 17 | "16",0.0425492997633765,-1.26757361755317 18 | "17",1.83096958062302,-0.572751605498511 19 | "18",-0.32693749887808,-0.487472465045569 20 | "19",0.521480415807099,2.56598528732423 21 | "20",1.39986834733422,-0.35783612748179 22 | "21",-0.645447596468841,-1.41243138949505 23 | "22",-0.904351878449744,-0.568304791041892 24 | "23",-1.76458606961956,-0.746272562068363 25 | "24",-1.81048463818975,0.493747359351401 26 | "25",-1.16989891378141,-2.72528149494243 27 | "26",-0.685375735369436,-0.457615734339251 28 | "27",1.09091803183517,0.0144945075275287 29 | "28",-0.432340114040807,-0.399831023509433 30 | "29",0.268814775370724,-0.201608350198064 31 | "30",-0.851840753541132,-1.74182928585454 32 | "31",-1.49708417203583,-0.826033329437587 33 | "32",0.0887747459974043,-0.887360712723633 34 | "33",-1.60172430963135,-0.695299045952921 35 | "34",-1.24685724025742,-1.52958488449121 36 | "35",-1.06298912830654,-0.110637447363915 37 | "36",-0.26628305530967,0.0451634696288592 38 | "37",1.67658383263088,2.5200528826286 39 | "38",0.119572571440877,0.535542781034257 40 | "39",-0.0860079872690871,1.36359582805839 41 | "40",0.368080289748909,1.72937250996995 42 | "41",-0.271494206939639,1.37926732742329 43 | "42",-0.0859264618788124,-0.127662573750838 44 | "43",-0.190750153683344,-0.461333357787814 45 | "44",-0.781679768391051,1.02239787730549 46 | "45",0.792436346460761,-0.814298088654853 47 | "46",-0.28286988623389,-1.03846880699277 48 | "47",-0.236625531902745,0.928450553143057 49 | "48",1.17183009101022,1.72983145002732 50 | "49",0.496942768505321,-0.925139825948684 51 | "50",-0.887370979477135,-2.2834979593885 52 | "51",-1.30695315836496,-2.38160058115405 53 | "52",-2.43276412040427,-2.02554558512495 54 | "53",-0.407188960959958,-0.335098643325459 55 | "54",-0.285665299455223,-1.30878131266949 56 | "55",1.52221488310337,1.20100315334525 57 | "56",-0.998106907437742,-0.946268900068486 58 | "57",-0.289973726127379,0.206256579940999 59 | "58",-1.23683924300474,-0.675447507316727 60 | "59",-0.359506962064002,-2.70015447021752 61 | "60",0.543559153033075,0.42254755209331 62 | "61",-0.403647282894893,-0.0543899228706378 63 | "62",1.30330893265591,1.32896747385231 64 | "63",-0.717117243405944,1.33137979803966 65 | "64",-1.01270788405516,-0.92476923081864 66 | "65",0.831992902158869,2.24774586894653 67 | "66",1.33764359604195,0.868256457487716 68 | "67",0.601693509867379,-0.198217563055149 69 | "68",1.30285098047145,1.10466637601686 70 | "69",-0.881700578927026,-1.54068478518396 71 | "70",-0.824529071304578,-1.33700787719544 72 | "71",-0.984356518466055,-1.1391602659206 73 | "72",-1.38499150721135,0.70269993294853 74 | "73",-0.358842560435759,-1.69451276977832 75 | "74",-0.226618229456359,0.801938547570983 76 | "75",-0.941077436691343,-0.733188708932247 77 | "76",2.4603359481276,-0.048372817002224 78 | "77",0.716797281412897,0.602336759898045 79 | "78",-0.248087023209405,-1.01849037378952 80 | "79",1.01077288944297,0.0529780222228798 81 | "80",2.31304863448491,1.75235887915611 82 | "81",0.835179797449368,0.98571487565829 83 | "82",-1.07190333913753,-1.24729787324372 84 | "83",-1.6505261438491,0.215464529577012 85 | "84",-0.60048569030458,-0.420940526974254 86 | "85",-0.0585293830470613,0.127620874053089 87 | "86",0.0757267446338611,-0.522149221026395 88 | "87",-1.15783156137448,0.590893742238611 89 | "88",1.67360608794112,0.114623316085095 90 | "89",-1.04398823978305,-0.418944284341397 91 | "90",0.0146874765920298,-0.558746620672602 92 | "91",0.675321970429067,1.48262978763307 93 | "92",1.77834230986132,0.942774111448264 94 | "93",-1.29576363940663,-1.0852038131022 95 | "94",0.0796020218474959,-0.539100814053817 96 | "95",2.2608577144194,0.673224840266669 97 | "96",0.479090923233913,1.45477446090542 98 | "97",-0.535019997432816,-0.399174811276031 99 | "98",-0.773129330645406,-0.957174849520677 100 | "99",0.403634339015336,1.39603816898688 101 | "100",-0.58849643871802,-0.497285090817856 102 | -------------------------------------------------------------------------------- /notebooks/Ch2_Statistical_Learning/no_lab.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mscaudill/IntroStatLearn/b263181afb98d88610d617b4eeb4142a88409a42/notebooks/Ch2_Statistical_Learning/no_lab.txt -------------------------------------------------------------------------------- /notebooks/Ch5_Resampling_Methods/Applied/Ch5_Ex6.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# ISLR-Python Ch5 Applied 6 " 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "- [Load Default Dataset](#Load-Default-Dataset)\n", 15 | "- [A. Compute Standard Errors of Coeffecients](#A.-Compute-Standard-Errors-of-Coeffecients)\n", 16 | "- [B. Write Function to Generate Coeffecient Estimates](#B.-Write-Function-to-Generate-Coeffecient-Estimates)\n", 17 | "- [C-D. Bootstrap Coeffecient Standard Errors and Compare](#C-D.-Bootstrap-Coeffecient-Standard-Errors-and-Compare)" 18 | ] 19 | }, 20 | { 21 | "cell_type": "code", 22 | "execution_count": 20, 23 | "metadata": { 24 | "collapsed": true 25 | }, 26 | "outputs": [], 27 | "source": [ 28 | "## perform imports and set-up\n", 29 | "import numpy as np\n", 30 | "import pandas as pd\n", 31 | "import scipy\n", 32 | "import statsmodels.api as sm\n", 33 | "\n", 34 | "from matplotlib import pyplot as plt\n", 35 | "\n", 36 | "%matplotlib inline\n", 37 | "plt.style.use('ggplot') # emulate pretty r-style plots\n", 38 | "\n", 39 | "# print numpy arrays with precision 4\n", 40 | "np.set_printoptions(precision=4)" 41 | ] 42 | }, 43 | { 44 | "cell_type": "markdown", 45 | "metadata": {}, 46 | "source": [ 47 | "## Load Default Dataset" 48 | ] 49 | }, 50 | { 51 | "cell_type": "code", 52 | "execution_count": 3, 53 | "metadata": { 54 | "collapsed": false 55 | }, 56 | "outputs": [ 57 | { 58 | "name": "stdout", 59 | "output_type": "stream", 60 | "text": [ 61 | "10000\n" 62 | ] 63 | }, 64 | { 65 | "data": { 66 | "text/html": [ 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 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | "
defaultstudentbalanceincome
1FalseFalse729.52649544361.625074
2FalseTrue817.18040712106.134700
3FalseFalse1073.54916431767.138947
4FalseFalse529.25060535704.493935
5FalseFalse785.65588338463.495879
\n", 116 | "
" 117 | ], 118 | "text/plain": [ 119 | " default student balance income\n", 120 | "1 False False 729.526495 44361.625074\n", 121 | "2 False True 817.180407 12106.134700\n", 122 | "3 False False 1073.549164 31767.138947\n", 123 | "4 False False 529.250605 35704.493935\n", 124 | "5 False False 785.655883 38463.495879" 125 | ] 126 | }, 127 | "execution_count": 3, 128 | "metadata": {}, 129 | "output_type": "execute_result" 130 | } 131 | ], 132 | "source": [ 133 | "df = pd.read_csv('../../../data/Default.csv', index_col=0, true_values=['Yes'], false_values=['No'])\n", 134 | "print(len(df))\n", 135 | "df.head()" 136 | ] 137 | }, 138 | { 139 | "cell_type": "markdown", 140 | "metadata": {}, 141 | "source": [ 142 | "## A. Compute Standard Errors of Coeffecients" 143 | ] 144 | }, 145 | { 146 | "cell_type": "code", 147 | "execution_count": 42, 148 | "metadata": { 149 | "collapsed": false 150 | }, 151 | "outputs": [ 152 | { 153 | "name": "stdout", 154 | "output_type": "stream", 155 | "text": [ 156 | "Optimization terminated successfully.\n", 157 | " Current function value: 0.078948\n", 158 | " Iterations 10\n", 159 | " Logit Regression Results \n", 160 | "==============================================================================\n", 161 | "Dep. Variable: y No. Observations: 10000\n", 162 | "Model: Logit Df Residuals: 9997\n", 163 | "Method: MLE Df Model: 2\n", 164 | "Date: Wed, 27 Jul 2016 Pseudo R-squ.: 0.4594\n", 165 | "Time: 13:28:17 Log-Likelihood: -789.48\n", 166 | "converged: True LL-Null: -1460.3\n", 167 | " LLR p-value: 4.541e-292\n", 168 | "==============================================================================\n", 169 | " coef std err z P>|z| [95.0% Conf. Int.]\n", 170 | "------------------------------------------------------------------------------\n", 171 | "const -11.5405 0.435 -26.544 0.000 -12.393 -10.688\n", 172 | "balance 0.0056 0.000 24.835 0.000 0.005 0.006\n", 173 | "income 2.081e-05 4.99e-06 4.174 0.000 1.1e-05 3.06e-05\n", 174 | "==============================================================================\n", 175 | "\n", 176 | "Possibly complete quasi-separation: A fraction 0.14 of observations can be\n", 177 | "perfectly predicted. This might indicate that there is complete\n", 178 | "quasi-separation. In this case some parameters will not be identified.\n", 179 | "\n", 180 | "The Standard Errors from Formula are:\n", 181 | " const 0.434772\n", 182 | "balance 0.000227\n", 183 | "income 0.000005\n", 184 | "dtype: float64\n" 185 | ] 186 | } 187 | ], 188 | "source": [ 189 | "# Design matrix and response #\n", 190 | "##############################\n", 191 | "predictors = ['balance','income']\n", 192 | "X = sm.add_constant(df[predictors])\n", 193 | "y = df.default.values\n", 194 | "\n", 195 | "# Build Classifier and Fit #\n", 196 | "############################\n", 197 | "model = sm.Logit(y,X)\n", 198 | "logit = model.fit()\n", 199 | "print(logit.summary())\n", 200 | "print('\\nThe Standard Errors from Formula are:\\n', logit.bse)" 201 | ] 202 | }, 203 | { 204 | "cell_type": "markdown", 205 | "metadata": {}, 206 | "source": [ 207 | "## B. Write Function to Generate Coeffecient Estimates" 208 | ] 209 | }, 210 | { 211 | "cell_type": "code", 212 | "execution_count": 38, 213 | "metadata": { 214 | "collapsed": false 215 | }, 216 | "outputs": [ 217 | { 218 | "name": "stdout", 219 | "output_type": "stream", 220 | "text": [ 221 | "[0.0057994903738334703, 2.1728365149007411e-05]\n" 222 | ] 223 | } 224 | ], 225 | "source": [ 226 | "def default_boot_sample(dataFrame, indices):\n", 227 | " \"\"\"\n", 228 | " Returns a single bootstrap sample estimate of the coeffecients for a logistic model applied to dataframe using \n", 229 | " ['income', 'balance'] predictors and [default] response corresponding to the supplied indices.\n", 230 | " \"\"\"\n", 231 | " predictors = ['balance', 'income']\n", 232 | " response = ['default']\n", 233 | " \n", 234 | " # Get the design matrix and response variables\n", 235 | " X = sm.add_constant(dataFrame[predictors]).loc[indices]\n", 236 | " y = dataFrame[response].loc[indices]\n", 237 | " \n", 238 | " # Create model and fit #suppress model output\n", 239 | " results = sm.Logit(y,X).fit(disp=0)\n", 240 | " \n", 241 | " return [results.params[predictors].balance, results.params[predictors].income]\n", 242 | " \n", 243 | "# test it out\n", 244 | "np.random.seed(0)\n", 245 | "indices = np.random.choice(df.index, size=len(df), replace=True)\n", 246 | "print(default_boot_sample(df, indices))" 247 | ] 248 | }, 249 | { 250 | "cell_type": "markdown", 251 | "metadata": {}, 252 | "source": [ 253 | "## C-D. Bootstrap Coeffecient Standard Errors and Compare" 254 | ] 255 | }, 256 | { 257 | "cell_type": "code", 258 | "execution_count": 50, 259 | "metadata": { 260 | "collapsed": false 261 | }, 262 | "outputs": [ 263 | { 264 | "name": "stdout", 265 | "output_type": "stream", 266 | "text": [ 267 | "[ 2.3616e-04 4.7132e-06]\n" 268 | ] 269 | } 270 | ], 271 | "source": [ 272 | "def se_boot(data, stat_func, num_samples=1000):\n", 273 | " \"\"\"\n", 274 | " computes the num_samples bootstrapped standard errors from bootstrap samples generated by stat_func applied to\n", 275 | " data. \n", 276 | " \"\"\"\n", 277 | " boot_samples = []\n", 278 | " \n", 279 | " for sample in range(num_samples):\n", 280 | " # choose a sample of the data\n", 281 | " indices = np.random.choice(data.index, size=len(data), replace=True)\n", 282 | " # compute the coeffecients\n", 283 | " boot_samples.append(stat_func(data, indices))\n", 284 | " \n", 285 | " # compute the se estimate \n", 286 | " se_estimate = scipy.std(boot_samples, axis=0)\n", 287 | " \n", 288 | " return se_estimate\n", 289 | "\n", 290 | "np.random.seed(0)\n", 291 | "print(se_boot(df,default_boot_sample, num_samples=1000))" 292 | ] 293 | }, 294 | { 295 | "cell_type": "markdown", 296 | "metadata": {}, 297 | "source": [ 298 | "These standard errors are very close to the values estimated in the model using formula 3.8 from the text." 299 | ] 300 | } 301 | ], 302 | "metadata": { 303 | "kernelspec": { 304 | "display_name": "Python 3", 305 | "language": "python", 306 | "name": "python3" 307 | }, 308 | "language_info": { 309 | "codemirror_mode": { 310 | "name": "ipython", 311 | "version": 3 312 | }, 313 | "file_extension": ".py", 314 | "mimetype": "text/x-python", 315 | "name": "python", 316 | "nbconvert_exporter": "python", 317 | "pygments_lexer": "ipython3", 318 | "version": "3.5.2" 319 | } 320 | }, 321 | "nbformat": 4, 322 | "nbformat_minor": 0 323 | } 324 | -------------------------------------------------------------------------------- /notebooks/Ch5_Resampling_Methods/Applied/Ch5_Ex7.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# ISLR-Python: Ch5 Applied 7" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "- [Load Weekly Dataset](#Load-Weekly-Dataset)\n", 15 | "- [A. Fit Logistic Model for Market Direction](#A.-Fit-Logistic-Model-for-Market-Direction)\n", 16 | "- [B. Fit Logistic Model Leaving Out One Observation](#B.-Fit-Logistic-Model-Leaving-Out-One-Observation)\n", 17 | "- [C. Use One-Out Model to Predict Unused Observation](#C.-Use-One-Out-Model-to-Predict-Unused-Observation)\n", 18 | "- [D-E. Perform LOOCV](#D-E.-Perform-LOOCV)" 19 | ] 20 | }, 21 | { 22 | "cell_type": "code", 23 | "execution_count": 1, 24 | "metadata": { 25 | "collapsed": true 26 | }, 27 | "outputs": [], 28 | "source": [ 29 | "## perform imports and set-up\n", 30 | "import numpy as np\n", 31 | "import pandas as pd\n", 32 | "import scipy\n", 33 | "import statsmodels.api as sm\n", 34 | "\n", 35 | "from matplotlib import pyplot as plt\n", 36 | "\n", 37 | "%matplotlib inline\n", 38 | "plt.style.use('ggplot') # emulate pretty r-style plots\n", 39 | "\n", 40 | "# print numpy arrays with precision 4\n", 41 | "np.set_printoptions(precision=4)" 42 | ] 43 | }, 44 | { 45 | "cell_type": "markdown", 46 | "metadata": {}, 47 | "source": [ 48 | "## Load Weekly Dataset" 49 | ] 50 | }, 51 | { 52 | "cell_type": "code", 53 | "execution_count": 4, 54 | "metadata": { 55 | "collapsed": false 56 | }, 57 | "outputs": [ 58 | { 59 | "data": { 60 | "text/html": [ 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 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | "
YearLag1Lag2Lag3Lag4Lag5VolumeTodayDirection
019900.8161.572-3.936-0.229-3.4840.154976-0.270False
11990-0.2700.8161.572-3.936-0.2290.148574-2.576False
21990-2.576-0.2700.8161.572-3.9360.1598373.514True
319903.514-2.576-0.2700.8161.5720.1616300.712True
419900.7123.514-2.576-0.2700.8160.1537281.178True
\n", 140 | "
" 141 | ], 142 | "text/plain": [ 143 | " Year Lag1 Lag2 Lag3 Lag4 Lag5 Volume Today Direction\n", 144 | "0 1990 0.816 1.572 -3.936 -0.229 -3.484 0.154976 -0.270 False\n", 145 | "1 1990 -0.270 0.816 1.572 -3.936 -0.229 0.148574 -2.576 False\n", 146 | "2 1990 -2.576 -0.270 0.816 1.572 -3.936 0.159837 3.514 True\n", 147 | "3 1990 3.514 -2.576 -0.270 0.816 1.572 0.161630 0.712 True\n", 148 | "4 1990 0.712 3.514 -2.576 -0.270 0.816 0.153728 1.178 True" 149 | ] 150 | }, 151 | "execution_count": 4, 152 | "metadata": {}, 153 | "output_type": "execute_result" 154 | } 155 | ], 156 | "source": [ 157 | "df = pd.read_csv('../../../data/Weekly.csv', true_values=['Up'], false_values=['Down'])\n", 158 | "df.head()" 159 | ] 160 | }, 161 | { 162 | "cell_type": "markdown", 163 | "metadata": {}, 164 | "source": [ 165 | "## A. Fit Logistic Model for Market Direction" 166 | ] 167 | }, 168 | { 169 | "cell_type": "markdown", 170 | "metadata": {}, 171 | "source": [ 172 | "When we loaded the dataframe we assert that 'Up' directions be encoded as true and 'Down' market directions be encoded as False. We now fit a logistic model to the data using the lag1 and lag2 variables as the predictors and the direction as the response class." 173 | ] 174 | }, 175 | { 176 | "cell_type": "code", 177 | "execution_count": 5, 178 | "metadata": { 179 | "collapsed": false 180 | }, 181 | "outputs": [ 182 | { 183 | "name": "stdout", 184 | "output_type": "stream", 185 | "text": [ 186 | "Optimization terminated successfully.\n", 187 | " Current function value: 0.683297\n", 188 | " Iterations 4\n", 189 | " Logit Regression Results \n", 190 | "==============================================================================\n", 191 | "Dep. Variable: Direction No. Observations: 1089\n", 192 | "Model: Logit Df Residuals: 1086\n", 193 | "Method: MLE Df Model: 2\n", 194 | "Date: Wed, 27 Jul 2016 Pseudo R-squ.: 0.005335\n", 195 | "Time: 14:52:03 Log-Likelihood: -744.11\n", 196 | "converged: True LL-Null: -748.10\n", 197 | " LLR p-value: 0.01848\n", 198 | "==============================================================================\n", 199 | " coef std err z P>|z| [95.0% Conf. Int.]\n", 200 | "------------------------------------------------------------------------------\n", 201 | "const 0.2212 0.061 3.599 0.000 0.101 0.342\n", 202 | "Lag1 -0.0387 0.026 -1.477 0.140 -0.090 0.013\n", 203 | "Lag2 0.0602 0.027 2.270 0.023 0.008 0.112\n", 204 | "==============================================================================\n" 205 | ] 206 | } 207 | ], 208 | "source": [ 209 | "# Construct Design matrix #\n", 210 | "###########################\n", 211 | "X = sm.add_constant(df[['Lag1', 'Lag2']])\n", 212 | "y = df.Direction\n", 213 | "\n", 214 | "# Model and Fit #\n", 215 | "#################\n", 216 | "results = sm.Logit(y,X).fit()\n", 217 | "print(results.summary())" 218 | ] 219 | }, 220 | { 221 | "cell_type": "markdown", 222 | "metadata": {}, 223 | "source": [ 224 | "## B. Fit Logistic Model Leaving Out One Observation" 225 | ] 226 | }, 227 | { 228 | "cell_type": "markdown", 229 | "metadata": {}, 230 | "source": [ 231 | "We are working our way slowly up to a function that will perform LOOCV. As a first step we will leave out the 1st observation and try to predict Market Direction for this observation from the remaining observations." 232 | ] 233 | }, 234 | { 235 | "cell_type": "code", 236 | "execution_count": 13, 237 | "metadata": { 238 | "collapsed": false 239 | }, 240 | "outputs": [], 241 | "source": [ 242 | "# Construct Design matrix #\n", 243 | "###########################\n", 244 | "X_oo = sm.add_constant(df[['Lag1', 'Lag2']]).loc[1:]\n", 245 | "y_oo = df.Direction.loc[1:]\n", 246 | "\n", 247 | "# Model and Fit #\n", 248 | "#################\n", 249 | "results_oo = sm.Logit(y_oo,X_oo).fit(disp = 0)" 250 | ] 251 | }, 252 | { 253 | "cell_type": "markdown", 254 | "metadata": {}, 255 | "source": [ 256 | " ## C. Use One-Out Model to Predict Unused Observation" 257 | ] 258 | }, 259 | { 260 | "cell_type": "code", 261 | "execution_count": 18, 262 | "metadata": { 263 | "collapsed": false 264 | }, 265 | "outputs": [ 266 | { 267 | "name": "stdout", 268 | "output_type": "stream", 269 | "text": [ 270 | "[ True]\n" 271 | ] 272 | } 273 | ], 274 | "source": [ 275 | "y_oo_predicted = results_oo.predict(X.loc[0])\n", 276 | "print(y_oo_predicted > 0.5)" 277 | ] 278 | }, 279 | { 280 | "cell_type": "markdown", 281 | "metadata": {}, 282 | "source": [ 283 | "So the model incorrectly classified the 1st observation as 'Up' when in fact it is 'Down'." 284 | ] 285 | }, 286 | { 287 | "cell_type": "markdown", 288 | "metadata": {}, 289 | "source": [ 290 | "## D-E. Perform LOOCV" 291 | ] 292 | }, 293 | { 294 | "cell_type": "markdown", 295 | "metadata": {}, 296 | "source": [ 297 | "#### In this exercise we are asked to perform LOOCV by hand; that is compute in a for loop (1) leave out the ith observation, (2) construct model and fit (3) predict the market direction for the left out observation (4) compute the error rate of the model's predictions" 298 | ] 299 | }, 300 | { 301 | "cell_type": "code", 302 | "execution_count": 32, 303 | "metadata": { 304 | "collapsed": false 305 | }, 306 | "outputs": [ 307 | { 308 | "name": "stdout", 309 | "output_type": "stream", 310 | "text": [ 311 | "LOOCV Error Rate = 0.444444444444\n" 312 | ] 313 | } 314 | ], 315 | "source": [ 316 | "y_predictions = np.array([])\n", 317 | "\n", 318 | "for obs in range(len(df)):\n", 319 | " indices = df.index\n", 320 | " # use list slicing and concatenate to generate a list without obs\n", 321 | " X_train = sm.add_constant(df[['Lag1','Lag2']]).loc(np.concatenate((indices[:obs],indices[obs+1:]),axis=0))\n", 322 | " y_train = df['Direction'].loc(np.concatenate((indices[:obs], indices[obs+1:]),axis=0))\n", 323 | " \n", 324 | " # fit the model on the training observation\n", 325 | " result = sm.Logit(y,X).fit(disp=0)\n", 326 | " \n", 327 | " # predict market direction for the left out obs and append\n", 328 | " y_predictions = np.append(y_predictions, result.predict(sm.add_constant(df[['Lag1', 'Lag2']]).loc[obs]))\n", 329 | " \n", 330 | "# Compare the y_predictions with the actual market directions to get Error Rate\n", 331 | "y_predictions = (y_predictions > 0.5)\n", 332 | "print('LOOCV Error Rate =', np.mean(y_predictions != df.Direction.values))" 333 | ] 334 | }, 335 | { 336 | "cell_type": "markdown", 337 | "metadata": {}, 338 | "source": [ 339 | "In Chapter 4, \"Classification\", we fit a logistic regression model in Applied question 10 using all of the variables as predictors we determined the error rate to be 43%. This value is close to that previous finding. We noted in that model that Lag2 was the most significant variable p=0.03." 340 | ] 341 | } 342 | ], 343 | "metadata": { 344 | "kernelspec": { 345 | "display_name": "Python 3", 346 | "language": "python", 347 | "name": "python3" 348 | }, 349 | "language_info": { 350 | "codemirror_mode": { 351 | "name": "ipython", 352 | "version": 3 353 | }, 354 | "file_extension": ".py", 355 | "mimetype": "text/x-python", 356 | "name": "python", 357 | "nbconvert_exporter": "python", 358 | "pygments_lexer": "ipython3", 359 | "version": "3.5.2" 360 | } 361 | }, 362 | "nbformat": 4, 363 | "nbformat_minor": 0 364 | } 365 | -------------------------------------------------------------------------------- /notebooks/Ch5_Resampling_Methods/Applied/Ch5_Ex9.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# ISLR-Python Ch5 Applied 9" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "- [Load Boston Dataset](#Load-Boston-Dataset)\n", 15 | "- [A. Estimate Mean Medv: mu](#A.-Estimate-Mean-Medv:-mu)\n", 16 | "- [B. Estimate SE of mu](#B.-Estimate-SE-of-mu)\n", 17 | "- [C. Bootsrap Estimate of SE of mu](#C.-Bootstrap-Estimate-of-SE-of-mu)\n", 18 | "- [D. Construct 95% CI for mu](#D.-Construct-95%-CI-for-mu)\n", 19 | "- [E. Compute Median of Medv: mu_med](#E.-Compute-Median-of-Medv:-mu_med)\n", 20 | "- [F. Estimate SE of mu_med](#F.-Estimate-SE-of-mu_med)\n", 21 | "- [G. Estimate Tenth Percentile of Medv](#G.-Estimate-Tenth-Percentile-of-Medv)\n", 22 | "- [H. Estimate SE of mu_0.1](#H.-Estimate-SE-of-mu_0.1)" 23 | ] 24 | }, 25 | { 26 | "cell_type": "code", 27 | "execution_count": 112, 28 | "metadata": { 29 | "collapsed": true 30 | }, 31 | "outputs": [], 32 | "source": [ 33 | "# Imports\n", 34 | "import numpy as np \n", 35 | "import pandas as pd\n", 36 | "\n", 37 | "from matplotlib import pyplot as plt\n", 38 | "from scipy import stats as stats\n", 39 | "from functools import partial\n", 40 | "\n", 41 | "# print numpy arrays with precision 4\n", 42 | "np.set_printoptions(precision=4)" 43 | ] 44 | }, 45 | { 46 | "cell_type": "code", 47 | "execution_count": 113, 48 | "metadata": { 49 | "collapsed": false 50 | }, 51 | "outputs": [ 52 | { 53 | "data": { 54 | "text/html": [ 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 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | "
crimzninduschasnoxrmagedisradtaxptratioblacklstatmedv
10.00632182.3100.5386.57565.24.0900129615.3396.904.9824.0
20.0273107.0700.4696.42178.94.9671224217.8396.909.1421.6
30.0272907.0700.4697.18561.14.9671224217.8392.834.0334.7
40.0323702.1800.4586.99845.86.0622322218.7394.632.9433.4
50.0690502.1800.4587.14754.26.0622322218.7396.905.3336.2
\n", 164 | "
" 165 | ], 166 | "text/plain": [ 167 | " crim zn indus chas nox rm age dis rad tax ptratio \\\n", 168 | "1 0.00632 18 2.31 0 0.538 6.575 65.2 4.0900 1 296 15.3 \n", 169 | "2 0.02731 0 7.07 0 0.469 6.421 78.9 4.9671 2 242 17.8 \n", 170 | "3 0.02729 0 7.07 0 0.469 7.185 61.1 4.9671 2 242 17.8 \n", 171 | "4 0.03237 0 2.18 0 0.458 6.998 45.8 6.0622 3 222 18.7 \n", 172 | "5 0.06905 0 2.18 0 0.458 7.147 54.2 6.0622 3 222 18.7 \n", 173 | "\n", 174 | " black lstat medv \n", 175 | "1 396.90 4.98 24.0 \n", 176 | "2 396.90 9.14 21.6 \n", 177 | "3 392.83 4.03 34.7 \n", 178 | "4 394.63 2.94 33.4 \n", 179 | "5 396.90 5.33 36.2 " 180 | ] 181 | }, 182 | "execution_count": 113, 183 | "metadata": {}, 184 | "output_type": "execute_result" 185 | } 186 | ], 187 | "source": [ 188 | "boston= pd.read_csv('../../../data/Boston.csv', index_col=0)\n", 189 | "boston.head()" 190 | ] 191 | }, 192 | { 193 | "cell_type": "markdown", 194 | "metadata": {}, 195 | "source": [ 196 | "## A. Estimate Mean Medv: mu" 197 | ] 198 | }, 199 | { 200 | "cell_type": "code", 201 | "execution_count": 114, 202 | "metadata": { 203 | "collapsed": false 204 | }, 205 | "outputs": [ 206 | { 207 | "name": "stdout", 208 | "output_type": "stream", 209 | "text": [ 210 | "mu = 22.5328063241\n" 211 | ] 212 | } 213 | ], 214 | "source": [ 215 | "# Get mean of medv column\n", 216 | "mu = boston.medv.mean(axis=0)\n", 217 | "print('mu = ',mu)" 218 | ] 219 | }, 220 | { 221 | "cell_type": "markdown", 222 | "metadata": {}, 223 | "source": [ 224 | "## B. Estimate SE of mu" 225 | ] 226 | }, 227 | { 228 | "cell_type": "markdown", 229 | "metadata": {}, 230 | "source": [ 231 | "We estimate the SE of a statistic by $\\frac{SD}{\\sqrt{n}}$" 232 | ] 233 | }, 234 | { 235 | "cell_type": "code", 236 | "execution_count": 115, 237 | "metadata": { 238 | "collapsed": false 239 | }, 240 | "outputs": [ 241 | { 242 | "name": "stdout", 243 | "output_type": "stream", 244 | "text": [ 245 | "SE(mu) = 0.408861147498\n" 246 | ] 247 | } 248 | ], 249 | "source": [ 250 | "SE = boston.medv.std(axis=0)/np.sqrt(len(boston))\n", 251 | "print('SE(mu) = ', SE)" 252 | ] 253 | }, 254 | { 255 | "cell_type": "markdown", 256 | "metadata": {}, 257 | "source": [ 258 | "## C. Bootstrap Estimate of SE of mu" 259 | ] 260 | }, 261 | { 262 | "cell_type": "code", 263 | "execution_count": 116, 264 | "metadata": { 265 | "collapsed": false 266 | }, 267 | "outputs": [ 268 | { 269 | "name": "stdout", 270 | "output_type": "stream", 271 | "text": [ 272 | "0.408671617577\n" 273 | ] 274 | } 275 | ], 276 | "source": [ 277 | "# Create Boot Func #\n", 278 | "####################\n", 279 | "def boot(df, column, statistic, num_samples=10000):\n", 280 | " \"\"\"\n", 281 | " Returns a bootstrapped estimate of the SE of the statistic applied to column in dataframe.\n", 282 | " \"\"\"\n", 283 | " \n", 284 | " def bootstrap_sample(df, column, statistic):\n", 285 | " \"\"\"\n", 286 | " Compute bootstrap sample of column in dataframe df applying statistic function.\n", 287 | " \"\"\"\n", 288 | " # get a random sampling of indices\n", 289 | " boot_indices = np.random.choice(df.index, size=len(df), replace=True)\n", 290 | " # compute a sample statistic\n", 291 | " sample_stat = statistic(df[column].loc[boot_indices])\n", 292 | " \n", 293 | " return sample_stat\n", 294 | " \n", 295 | " return scipy.std([bootstrap_sample(df, column, statistic) for sample in range(num_samples)],axis=0)\n", 296 | "\n", 297 | "print(boot(boston,'medv', np.mean))" 298 | ] 299 | }, 300 | { 301 | "cell_type": "markdown", 302 | "metadata": {}, 303 | "source": [ 304 | "This value is within 1/1000th of the computed SE in B." 305 | ] 306 | }, 307 | { 308 | "cell_type": "markdown", 309 | "metadata": {}, 310 | "source": [ 311 | "## D. Construct 95% CI for mu" 312 | ] 313 | }, 314 | { 315 | "cell_type": "markdown", 316 | "metadata": {}, 317 | "source": [ 318 | "A confidence interval for the t-distribution is $\\left[\\mu - t_{\\alpha/2,n-1}SE, \\quad \\mu + t_{\\alpha/2,n-1}SE\\right]$. The text approximates $t_{a/2,n-1}$ as 2. Lets get the exact value here." 319 | ] 320 | }, 321 | { 322 | "cell_type": "code", 323 | "execution_count": 117, 324 | "metadata": { 325 | "collapsed": false 326 | }, 327 | "outputs": [ 328 | { 329 | "name": "stdout", 330 | "output_type": "stream", 331 | "text": [ 332 | "t_alpha/2,n-1 = 1.96467263874\n" 333 | ] 334 | } 335 | ], 336 | "source": [ 337 | "# compute t_alpha/2,n-1, This is the inverse 1-CDF function called survival function in scipy\n", 338 | "t_alpha = stats.t.isf(.05/2,len(boston)-1)\n", 339 | "print('t_alpha/2,n-1 =', t_alpha )" 340 | ] 341 | }, 342 | { 343 | "cell_type": "markdown", 344 | "metadata": {}, 345 | "source": [ 346 | "So the text's approximation of 2 value is 2% off the true value t_alpha/2,n-1... pretty close" 347 | ] 348 | }, 349 | { 350 | "cell_type": "code", 351 | "execution_count": 118, 352 | "metadata": { 353 | "collapsed": false 354 | }, 355 | "outputs": [ 356 | { 357 | "name": "stdout", 358 | "output_type": "stream", 359 | "text": [ 360 | "CI = [ 21.7295 23.3361]\n" 361 | ] 362 | } 363 | ], 364 | "source": [ 365 | "# print out the confidence interval\n", 366 | "print('CI =' ,np.array([mu-t_alpha*SE, mu+t_alpha*SE]))" 367 | ] 368 | }, 369 | { 370 | "cell_type": "markdown", 371 | "metadata": {}, 372 | "source": [ 373 | "## E. Compute Median of Medv: mu_med" 374 | ] 375 | }, 376 | { 377 | "cell_type": "code", 378 | "execution_count": 119, 379 | "metadata": { 380 | "collapsed": false 381 | }, 382 | "outputs": [ 383 | { 384 | "name": "stdout", 385 | "output_type": "stream", 386 | "text": [ 387 | "21.2\n" 388 | ] 389 | } 390 | ], 391 | "source": [ 392 | "median = boston.medv.median(axis=0)\n", 393 | "print(median)" 394 | ] 395 | }, 396 | { 397 | "cell_type": "markdown", 398 | "metadata": {}, 399 | "source": [ 400 | "## F. Estimate SE of mu_med" 401 | ] 402 | }, 403 | { 404 | "cell_type": "code", 405 | "execution_count": 120, 406 | "metadata": { 407 | "collapsed": false 408 | }, 409 | "outputs": [ 410 | { 411 | "name": "stdout", 412 | "output_type": "stream", 413 | "text": [ 414 | "Standard Error of Median = 0.37450551064\n" 415 | ] 416 | } 417 | ], 418 | "source": [ 419 | "# The boot function written above can take any stat function so use it here\n", 420 | "se_mu_med = boot(boston, 'medv', np.median)\n", 421 | "print('Standard Error of Median =', se_mu_med)" 422 | ] 423 | }, 424 | { 425 | "cell_type": "markdown", 426 | "metadata": {}, 427 | "source": [ 428 | "The standard error of the median is slightly smaller than the standard error of the mean. This makes sense when we look at a histogram of medv." 429 | ] 430 | }, 431 | { 432 | "cell_type": "code", 433 | "execution_count": 121, 434 | "metadata": { 435 | "collapsed": false 436 | }, 437 | "outputs": [ 438 | { 439 | "data": { 440 | "image/png": "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\n", 441 | "text/plain": [ 442 | "" 443 | ] 444 | }, 445 | "metadata": {}, 446 | "output_type": "display_data" 447 | } 448 | ], 449 | "source": [ 450 | "fig, ax1 = plt.subplots(figsize=(6,3))\n", 451 | "boston.hist('medv',ax = ax1);\n", 452 | "ax1.set_xlabel('MEDV');\n", 453 | "ax1.set_ylabel('Counts');\n", 454 | "plt.title('');" 455 | ] 456 | }, 457 | { 458 | "cell_type": "markdown", 459 | "metadata": {}, 460 | "source": [ 461 | "The data has a ~20 large MEDVs (> 45). The mean will be pulled by these large values but the median is less swayed by these large values because it only looks at the number of points above and below the 50% of total data. For example the values 35 and 50 are treated the same i.e. they both lie in the upper 50%." 462 | ] 463 | }, 464 | { 465 | "cell_type": "markdown", 466 | "metadata": {}, 467 | "source": [ 468 | "## G. Estimate Tenth Percentile of Medv" 469 | ] 470 | }, 471 | { 472 | "cell_type": "code", 473 | "execution_count": 122, 474 | "metadata": { 475 | "collapsed": false 476 | }, 477 | "outputs": [ 478 | { 479 | "name": "stdout", 480 | "output_type": "stream", 481 | "text": [ 482 | "12.75\n" 483 | ] 484 | } 485 | ], 486 | "source": [ 487 | "mu_0p1 = boston.medv.quantile(q=0.1)\n", 488 | "print(mu_0p1)" 489 | ] 490 | }, 491 | { 492 | "cell_type": "markdown", 493 | "metadata": {}, 494 | "source": [ 495 | "## H. Estimate SE of mu_0.1" 496 | ] 497 | }, 498 | { 499 | "cell_type": "code", 500 | "execution_count": 123, 501 | "metadata": { 502 | "collapsed": false 503 | }, 504 | "outputs": [ 505 | { 506 | "name": "stdout", 507 | "output_type": "stream", 508 | "text": [ 509 | "Standard Error of Median = 0.497726174091\n" 510 | ] 511 | } 512 | ], 513 | "source": [ 514 | "# The boot function written in C can take any stat function so use it here\n", 515 | "# create a 10th percentile stats function using np.percentile\n", 516 | "f = partial(np.percentile, q=10)\n", 517 | "# call our boot function from c\n", 518 | "se_mu_med = boot(boston, 'medv',f)\n", 519 | "print('Standard Error of Median =', se_mu_med)" 520 | ] 521 | }, 522 | { 523 | "cell_type": "markdown", 524 | "metadata": {}, 525 | "source": [ 526 | "The mu of the tenth percentile is more variable than mu_med. There are many fewer values in this small segement of the population." 527 | ] 528 | } 529 | ], 530 | "metadata": { 531 | "kernelspec": { 532 | "display_name": "Python 3", 533 | "language": "python", 534 | "name": "python3" 535 | }, 536 | "language_info": { 537 | "codemirror_mode": { 538 | "name": "ipython", 539 | "version": 3 540 | }, 541 | "file_extension": ".py", 542 | "mimetype": "text/x-python", 543 | "name": "python", 544 | "nbconvert_exporter": "python", 545 | "pygments_lexer": "ipython3", 546 | "version": "3.5.2" 547 | } 548 | }, 549 | "nbformat": 4, 550 | "nbformat_minor": 0 551 | } 552 | -------------------------------------------------------------------------------- /notebooks/Ch7_Moving_Beyond_Linearity/Applied/Ch7_Applied_7.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# ISLR-Python: Ch7 Applied 7" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "- [Generate Data](#Generate-Data)\n", 15 | "- [Single Backfit](#Single-Backfit)\n", 16 | "- [Full Backfitting](#Full-Backfitting)" 17 | ] 18 | }, 19 | { 20 | "cell_type": "code", 21 | "execution_count": 70, 22 | "metadata": { 23 | "collapsed": true 24 | }, 25 | "outputs": [], 26 | "source": [ 27 | "import numpy as np\n", 28 | "import pandas as pd\n", 29 | "\n", 30 | "from sklearn.datasets import make_regression\n", 31 | "from sklearn.linear_model import LinearRegression\n", 32 | "from matplotlib import pyplot as plt\n", 33 | "\n", 34 | "plt.style.use('ggplot')\n", 35 | "%matplotlib inline" 36 | ] 37 | }, 38 | { 39 | "cell_type": "markdown", 40 | "metadata": {}, 41 | "source": [ 42 | "## Generate Data" 43 | ] 44 | }, 45 | { 46 | "cell_type": "code", 47 | "execution_count": 6, 48 | "metadata": { 49 | "collapsed": false 50 | }, 51 | "outputs": [], 52 | "source": [ 53 | "#use make regression to generate a linear regression dataset with 100 informative predictors and 1000 samples\n", 54 | "X, y, coef_ = make_regression(n_samples=1000, n_features=100, coef=True, n_informative=100)" 55 | ] 56 | }, 57 | { 58 | "cell_type": "markdown", 59 | "metadata": {}, 60 | "source": [ 61 | "## Single Backfit" 62 | ] 63 | }, 64 | { 65 | "cell_type": "markdown", 66 | "metadata": {}, 67 | "source": [ 68 | "Lets start by making a sinle backfit estimate over all 100 predictors. We do this by calculating the partial residue Y-X'*beta' where X' and beta' are the original X and beta BUT missing the column for the predictor. We then perform simple linear regression using the held out predictor onto the partial residue. We repeat this process for all predictors to generate a first-pass array of all coeff estimates. " 69 | ] 70 | }, 71 | { 72 | "cell_type": "code", 73 | "execution_count": 39, 74 | "metadata": { 75 | "collapsed": false 76 | }, 77 | "outputs": [], 78 | "source": [ 79 | "# try a single backfit\n", 80 | "betas = np.zeros([100,1])\n", 81 | "\n", 82 | "for predictor in np.arange(0,len(coef_)):\n", 83 | " # get the partial residue\n", 84 | " partial = y.reshape(-1,1) - np.dot(np.delete(X,predictor,axis=1), np.delete(betas,predictor,axis=0))\n", 85 | " # get the estimate of the predictors coeff.\n", 86 | " betas[predictor] = LinearRegression().fit(X[:,predictor,np.newaxis], partial).coef_[0]\n", 87 | " \n", 88 | "#print(betas) " 89 | ] 90 | }, 91 | { 92 | "cell_type": "markdown", 93 | "metadata": {}, 94 | "source": [ 95 | "## Full Backfitting" 96 | ] 97 | }, 98 | { 99 | "cell_type": "markdown", 100 | "metadata": {}, 101 | "source": [ 102 | "Now that we can see how to do a backfit over 100 predictors for a single iteration lets try it out for 1000 iterations and keep track of the maximum difference between the backfitting coeffecient estimates and the OLS coeffecient estimates." 103 | ] 104 | }, 105 | { 106 | "cell_type": "code", 107 | "execution_count": 107, 108 | "metadata": { 109 | "collapsed": false 110 | }, 111 | "outputs": [], 112 | "source": [ 113 | "# Fit the data using multiple linear regression-- will serve as baseline\n", 114 | "betas_mlr = LinearRegression(fit_intercept=False).fit(X,y).coef_.reshape(-1,1)\n", 115 | "\n", 116 | "betas = np.zeros([100,1])\n", 117 | "diffs = np.empty([100,1])\n", 118 | "\n", 119 | "for iteration in np.arange(1,100):\n", 120 | " for predictor in np.arange(0,len(coef_)):\n", 121 | " # get the partial residue for this predictor\n", 122 | " partial = y.reshape(-1,1) - np.dot(np.delete(X,predictor,axis=1), np.delete(betas,predictor,axis=0))\n", 123 | " # get the estimate of the predictors coeff.\n", 124 | " betas[predictor] = LinearRegression().fit(X[:,predictor,np.newaxis], partial).coef_[0] \n", 125 | " \n", 126 | " # for each iteration compute the differences in the backfit and multiple linear regression betas\n", 127 | " diffs[iteration] = np.max(betas-betas_mlr)" 128 | ] 129 | }, 130 | { 131 | "cell_type": "code", 132 | "execution_count": 109, 133 | "metadata": { 134 | "collapsed": false 135 | }, 136 | "outputs": [ 137 | { 138 | "data": { 139 | "image/png": "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\n", 140 | "text/plain": [ 141 | "" 142 | ] 143 | }, 144 | "metadata": {}, 145 | "output_type": "display_data" 146 | } 147 | ], 148 | "source": [ 149 | "fig, ax = plt.subplots(1,1, figsize=(12,6))\n", 150 | "ax.plot(range(len(diffs)), diffs, lw=2, label='Backfit vs. OLS Coeffs')\n", 151 | "ax.set_xlabel('Iteration Number');\n", 152 | "ax.set_ylabel(r'$max( \\beta_{backfit} - \\beta_{OLS})$');" 153 | ] 154 | }, 155 | { 156 | "cell_type": "markdown", 157 | "metadata": {}, 158 | "source": [ 159 | "So within 20 iterations the maximum difference between the Backfitting and OLS coeffecients becomes very small." 160 | ] 161 | }, 162 | { 163 | "cell_type": "code", 164 | "execution_count": null, 165 | "metadata": { 166 | "collapsed": true 167 | }, 168 | "outputs": [], 169 | "source": [] 170 | } 171 | ], 172 | "metadata": { 173 | "kernelspec": { 174 | "display_name": "Python 3", 175 | "language": "python", 176 | "name": "python3" 177 | }, 178 | "language_info": { 179 | "codemirror_mode": { 180 | "name": "ipython", 181 | "version": 3 182 | }, 183 | "file_extension": ".py", 184 | "mimetype": "text/x-python", 185 | "name": "python", 186 | "nbconvert_exporter": "python", 187 | "pygments_lexer": "ipython3", 188 | "version": "3.5.2" 189 | } 190 | }, 191 | "nbformat": 4, 192 | "nbformat_minor": 0 193 | } 194 | -------------------------------------------------------------------------------- /notebooks/Ch8_Tree_Methods/Applied/Ch8_Applied_11.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# ISLR - Python Ch8 Applied 11" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "- [Import Caravan Dataset](#Import-Caravan-Dataset)\n", 15 | "- [Split the data](#Split-the-data)\n", 16 | "- [Build a Boosting Model](#Build-a-Boosting-Model)\n", 17 | "- [Predict with Boosting Model](#Predict-with-Boosting-Model)\n", 18 | "- [Build Confusion Matrix](#Build-Confusion-Matrix)\n", 19 | "- [Compare with KNN Model](#Compare-with-KNN-Model)" 20 | ] 21 | }, 22 | { 23 | "cell_type": "code", 24 | "execution_count": 72, 25 | "metadata": { 26 | "collapsed": false 27 | }, 28 | "outputs": [], 29 | "source": [ 30 | "import numpy as np\n", 31 | "import pandas as pd\n", 32 | "import matplotlib.pyplot as plt\n", 33 | "\n", 34 | "from sklearn.ensemble import GradientBoostingClassifier\n", 35 | "from sklearn.metrics import confusion_matrix\n", 36 | "from sklearn.neighbors import KNeighborsClassifier\n", 37 | "\n", 38 | "%matplotlib inline" 39 | ] 40 | }, 41 | { 42 | "cell_type": "code", 43 | "execution_count": 5, 44 | "metadata": { 45 | "collapsed": true 46 | }, 47 | "outputs": [], 48 | "source": [ 49 | "df = pd.read_csv('../../../data/Caravan.csv', index_col=0)" 50 | ] 51 | }, 52 | { 53 | "cell_type": "code", 54 | "execution_count": 11, 55 | "metadata": { 56 | "collapsed": false 57 | }, 58 | "outputs": [ 59 | { 60 | "data": { 61 | "text/html": [ 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 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \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 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | "
MOSTYPEMAANTHUIMGEMOMVMGEMLEEFMOSHOOFDMGODRKMGODPRMGODOVMGODGEMRELGE...APERSONGAGEZONGAWAOREGABRANDAZEILPLAPLEZIERAFIETSAINBOEDABYSTANDPurchase
133132805137...000100000No
237122814146...000100000No
337122804243...000100000No
49133323245...000100000No
5401421014147...000100000No
\n", 213 | "

5 rows × 86 columns

\n", 214 | "
" 215 | ], 216 | "text/plain": [ 217 | " MOSTYPE MAANTHUI MGEMOMV MGEMLEEF MOSHOOFD MGODRK MGODPR MGODOV \\\n", 218 | "1 33 1 3 2 8 0 5 1 \n", 219 | "2 37 1 2 2 8 1 4 1 \n", 220 | "3 37 1 2 2 8 0 4 2 \n", 221 | "4 9 1 3 3 3 2 3 2 \n", 222 | "5 40 1 4 2 10 1 4 1 \n", 223 | "\n", 224 | " MGODGE MRELGE ... APERSONG AGEZONG AWAOREG ABRAND AZEILPL \\\n", 225 | "1 3 7 ... 0 0 0 1 0 \n", 226 | "2 4 6 ... 0 0 0 1 0 \n", 227 | "3 4 3 ... 0 0 0 1 0 \n", 228 | "4 4 5 ... 0 0 0 1 0 \n", 229 | "5 4 7 ... 0 0 0 1 0 \n", 230 | "\n", 231 | " APLEZIER AFIETS AINBOED ABYSTAND Purchase \n", 232 | "1 0 0 0 0 No \n", 233 | "2 0 0 0 0 No \n", 234 | "3 0 0 0 0 No \n", 235 | "4 0 0 0 0 No \n", 236 | "5 0 0 0 0 No \n", 237 | "\n", 238 | "[5 rows x 86 columns]" 239 | ] 240 | }, 241 | "execution_count": 11, 242 | "metadata": {}, 243 | "output_type": "execute_result" 244 | } 245 | ], 246 | "source": [ 247 | "df.head()" 248 | ] 249 | }, 250 | { 251 | "cell_type": "markdown", 252 | "metadata": {}, 253 | "source": [ 254 | "## Split the data" 255 | ] 256 | }, 257 | { 258 | "cell_type": "code", 259 | "execution_count": 14, 260 | "metadata": { 261 | "collapsed": false 262 | }, 263 | "outputs": [], 264 | "source": [ 265 | "# Define the predictors and the response variables\n", 266 | "predictors = df.columns.tolist()\n", 267 | "predictors.remove('Purchase')\n", 268 | "\n", 269 | "X = df[predictors].values\n", 270 | "y = df['Purchase'].values\n", 271 | "\n", 272 | "# use the first 1000 as training and the remainder for testing\n", 273 | "X_train = X[0:1000]\n", 274 | "X_test = X[1000:]\n", 275 | "y_train = y[0:1000]\n", 276 | "y_test = y[1000:]" 277 | ] 278 | }, 279 | { 280 | "cell_type": "markdown", 281 | "metadata": {}, 282 | "source": [ 283 | "## Build a Boosting Model" 284 | ] 285 | }, 286 | { 287 | "cell_type": "code", 288 | "execution_count": 97, 289 | "metadata": { 290 | "collapsed": false 291 | }, 292 | "outputs": [], 293 | "source": [ 294 | "# build and fit a boosting model to the training data\n", 295 | "booster = GradientBoostingClassifier(learning_rate=0.01, n_estimators=1000, max_depth=3, \n", 296 | " random_state=0)\n", 297 | "boost_est = booster.fit(X_train, y_train)" 298 | ] 299 | }, 300 | { 301 | "cell_type": "code", 302 | "execution_count": 98, 303 | "metadata": { 304 | "collapsed": false 305 | }, 306 | "outputs": [ 307 | { 308 | "data": { 309 | "text/html": [ 310 | "
\n", 311 | "\n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | "
Importance
MOSTYPE0.073911
MGODGE0.045734
MOPLHOOG0.044637
PPERSAUT0.040973
MKOOPKLA0.040659
ABRAND0.039156
PLEVEN0.035447
PWAPART0.033261
\n", 353 | "
" 354 | ], 355 | "text/plain": [ 356 | " Importance\n", 357 | "MOSTYPE 0.073911\n", 358 | "MGODGE 0.045734\n", 359 | "MOPLHOOG 0.044637\n", 360 | "PPERSAUT 0.040973\n", 361 | "MKOOPKLA 0.040659\n", 362 | "ABRAND 0.039156\n", 363 | "PLEVEN 0.035447\n", 364 | "PWAPART 0.033261" 365 | ] 366 | }, 367 | "execution_count": 98, 368 | "metadata": {}, 369 | "output_type": "execute_result" 370 | } 371 | ], 372 | "source": [ 373 | "# get the variable importance\n", 374 | "Importances = pd.DataFrame(boost_est.feature_importances_, index=predictors, \n", 375 | " columns=['Importance']).sort_values(by='Importance', ascending=False)\n", 376 | "Importances.head(8)" 377 | ] 378 | }, 379 | { 380 | "cell_type": "markdown", 381 | "metadata": {}, 382 | "source": [ 383 | "The above dataframe list the top 8 predictors for classifying the response variable 'Purchase'." 384 | ] 385 | }, 386 | { 387 | "cell_type": "markdown", 388 | "metadata": {}, 389 | "source": [ 390 | "## Predict with Boosting Model" 391 | ] 392 | }, 393 | { 394 | "cell_type": "code", 395 | "execution_count": 91, 396 | "metadata": { 397 | "collapsed": false 398 | }, 399 | "outputs": [ 400 | { 401 | "name": "stdout", 402 | "output_type": "stream", 403 | "text": [ 404 | "[[ 0.97420521 0.02579479]\n", 405 | " [ 0.95516316 0.04483684]\n", 406 | " [ 0.984695 0.015305 ]\n", 407 | " ..., \n", 408 | " [ 0.95235931 0.04764069]\n", 409 | " [ 0.89500081 0.10499919]\n", 410 | " [ 0.97384333 0.02615667]]\n" 411 | ] 412 | } 413 | ], 414 | "source": [ 415 | "y_pred = boost_est.predict_proba(X_test)\n", 416 | "print(y_pred)" 417 | ] 418 | }, 419 | { 420 | "cell_type": "markdown", 421 | "metadata": {}, 422 | "source": [ 423 | "The above gives the class probabilities for [No Yes] for each instance in the test set.\n", 424 | "The predicted class according to the problem are 'yes' if the 'yes' probability exceeds 20% and 'No' otherwise." 425 | ] 426 | }, 427 | { 428 | "cell_type": "code", 429 | "execution_count": 92, 430 | "metadata": { 431 | "collapsed": false 432 | }, 433 | "outputs": [], 434 | "source": [ 435 | "# if the yes probability exceeds 0.2 then assign it as a purchase\n", 436 | "pred_purchase = ['No'if row[1] < 0.2 else 'Yes' for row in y_pred ]" 437 | ] 438 | }, 439 | { 440 | "cell_type": "markdown", 441 | "metadata": {}, 442 | "source": [ 443 | "## Build Confusion Matrix" 444 | ] 445 | }, 446 | { 447 | "cell_type": "code", 448 | "execution_count": 93, 449 | "metadata": { 450 | "collapsed": false 451 | }, 452 | "outputs": [ 453 | { 454 | "name": "stdout", 455 | "output_type": "stream", 456 | "text": [ 457 | "[[4335 198]\n", 458 | " [ 251 38]]\n" 459 | ] 460 | } 461 | ], 462 | "source": [ 463 | "cm = confusion_matrix(y_true = y_test, y_pred=pred_purchase, labels=['No', 'Yes'])\n", 464 | "print(cm)" 465 | ] 466 | }, 467 | { 468 | "cell_type": "code", 469 | "execution_count": 94, 470 | "metadata": { 471 | "collapsed": false 472 | }, 473 | "outputs": [ 474 | { 475 | "data": { 476 | "text/plain": [ 477 | "0.16101694915254236" 478 | ] 479 | }, 480 | "execution_count": 94, 481 | "metadata": {}, 482 | "output_type": "execute_result" 483 | } 484 | ], 485 | "source": [ 486 | "# The CM matrix is [[NN NY]\n", 487 | "# [YN, YY] \n", 488 | "# where C_ij is equal to the number of observations known to be in group i but \n", 489 | "# predicted to be in group j.\n", 490 | "\n", 491 | "#so the fraction predicted to be Yes that are actually Yes is \n", 492 | "cm[1,1]/(cm[1,1]+cm[0,1])" 493 | ] 494 | }, 495 | { 496 | "cell_type": "markdown", 497 | "metadata": {}, 498 | "source": [ 499 | "So 16% that are predicted to be in class Yes are actually Yes. Apply a KNN model to this data for comparison." 500 | ] 501 | }, 502 | { 503 | "cell_type": "markdown", 504 | "metadata": {}, 505 | "source": [ 506 | "## Compare with KNN Model" 507 | ] 508 | }, 509 | { 510 | "cell_type": "code", 511 | "execution_count": 95, 512 | "metadata": { 513 | "collapsed": false 514 | }, 515 | "outputs": [ 516 | { 517 | "name": "stdout", 518 | "output_type": "stream", 519 | "text": [ 520 | "[[3386 1147]\n", 521 | " [ 174 115]]\n" 522 | ] 523 | } 524 | ], 525 | "source": [ 526 | "# Build KNN clasifier\n", 527 | "knn_est = KNeighborsClassifier(n_neighbors=5).fit(X_train,y_train)\n", 528 | "# make predictons\n", 529 | "predicted_class = knn_est.predict_proba(X_test)\n", 530 | "# if the yes probability exceeds 0.2 then assign it as a purchase\n", 531 | "knn_pred = ['No'if row[1] < 0.2 else 'Yes' for row in predicted_class ]\n", 532 | "# build confusion matrix\n", 533 | "cm = confusion_matrix(y_true = y_test, y_pred=knn_pred, labels=['No', 'Yes'])\n", 534 | "print(cm)" 535 | ] 536 | }, 537 | { 538 | "cell_type": "code", 539 | "execution_count": 96, 540 | "metadata": { 541 | "collapsed": false 542 | }, 543 | "outputs": [ 544 | { 545 | "data": { 546 | "text/plain": [ 547 | "0.091125198098256741" 548 | ] 549 | }, 550 | "execution_count": 96, 551 | "metadata": {}, 552 | "output_type": "execute_result" 553 | } 554 | ], 555 | "source": [ 556 | "#so the fraction predicted to be Yes that are actually Yes is \n", 557 | "cm[1,1]/(cm[1,1]+cm[0,1])" 558 | ] 559 | }, 560 | { 561 | "cell_type": "markdown", 562 | "metadata": {}, 563 | "source": [ 564 | "So the Boosting performs nearly 2x better than the KNN on this hard classification problem." 565 | ] 566 | }, 567 | { 568 | "cell_type": "code", 569 | "execution_count": null, 570 | "metadata": { 571 | "collapsed": true 572 | }, 573 | "outputs": [], 574 | "source": [] 575 | } 576 | ], 577 | "metadata": { 578 | "kernelspec": { 579 | "display_name": "Python 3", 580 | "language": "python", 581 | "name": "python3" 582 | }, 583 | "language_info": { 584 | "codemirror_mode": { 585 | "name": "ipython", 586 | "version": 3 587 | }, 588 | "file_extension": ".py", 589 | "mimetype": "text/x-python", 590 | "name": "python", 591 | "nbconvert_exporter": "python", 592 | "pygments_lexer": "ipython3", 593 | "version": "3.5.2" 594 | } 595 | }, 596 | "nbformat": 4, 597 | "nbformat_minor": 0 598 | } 599 | -------------------------------------------------------------------------------- /notebooks/Ch8_Tree_Methods/Applied/seat_tree.dot: -------------------------------------------------------------------------------- 1 | digraph Tree { 2 | node [shape=box, style="filled, rounded", color="black", fontname=helvetica] ; 3 | edge [fontname=helvetica] ; 4 | 0 [label=mse = 8.5211
samples = 200
value = 7.3813>, fillcolor="#e5813981"] ; 5 | 1 [label=mse = 6.8808
samples = 146
value = 8.2069>, fillcolor="#e5813994"] ; 6 | 0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ; 7 | 2 [label=mse = 6.2724
samples = 32
value = 10.6244>, fillcolor="#e58139cc"] ; 8 | 1 -> 2 ; 9 | 3 [label=mse = 4.3724
samples = 21
value = 9.4748>, fillcolor="#e58139b2"] ; 10 | 2 -> 3 ; 11 | 4 [label=samples = 17
value = 10.1494>, fillcolor="#e58139c1"] ; 12 | 3 -> 4 ; 13 | 5 [label=samples = 4
value = 6.6075>, fillcolor="#e581396f"] ; 14 | 3 -> 5 ; 15 | 6 [label=samples = 11
value = 12.8191>, fillcolor="#e58139ff"] ; 16 | 2 -> 6 ; 17 | 7 [label=mse = 4.9506
samples = 114
value = 7.5283>, fillcolor="#e5813985"] ; 18 | 1 -> 7 ; 19 | 8 [label=mse = 3.4814
samples = 77
value = 8.2401>, fillcolor="#e5813995"] ; 20 | 7 -> 8 ; 21 | 9 [label=samples = 18
value = 9.73>, fillcolor="#e58139b8"] ; 22 | 8 -> 9 ; 23 | 10 [label=mse = 2.7255
samples = 59
value = 7.7856>, fillcolor="#e581398b"] ; 24 | 8 -> 10 ; 25 | 11 [label=mse = 3.2169
samples = 26
value = 6.9658>, fillcolor="#e5813978"] ; 26 | 10 -> 11 ; 27 | 12 [label=mse = 1.1244
samples = 21
value = 6.2952>, fillcolor="#e5813968"] ; 28 | 11 -> 12 ; 29 | 13 [label=samples = 9
value = 6.9822>, fillcolor="#e5813978"] ; 30 | 12 -> 13 ; 31 | 14 [label=samples = 12
value = 5.78>, fillcolor="#e581395c"] ; 32 | 12 -> 14 ; 33 | 15 [label=samples = 5
value = 9.782>, fillcolor="#e58139b9"] ; 34 | 11 -> 15 ; 35 | 16 [label=mse = 1.3915
samples = 33
value = 8.4315>, fillcolor="#e581399a"] ; 36 | 10 -> 16 ; 37 | 17 [label=samples = 10
value = 9.273>, fillcolor="#e58139ad"] ; 38 | 16 -> 17 ; 39 | 18 [label=mse = 1.2659
samples = 23
value = 8.0657>, fillcolor="#e5813991"] ; 40 | 16 -> 18 ; 41 | 19 [label=mse = 0.7819
samples = 22
value = 8.2191>, fillcolor="#e5813995"] ; 42 | 18 -> 19 ; 43 | 20 [label=mse = 0.6114
samples = 21
value = 8.1219>, fillcolor="#e5813992"] ; 44 | 19 -> 20 ; 45 | 21 [label=samples = 7
value = 7.5929>, fillcolor="#e5813986"] ; 46 | 20 -> 21 ; 47 | 22 [label=samples = 14
value = 8.3864>, fillcolor="#e5813999"] ; 48 | 20 -> 22 ; 49 | 23 [label=samples = 1
value = 10.26>, fillcolor="#e58139c4"] ; 50 | 19 -> 23 ; 51 | 24 [label=samples = 1
value = 4.69>, fillcolor="#e5813943"] ; 52 | 18 -> 24 ; 53 | 25 [label=mse = 4.7595
samples = 37
value = 6.047>, fillcolor="#e5813963"] ; 54 | 7 -> 25 ; 55 | 26 [label=mse = 3.1855
samples = 30
value = 6.643>, fillcolor="#e5813970"] ; 56 | 25 -> 26 ; 57 | 27 [label=samples = 8
value = 8.2162>, fillcolor="#e5813995"] ; 58 | 26 -> 27 ; 59 | 28 [label=mse = 1.959
samples = 22
value = 6.0709>, fillcolor="#e5813963"] ; 60 | 26 -> 28 ; 61 | 29 [label=mse = 1.4239
samples = 21
value = 5.9019>, fillcolor="#e581395f"] ; 62 | 28 -> 29 ; 63 | 30 [label=samples = 2
value = 4.45>, fillcolor="#e581393e"] ; 64 | 29 -> 30 ; 65 | 31 [label=samples = 19
value = 6.0547>, fillcolor="#e5813963"] ; 66 | 29 -> 31 ; 67 | 32 [label=samples = 1
value = 9.62>, fillcolor="#e58139b5"] ; 68 | 28 -> 32 ; 69 | 33 [label=samples = 7
value = 3.4929>, fillcolor="#e5813928"] ; 70 | 25 -> 33 ; 71 | 34 [label=mse = 6.1302
samples = 54
value = 5.1491>, fillcolor="#e581394e"] ; 72 | 0 -> 34 [labeldistance=2.5, labelangle=-45, headlabel="False"] ; 73 | 35 [label=mse = 5.9604
samples = 36
value = 5.9628>, fillcolor="#e5813961"] ; 74 | 34 -> 35 ; 75 | 36 [label=samples = 9
value = 8.5311>, fillcolor="#e581399c"] ; 76 | 35 -> 36 ; 77 | 37 [label=mse = 4.0249
samples = 27
value = 5.1067>, fillcolor="#e581394d"] ; 78 | 35 -> 37 ; 79 | 38 [label=samples = 3
value = 1.7833>, fillcolor="#e5813900"] ; 80 | 37 -> 38 ; 81 | 39 [label=mse = 2.8739
samples = 24
value = 5.5221>, fillcolor="#e5813956"] ; 82 | 37 -> 39 ; 83 | 40 [label=samples = 2
value = 8.075>, fillcolor="#e5813991"] ; 84 | 39 -> 40 ; 85 | 41 [label=mse = 2.4884
samples = 22
value = 5.29>, fillcolor="#e5813951"] ; 86 | 39 -> 41 ; 87 | 42 [label=mse = 2.1246
samples = 20
value = 5.512>, fillcolor="#e5813956"] ; 88 | 41 -> 42 ; 89 | 43 [label=samples = 1
value = 8.19>, fillcolor="#e5813994"] ; 90 | 42 -> 43 ; 91 | 44 [label=samples = 19
value = 5.3711>, fillcolor="#e5813953"] ; 92 | 42 -> 44 ; 93 | 45 [label=samples = 2
value = 3.07>, fillcolor="#e581391e"] ; 94 | 41 -> 45 ; 95 | 46 [label=samples = 18
value = 3.5217>, fillcolor="#e5813928"] ; 96 | 34 -> 46 ; 97 | } -------------------------------------------------------------------------------- /notebooks/Ch8_Tree_Methods/boston_tree.dot: -------------------------------------------------------------------------------- 1 | digraph Tree { 2 | node [shape=box, style="filled, rounded", color="black", fontname=helvetica] ; 3 | edge [fontname=helvetica] ; 4 | 0 [label=mse = 92.491
samples = 253
value = 23.049>, fillcolor="#e5813961"] ; 5 | 1 [label=mse = 84.3447
samples = 86
value = 32.4919>, fillcolor="#e5813999"] ; 6 | 0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ; 7 | 2 [label=mse = 41.9032
samples = 68
value = 28.9779>, fillcolor="#e5813984"] ; 8 | 1 -> 2 ; 9 | 3 [label=samples = 3
value = 50.0>, fillcolor="#e58139ff"] ; 10 | 2 -> 3 ; 11 | 4 [label=mse = 22.4992
samples = 65
value = 28.0077>, fillcolor="#e581397e"] ; 12 | 2 -> 4 ; 13 | 5 [label=mse = 2.6185
samples = 25
value = 23.748>, fillcolor="#e5813966"] ; 14 | 4 -> 5 ; 15 | 6 [label=mse = 1.6502
samples = 23
value = 23.4391>, fillcolor="#e5813964"] ; 16 | 5 -> 6 ; 17 | 7 [label=samples = 16
value = 24.0062>, fillcolor="#e5813967"] ; 18 | 6 -> 7 ; 19 | 8 [label=samples = 7
value = 22.1429>, fillcolor="#e581395c"] ; 20 | 6 -> 8 ; 21 | 9 [label=samples = 2
value = 27.3>, fillcolor="#e581397a"] ; 22 | 5 -> 9 ; 23 | 10 [label=mse = 16.4961
samples = 40
value = 30.67>, fillcolor="#e581398e"] ; 24 | 4 -> 10 ; 25 | 11 [label=mse = 12.9053
samples = 30
value = 29.3067>, fillcolor="#e5813986"] ; 26 | 10 -> 11 ; 27 | 12 [label=samples = 18
value = 30.9778>, fillcolor="#e5813990"] ; 28 | 11 -> 12 ; 29 | 13 [label=samples = 12
value = 26.8>, fillcolor="#e5813977"] ; 30 | 11 -> 13 ; 31 | 14 [label=samples = 10
value = 34.76>, fillcolor="#e58139a6"] ; 32 | 10 -> 14 ; 33 | 15 [label=samples = 18
value = 45.7667>, fillcolor="#e58139e6"] ; 34 | 1 -> 15 ; 35 | 16 [label=mse = 27.1208
samples = 167
value = 18.1862>, fillcolor="#e5813945"] ; 36 | 0 -> 16 [labeldistance=2.5, labelangle=-45, headlabel="False"] ; 37 | 17 [label=mse = 12.2547
samples = 87
value = 21.5655>, fillcolor="#e5813959"] ; 38 | 16 -> 17 ; 39 | 18 [label=mse = 6.2476
samples = 74
value = 20.7838>, fillcolor="#e5813954"] ; 40 | 17 -> 18 ; 41 | 19 [label=mse = 6.7451
samples = 31
value = 21.8548>, fillcolor="#e581395a"] ; 42 | 18 -> 19 ; 43 | 20 [label=samples = 2
value = 28.0>, fillcolor="#e581397e"] ; 44 | 19 -> 20 ; 45 | 21 [label=mse = 4.2497
samples = 29
value = 21.431>, fillcolor="#e5813958"] ; 46 | 19 -> 21 ; 47 | 22 [label=samples = 1
value = 15.3>, fillcolor="#e5813934"] ; 48 | 21 -> 22 ; 49 | 23 [label=mse = 3.0111
samples = 28
value = 21.65>, fillcolor="#e5813959"] ; 50 | 21 -> 23 ; 51 | 24 [label=mse = 2.6087
samples = 25
value = 21.936>, fillcolor="#e581395b"] ; 52 | 23 -> 24 ; 53 | 25 [label=samples = 14
value = 22.6786>, fillcolor="#e581395f"] ; 54 | 24 -> 25 ; 55 | 26 [label=samples = 11
value = 20.9909>, fillcolor="#e5813955"] ; 56 | 24 -> 26 ; 57 | 27 [label=samples = 3
value = 19.2667>, fillcolor="#e581394b"] ; 58 | 23 -> 27 ; 59 | 28 [label=mse = 4.4657
samples = 43
value = 20.0116>, fillcolor="#e5813950"] ; 60 | 18 -> 28 ; 61 | 29 [label=mse = 3.8315
samples = 42
value = 20.1429>, fillcolor="#e5813950"] ; 62 | 28 -> 29 ; 63 | 30 [label=samples = 3
value = 17.2333>, fillcolor="#e581393f"] ; 64 | 29 -> 30 ; 65 | 31 [label=mse = 3.3602
samples = 39
value = 20.3667>, fillcolor="#e5813952"] ; 66 | 29 -> 31 ; 67 | 32 [label=samples = 12
value = 21.6>, fillcolor="#e5813959"] ; 68 | 31 -> 32 ; 69 | 33 [label=mse = 2.7993
samples = 27
value = 19.8185>, fillcolor="#e581394f"] ; 70 | 31 -> 33 ; 71 | 34 [label=samples = 10
value = 18.74>, fillcolor="#e5813948"] ; 72 | 33 -> 34 ; 73 | 35 [label=samples = 17
value = 20.4529>, fillcolor="#e5813952"] ; 74 | 33 -> 35 ; 75 | 36 [label=samples = 1
value = 14.5>, fillcolor="#e581392f"] ; 76 | 28 -> 36 ; 77 | 37 [label=samples = 13
value = 26.0154>, fillcolor="#e5813973"] ; 78 | 17 -> 37 ; 79 | 38 [label=mse = 17.3635
samples = 80
value = 14.5112>, fillcolor="#e5813930"] ; 80 | 16 -> 38 ; 81 | 39 [label=mse = 13.1881
samples = 36
value = 11.6722>, fillcolor="#e581391f"] ; 82 | 38 -> 39 ; 83 | 40 [label=samples = 9
value = 15.7556>, fillcolor="#e5813937"] ; 84 | 39 -> 40 ; 85 | 41 [label=mse = 9.1306
samples = 27
value = 10.3111>, fillcolor="#e5813917"] ; 86 | 39 -> 41 ; 87 | 42 [label=samples = 5
value = 13.8>, fillcolor="#e581392b"] ; 88 | 41 -> 42 ; 89 | 43 [label=mse = 6.7297
samples = 22
value = 9.5182>, fillcolor="#e5813912"] ; 90 | 41 -> 43 ; 91 | 44 [label=samples = 18
value = 10.2167>, fillcolor="#e5813916"] ; 92 | 43 -> 44 ; 93 | 45 [label=samples = 4
value = 6.375>, fillcolor="#e5813900"] ; 94 | 43 -> 45 ; 95 | 46 [label=mse = 8.7895
samples = 44
value = 16.8341>, fillcolor="#e581393d"] ; 96 | 38 -> 46 ; 97 | 47 [label=samples = 16
value = 19.3625>, fillcolor="#e581394c"] ; 98 | 46 -> 47 ; 99 | 48 [label=mse = 5.061
samples = 28
value = 15.3893>, fillcolor="#e5813935"] ; 100 | 46 -> 48 ; 101 | 49 [label=samples = 12
value = 14.275>, fillcolor="#e581392e"] ; 102 | 48 -> 49 ; 103 | 50 [label=samples = 16
value = 16.225>, fillcolor="#e581393a"] ; 104 | 48 -> 50 ; 105 | } --------------------------------------------------------------------------------