├── 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 | " default | \n",
73 | " student | \n",
74 | " balance | \n",
75 | " income | \n",
76 | "
\n",
77 | " \n",
78 | " \n",
79 | " \n",
80 | " 1 | \n",
81 | " False | \n",
82 | " False | \n",
83 | " 729.526495 | \n",
84 | " 44361.625074 | \n",
85 | "
\n",
86 | " \n",
87 | " 2 | \n",
88 | " False | \n",
89 | " True | \n",
90 | " 817.180407 | \n",
91 | " 12106.134700 | \n",
92 | "
\n",
93 | " \n",
94 | " 3 | \n",
95 | " False | \n",
96 | " False | \n",
97 | " 1073.549164 | \n",
98 | " 31767.138947 | \n",
99 | "
\n",
100 | " \n",
101 | " 4 | \n",
102 | " False | \n",
103 | " False | \n",
104 | " 529.250605 | \n",
105 | " 35704.493935 | \n",
106 | "
\n",
107 | " \n",
108 | " 5 | \n",
109 | " False | \n",
110 | " False | \n",
111 | " 785.655883 | \n",
112 | " 38463.495879 | \n",
113 | "
\n",
114 | " \n",
115 | "
\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 | " Year | \n",
67 | " Lag1 | \n",
68 | " Lag2 | \n",
69 | " Lag3 | \n",
70 | " Lag4 | \n",
71 | " Lag5 | \n",
72 | " Volume | \n",
73 | " Today | \n",
74 | " Direction | \n",
75 | "
\n",
76 | " \n",
77 | " \n",
78 | " \n",
79 | " 0 | \n",
80 | " 1990 | \n",
81 | " 0.816 | \n",
82 | " 1.572 | \n",
83 | " -3.936 | \n",
84 | " -0.229 | \n",
85 | " -3.484 | \n",
86 | " 0.154976 | \n",
87 | " -0.270 | \n",
88 | " False | \n",
89 | "
\n",
90 | " \n",
91 | " 1 | \n",
92 | " 1990 | \n",
93 | " -0.270 | \n",
94 | " 0.816 | \n",
95 | " 1.572 | \n",
96 | " -3.936 | \n",
97 | " -0.229 | \n",
98 | " 0.148574 | \n",
99 | " -2.576 | \n",
100 | " False | \n",
101 | "
\n",
102 | " \n",
103 | " 2 | \n",
104 | " 1990 | \n",
105 | " -2.576 | \n",
106 | " -0.270 | \n",
107 | " 0.816 | \n",
108 | " 1.572 | \n",
109 | " -3.936 | \n",
110 | " 0.159837 | \n",
111 | " 3.514 | \n",
112 | " True | \n",
113 | "
\n",
114 | " \n",
115 | " 3 | \n",
116 | " 1990 | \n",
117 | " 3.514 | \n",
118 | " -2.576 | \n",
119 | " -0.270 | \n",
120 | " 0.816 | \n",
121 | " 1.572 | \n",
122 | " 0.161630 | \n",
123 | " 0.712 | \n",
124 | " True | \n",
125 | "
\n",
126 | " \n",
127 | " 4 | \n",
128 | " 1990 | \n",
129 | " 0.712 | \n",
130 | " 3.514 | \n",
131 | " -2.576 | \n",
132 | " -0.270 | \n",
133 | " 0.816 | \n",
134 | " 0.153728 | \n",
135 | " 1.178 | \n",
136 | " True | \n",
137 | "
\n",
138 | " \n",
139 | "
\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 | " crim | \n",
61 | " zn | \n",
62 | " indus | \n",
63 | " chas | \n",
64 | " nox | \n",
65 | " rm | \n",
66 | " age | \n",
67 | " dis | \n",
68 | " rad | \n",
69 | " tax | \n",
70 | " ptratio | \n",
71 | " black | \n",
72 | " lstat | \n",
73 | " medv | \n",
74 | "
\n",
75 | " \n",
76 | " \n",
77 | " \n",
78 | " 1 | \n",
79 | " 0.00632 | \n",
80 | " 18 | \n",
81 | " 2.31 | \n",
82 | " 0 | \n",
83 | " 0.538 | \n",
84 | " 6.575 | \n",
85 | " 65.2 | \n",
86 | " 4.0900 | \n",
87 | " 1 | \n",
88 | " 296 | \n",
89 | " 15.3 | \n",
90 | " 396.90 | \n",
91 | " 4.98 | \n",
92 | " 24.0 | \n",
93 | "
\n",
94 | " \n",
95 | " 2 | \n",
96 | " 0.02731 | \n",
97 | " 0 | \n",
98 | " 7.07 | \n",
99 | " 0 | \n",
100 | " 0.469 | \n",
101 | " 6.421 | \n",
102 | " 78.9 | \n",
103 | " 4.9671 | \n",
104 | " 2 | \n",
105 | " 242 | \n",
106 | " 17.8 | \n",
107 | " 396.90 | \n",
108 | " 9.14 | \n",
109 | " 21.6 | \n",
110 | "
\n",
111 | " \n",
112 | " 3 | \n",
113 | " 0.02729 | \n",
114 | " 0 | \n",
115 | " 7.07 | \n",
116 | " 0 | \n",
117 | " 0.469 | \n",
118 | " 7.185 | \n",
119 | " 61.1 | \n",
120 | " 4.9671 | \n",
121 | " 2 | \n",
122 | " 242 | \n",
123 | " 17.8 | \n",
124 | " 392.83 | \n",
125 | " 4.03 | \n",
126 | " 34.7 | \n",
127 | "
\n",
128 | " \n",
129 | " 4 | \n",
130 | " 0.03237 | \n",
131 | " 0 | \n",
132 | " 2.18 | \n",
133 | " 0 | \n",
134 | " 0.458 | \n",
135 | " 6.998 | \n",
136 | " 45.8 | \n",
137 | " 6.0622 | \n",
138 | " 3 | \n",
139 | " 222 | \n",
140 | " 18.7 | \n",
141 | " 394.63 | \n",
142 | " 2.94 | \n",
143 | " 33.4 | \n",
144 | "
\n",
145 | " \n",
146 | " 5 | \n",
147 | " 0.06905 | \n",
148 | " 0 | \n",
149 | " 2.18 | \n",
150 | " 0 | \n",
151 | " 0.458 | \n",
152 | " 7.147 | \n",
153 | " 54.2 | \n",
154 | " 6.0622 | \n",
155 | " 3 | \n",
156 | " 222 | \n",
157 | " 18.7 | \n",
158 | " 396.90 | \n",
159 | " 5.33 | \n",
160 | " 36.2 | \n",
161 | "
\n",
162 | " \n",
163 | "
\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 | " MOSTYPE | \n",
68 | " MAANTHUI | \n",
69 | " MGEMOMV | \n",
70 | " MGEMLEEF | \n",
71 | " MOSHOOFD | \n",
72 | " MGODRK | \n",
73 | " MGODPR | \n",
74 | " MGODOV | \n",
75 | " MGODGE | \n",
76 | " MRELGE | \n",
77 | " ... | \n",
78 | " APERSONG | \n",
79 | " AGEZONG | \n",
80 | " AWAOREG | \n",
81 | " ABRAND | \n",
82 | " AZEILPL | \n",
83 | " APLEZIER | \n",
84 | " AFIETS | \n",
85 | " AINBOED | \n",
86 | " ABYSTAND | \n",
87 | " Purchase | \n",
88 | "
\n",
89 | " \n",
90 | " \n",
91 | " \n",
92 | " 1 | \n",
93 | " 33 | \n",
94 | " 1 | \n",
95 | " 3 | \n",
96 | " 2 | \n",
97 | " 8 | \n",
98 | " 0 | \n",
99 | " 5 | \n",
100 | " 1 | \n",
101 | " 3 | \n",
102 | " 7 | \n",
103 | " ... | \n",
104 | " 0 | \n",
105 | " 0 | \n",
106 | " 0 | \n",
107 | " 1 | \n",
108 | " 0 | \n",
109 | " 0 | \n",
110 | " 0 | \n",
111 | " 0 | \n",
112 | " 0 | \n",
113 | " No | \n",
114 | "
\n",
115 | " \n",
116 | " 2 | \n",
117 | " 37 | \n",
118 | " 1 | \n",
119 | " 2 | \n",
120 | " 2 | \n",
121 | " 8 | \n",
122 | " 1 | \n",
123 | " 4 | \n",
124 | " 1 | \n",
125 | " 4 | \n",
126 | " 6 | \n",
127 | " ... | \n",
128 | " 0 | \n",
129 | " 0 | \n",
130 | " 0 | \n",
131 | " 1 | \n",
132 | " 0 | \n",
133 | " 0 | \n",
134 | " 0 | \n",
135 | " 0 | \n",
136 | " 0 | \n",
137 | " No | \n",
138 | "
\n",
139 | " \n",
140 | " 3 | \n",
141 | " 37 | \n",
142 | " 1 | \n",
143 | " 2 | \n",
144 | " 2 | \n",
145 | " 8 | \n",
146 | " 0 | \n",
147 | " 4 | \n",
148 | " 2 | \n",
149 | " 4 | \n",
150 | " 3 | \n",
151 | " ... | \n",
152 | " 0 | \n",
153 | " 0 | \n",
154 | " 0 | \n",
155 | " 1 | \n",
156 | " 0 | \n",
157 | " 0 | \n",
158 | " 0 | \n",
159 | " 0 | \n",
160 | " 0 | \n",
161 | " No | \n",
162 | "
\n",
163 | " \n",
164 | " 4 | \n",
165 | " 9 | \n",
166 | " 1 | \n",
167 | " 3 | \n",
168 | " 3 | \n",
169 | " 3 | \n",
170 | " 2 | \n",
171 | " 3 | \n",
172 | " 2 | \n",
173 | " 4 | \n",
174 | " 5 | \n",
175 | " ... | \n",
176 | " 0 | \n",
177 | " 0 | \n",
178 | " 0 | \n",
179 | " 1 | \n",
180 | " 0 | \n",
181 | " 0 | \n",
182 | " 0 | \n",
183 | " 0 | \n",
184 | " 0 | \n",
185 | " No | \n",
186 | "
\n",
187 | " \n",
188 | " 5 | \n",
189 | " 40 | \n",
190 | " 1 | \n",
191 | " 4 | \n",
192 | " 2 | \n",
193 | " 10 | \n",
194 | " 1 | \n",
195 | " 4 | \n",
196 | " 1 | \n",
197 | " 4 | \n",
198 | " 7 | \n",
199 | " ... | \n",
200 | " 0 | \n",
201 | " 0 | \n",
202 | " 0 | \n",
203 | " 1 | \n",
204 | " 0 | \n",
205 | " 0 | \n",
206 | " 0 | \n",
207 | " 0 | \n",
208 | " 0 | \n",
209 | " No | \n",
210 | "
\n",
211 | " \n",
212 | "
\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 | " Importance | \n",
316 | "
\n",
317 | " \n",
318 | " \n",
319 | " \n",
320 | " MOSTYPE | \n",
321 | " 0.073911 | \n",
322 | "
\n",
323 | " \n",
324 | " MGODGE | \n",
325 | " 0.045734 | \n",
326 | "
\n",
327 | " \n",
328 | " MOPLHOOG | \n",
329 | " 0.044637 | \n",
330 | "
\n",
331 | " \n",
332 | " PPERSAUT | \n",
333 | " 0.040973 | \n",
334 | "
\n",
335 | " \n",
336 | " MKOOPKLA | \n",
337 | " 0.040659 | \n",
338 | "
\n",
339 | " \n",
340 | " ABRAND | \n",
341 | " 0.039156 | \n",
342 | "
\n",
343 | " \n",
344 | " PLEVEN | \n",
345 | " 0.035447 | \n",
346 | "
\n",
347 | " \n",
348 | " PWAPART | \n",
349 | " 0.033261 | \n",
350 | "
\n",
351 | " \n",
352 | "
\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 | }
--------------------------------------------------------------------------------