|
a |
|
b/breast_cancer.ipynb |
|
|
1 |
{ |
|
|
2 |
"cells": [ |
|
|
3 |
{ |
|
|
4 |
"cell_type": "markdown", |
|
|
5 |
"id": "24fda7b6-4e16-44c9-abef-9c790cf286d0", |
|
|
6 |
"metadata": {}, |
|
|
7 |
"source": [ |
|
|
8 |
"Breast cancer" |
|
|
9 |
] |
|
|
10 |
}, |
|
|
11 |
{ |
|
|
12 |
"cell_type": "code", |
|
|
13 |
"execution_count": 59, |
|
|
14 |
"id": "6853550c-51ef-4fe6-8e66-b51eb64eb4c4", |
|
|
15 |
"metadata": {}, |
|
|
16 |
"outputs": [], |
|
|
17 |
"source": [ |
|
|
18 |
"# Importing libraries\n", |
|
|
19 |
"\n", |
|
|
20 |
"import pandas as pd\n", |
|
|
21 |
"\n", |
|
|
22 |
"import numpy as np\n", |
|
|
23 |
"import seaborn as sns\n", |
|
|
24 |
"import matplotlib.pyplot as plt\n", |
|
|
25 |
"\n", |
|
|
26 |
"import warnings\n", |
|
|
27 |
"warnings.filterwarnings('ignore')\n", |
|
|
28 |
"\n", |
|
|
29 |
"sns.set()\n", |
|
|
30 |
"plt.style.use('ggplot')" |
|
|
31 |
] |
|
|
32 |
}, |
|
|
33 |
{ |
|
|
34 |
"cell_type": "code", |
|
|
35 |
"execution_count": 60, |
|
|
36 |
"id": "fbe6e81a-874c-4df0-a5b4-5382d1c4b644", |
|
|
37 |
"metadata": {}, |
|
|
38 |
"outputs": [ |
|
|
39 |
{ |
|
|
40 |
"data": { |
|
|
41 |
"text/html": [ |
|
|
42 |
"<div>\n", |
|
|
43 |
"<style scoped>\n", |
|
|
44 |
" .dataframe tbody tr th:only-of-type {\n", |
|
|
45 |
" vertical-align: middle;\n", |
|
|
46 |
" }\n", |
|
|
47 |
"\n", |
|
|
48 |
" .dataframe tbody tr th {\n", |
|
|
49 |
" vertical-align: top;\n", |
|
|
50 |
" }\n", |
|
|
51 |
"\n", |
|
|
52 |
" .dataframe thead th {\n", |
|
|
53 |
" text-align: right;\n", |
|
|
54 |
" }\n", |
|
|
55 |
"</style>\n", |
|
|
56 |
"<table border=\"1\" class=\"dataframe\">\n", |
|
|
57 |
" <thead>\n", |
|
|
58 |
" <tr style=\"text-align: right;\">\n", |
|
|
59 |
" <th></th>\n", |
|
|
60 |
" <th>id</th>\n", |
|
|
61 |
" <th>diagnosis</th>\n", |
|
|
62 |
" <th>radius_mean</th>\n", |
|
|
63 |
" <th>texture_mean</th>\n", |
|
|
64 |
" <th>perimeter_mean</th>\n", |
|
|
65 |
" <th>area_mean</th>\n", |
|
|
66 |
" <th>smoothness_mean</th>\n", |
|
|
67 |
" <th>compactness_mean</th>\n", |
|
|
68 |
" <th>concavity_mean</th>\n", |
|
|
69 |
" <th>concave points_mean</th>\n", |
|
|
70 |
" <th>...</th>\n", |
|
|
71 |
" <th>texture_worst</th>\n", |
|
|
72 |
" <th>perimeter_worst</th>\n", |
|
|
73 |
" <th>area_worst</th>\n", |
|
|
74 |
" <th>smoothness_worst</th>\n", |
|
|
75 |
" <th>compactness_worst</th>\n", |
|
|
76 |
" <th>concavity_worst</th>\n", |
|
|
77 |
" <th>concave points_worst</th>\n", |
|
|
78 |
" <th>symmetry_worst</th>\n", |
|
|
79 |
" <th>fractal_dimension_worst</th>\n", |
|
|
80 |
" <th>Unnamed: 32</th>\n", |
|
|
81 |
" </tr>\n", |
|
|
82 |
" </thead>\n", |
|
|
83 |
" <tbody>\n", |
|
|
84 |
" <tr>\n", |
|
|
85 |
" <th>0</th>\n", |
|
|
86 |
" <td>842302</td>\n", |
|
|
87 |
" <td>M</td>\n", |
|
|
88 |
" <td>17.99</td>\n", |
|
|
89 |
" <td>10.38</td>\n", |
|
|
90 |
" <td>122.80</td>\n", |
|
|
91 |
" <td>1001.0</td>\n", |
|
|
92 |
" <td>0.11840</td>\n", |
|
|
93 |
" <td>0.27760</td>\n", |
|
|
94 |
" <td>0.3001</td>\n", |
|
|
95 |
" <td>0.14710</td>\n", |
|
|
96 |
" <td>...</td>\n", |
|
|
97 |
" <td>17.33</td>\n", |
|
|
98 |
" <td>184.60</td>\n", |
|
|
99 |
" <td>2019.0</td>\n", |
|
|
100 |
" <td>0.1622</td>\n", |
|
|
101 |
" <td>0.6656</td>\n", |
|
|
102 |
" <td>0.7119</td>\n", |
|
|
103 |
" <td>0.2654</td>\n", |
|
|
104 |
" <td>0.4601</td>\n", |
|
|
105 |
" <td>0.11890</td>\n", |
|
|
106 |
" <td>NaN</td>\n", |
|
|
107 |
" </tr>\n", |
|
|
108 |
" <tr>\n", |
|
|
109 |
" <th>1</th>\n", |
|
|
110 |
" <td>842517</td>\n", |
|
|
111 |
" <td>M</td>\n", |
|
|
112 |
" <td>20.57</td>\n", |
|
|
113 |
" <td>17.77</td>\n", |
|
|
114 |
" <td>132.90</td>\n", |
|
|
115 |
" <td>1326.0</td>\n", |
|
|
116 |
" <td>0.08474</td>\n", |
|
|
117 |
" <td>0.07864</td>\n", |
|
|
118 |
" <td>0.0869</td>\n", |
|
|
119 |
" <td>0.07017</td>\n", |
|
|
120 |
" <td>...</td>\n", |
|
|
121 |
" <td>23.41</td>\n", |
|
|
122 |
" <td>158.80</td>\n", |
|
|
123 |
" <td>1956.0</td>\n", |
|
|
124 |
" <td>0.1238</td>\n", |
|
|
125 |
" <td>0.1866</td>\n", |
|
|
126 |
" <td>0.2416</td>\n", |
|
|
127 |
" <td>0.1860</td>\n", |
|
|
128 |
" <td>0.2750</td>\n", |
|
|
129 |
" <td>0.08902</td>\n", |
|
|
130 |
" <td>NaN</td>\n", |
|
|
131 |
" </tr>\n", |
|
|
132 |
" <tr>\n", |
|
|
133 |
" <th>2</th>\n", |
|
|
134 |
" <td>84300903</td>\n", |
|
|
135 |
" <td>M</td>\n", |
|
|
136 |
" <td>19.69</td>\n", |
|
|
137 |
" <td>21.25</td>\n", |
|
|
138 |
" <td>130.00</td>\n", |
|
|
139 |
" <td>1203.0</td>\n", |
|
|
140 |
" <td>0.10960</td>\n", |
|
|
141 |
" <td>0.15990</td>\n", |
|
|
142 |
" <td>0.1974</td>\n", |
|
|
143 |
" <td>0.12790</td>\n", |
|
|
144 |
" <td>...</td>\n", |
|
|
145 |
" <td>25.53</td>\n", |
|
|
146 |
" <td>152.50</td>\n", |
|
|
147 |
" <td>1709.0</td>\n", |
|
|
148 |
" <td>0.1444</td>\n", |
|
|
149 |
" <td>0.4245</td>\n", |
|
|
150 |
" <td>0.4504</td>\n", |
|
|
151 |
" <td>0.2430</td>\n", |
|
|
152 |
" <td>0.3613</td>\n", |
|
|
153 |
" <td>0.08758</td>\n", |
|
|
154 |
" <td>NaN</td>\n", |
|
|
155 |
" </tr>\n", |
|
|
156 |
" <tr>\n", |
|
|
157 |
" <th>3</th>\n", |
|
|
158 |
" <td>84348301</td>\n", |
|
|
159 |
" <td>M</td>\n", |
|
|
160 |
" <td>11.42</td>\n", |
|
|
161 |
" <td>20.38</td>\n", |
|
|
162 |
" <td>77.58</td>\n", |
|
|
163 |
" <td>386.1</td>\n", |
|
|
164 |
" <td>0.14250</td>\n", |
|
|
165 |
" <td>0.28390</td>\n", |
|
|
166 |
" <td>0.2414</td>\n", |
|
|
167 |
" <td>0.10520</td>\n", |
|
|
168 |
" <td>...</td>\n", |
|
|
169 |
" <td>26.50</td>\n", |
|
|
170 |
" <td>98.87</td>\n", |
|
|
171 |
" <td>567.7</td>\n", |
|
|
172 |
" <td>0.2098</td>\n", |
|
|
173 |
" <td>0.8663</td>\n", |
|
|
174 |
" <td>0.6869</td>\n", |
|
|
175 |
" <td>0.2575</td>\n", |
|
|
176 |
" <td>0.6638</td>\n", |
|
|
177 |
" <td>0.17300</td>\n", |
|
|
178 |
" <td>NaN</td>\n", |
|
|
179 |
" </tr>\n", |
|
|
180 |
" <tr>\n", |
|
|
181 |
" <th>4</th>\n", |
|
|
182 |
" <td>84358402</td>\n", |
|
|
183 |
" <td>M</td>\n", |
|
|
184 |
" <td>20.29</td>\n", |
|
|
185 |
" <td>14.34</td>\n", |
|
|
186 |
" <td>135.10</td>\n", |
|
|
187 |
" <td>1297.0</td>\n", |
|
|
188 |
" <td>0.10030</td>\n", |
|
|
189 |
" <td>0.13280</td>\n", |
|
|
190 |
" <td>0.1980</td>\n", |
|
|
191 |
" <td>0.10430</td>\n", |
|
|
192 |
" <td>...</td>\n", |
|
|
193 |
" <td>16.67</td>\n", |
|
|
194 |
" <td>152.20</td>\n", |
|
|
195 |
" <td>1575.0</td>\n", |
|
|
196 |
" <td>0.1374</td>\n", |
|
|
197 |
" <td>0.2050</td>\n", |
|
|
198 |
" <td>0.4000</td>\n", |
|
|
199 |
" <td>0.1625</td>\n", |
|
|
200 |
" <td>0.2364</td>\n", |
|
|
201 |
" <td>0.07678</td>\n", |
|
|
202 |
" <td>NaN</td>\n", |
|
|
203 |
" </tr>\n", |
|
|
204 |
" </tbody>\n", |
|
|
205 |
"</table>\n", |
|
|
206 |
"<p>5 rows × 33 columns</p>\n", |
|
|
207 |
"</div>" |
|
|
208 |
], |
|
|
209 |
"text/plain": [ |
|
|
210 |
" id diagnosis radius_mean texture_mean perimeter_mean area_mean \\\n", |
|
|
211 |
"0 842302 M 17.99 10.38 122.80 1001.0 \n", |
|
|
212 |
"1 842517 M 20.57 17.77 132.90 1326.0 \n", |
|
|
213 |
"2 84300903 M 19.69 21.25 130.00 1203.0 \n", |
|
|
214 |
"3 84348301 M 11.42 20.38 77.58 386.1 \n", |
|
|
215 |
"4 84358402 M 20.29 14.34 135.10 1297.0 \n", |
|
|
216 |
"\n", |
|
|
217 |
" smoothness_mean compactness_mean concavity_mean concave points_mean \\\n", |
|
|
218 |
"0 0.11840 0.27760 0.3001 0.14710 \n", |
|
|
219 |
"1 0.08474 0.07864 0.0869 0.07017 \n", |
|
|
220 |
"2 0.10960 0.15990 0.1974 0.12790 \n", |
|
|
221 |
"3 0.14250 0.28390 0.2414 0.10520 \n", |
|
|
222 |
"4 0.10030 0.13280 0.1980 0.10430 \n", |
|
|
223 |
"\n", |
|
|
224 |
" ... texture_worst perimeter_worst area_worst smoothness_worst \\\n", |
|
|
225 |
"0 ... 17.33 184.60 2019.0 0.1622 \n", |
|
|
226 |
"1 ... 23.41 158.80 1956.0 0.1238 \n", |
|
|
227 |
"2 ... 25.53 152.50 1709.0 0.1444 \n", |
|
|
228 |
"3 ... 26.50 98.87 567.7 0.2098 \n", |
|
|
229 |
"4 ... 16.67 152.20 1575.0 0.1374 \n", |
|
|
230 |
"\n", |
|
|
231 |
" compactness_worst concavity_worst concave points_worst symmetry_worst \\\n", |
|
|
232 |
"0 0.6656 0.7119 0.2654 0.4601 \n", |
|
|
233 |
"1 0.1866 0.2416 0.1860 0.2750 \n", |
|
|
234 |
"2 0.4245 0.4504 0.2430 0.3613 \n", |
|
|
235 |
"3 0.8663 0.6869 0.2575 0.6638 \n", |
|
|
236 |
"4 0.2050 0.4000 0.1625 0.2364 \n", |
|
|
237 |
"\n", |
|
|
238 |
" fractal_dimension_worst Unnamed: 32 \n", |
|
|
239 |
"0 0.11890 NaN \n", |
|
|
240 |
"1 0.08902 NaN \n", |
|
|
241 |
"2 0.08758 NaN \n", |
|
|
242 |
"3 0.17300 NaN \n", |
|
|
243 |
"4 0.07678 NaN \n", |
|
|
244 |
"\n", |
|
|
245 |
"[5 rows x 33 columns]" |
|
|
246 |
] |
|
|
247 |
}, |
|
|
248 |
"execution_count": 60, |
|
|
249 |
"metadata": {}, |
|
|
250 |
"output_type": "execute_result" |
|
|
251 |
} |
|
|
252 |
], |
|
|
253 |
"source": [ |
|
|
254 |
"#Diagnosis (malignant (cancerous) or benign (non-cancerous))\n", |
|
|
255 |
"df = pd.read_csv(r'C:\\Users\\Pranshu Saini\\Desktop\\disease-prediction-main\\docpat\\datasets\\breast_cancer.csv')\n", |
|
|
256 |
"df.head()" |
|
|
257 |
] |
|
|
258 |
}, |
|
|
259 |
{ |
|
|
260 |
"cell_type": "code", |
|
|
261 |
"execution_count": 61, |
|
|
262 |
"id": "37a2d7c4-ce0a-4532-bb12-60c908f91992", |
|
|
263 |
"metadata": {}, |
|
|
264 |
"outputs": [], |
|
|
265 |
"source": [ |
|
|
266 |
"df.drop(['id', 'Unnamed: 32'], axis = 1, inplace = True)" |
|
|
267 |
] |
|
|
268 |
}, |
|
|
269 |
{ |
|
|
270 |
"cell_type": "code", |
|
|
271 |
"execution_count": 62, |
|
|
272 |
"id": "85a23ebe-5735-4535-8ac4-aa1dcde8c0e5", |
|
|
273 |
"metadata": {}, |
|
|
274 |
"outputs": [ |
|
|
275 |
{ |
|
|
276 |
"data": { |
|
|
277 |
"text/plain": [ |
|
|
278 |
"array(['M', 'B'], dtype=object)" |
|
|
279 |
] |
|
|
280 |
}, |
|
|
281 |
"execution_count": 62, |
|
|
282 |
"metadata": {}, |
|
|
283 |
"output_type": "execute_result" |
|
|
284 |
} |
|
|
285 |
], |
|
|
286 |
"source": [ |
|
|
287 |
"df.diagnosis.unique()" |
|
|
288 |
] |
|
|
289 |
}, |
|
|
290 |
{ |
|
|
291 |
"cell_type": "code", |
|
|
292 |
"execution_count": 63, |
|
|
293 |
"id": "31f9fac3-323d-4556-94f5-b2a2f1390a3d", |
|
|
294 |
"metadata": {}, |
|
|
295 |
"outputs": [], |
|
|
296 |
"source": [ |
|
|
297 |
"df['diagnosis'] = df['diagnosis'].apply(lambda val: 1 if val == 'M' else 0)" |
|
|
298 |
] |
|
|
299 |
}, |
|
|
300 |
{ |
|
|
301 |
"cell_type": "code", |
|
|
302 |
"execution_count": 64, |
|
|
303 |
"id": "551ba2a1-6f0d-4644-aca9-226671a1d2dc", |
|
|
304 |
"metadata": {}, |
|
|
305 |
"outputs": [ |
|
|
306 |
{ |
|
|
307 |
"data": { |
|
|
308 |
"text/html": [ |
|
|
309 |
"<div>\n", |
|
|
310 |
"<style scoped>\n", |
|
|
311 |
" .dataframe tbody tr th:only-of-type {\n", |
|
|
312 |
" vertical-align: middle;\n", |
|
|
313 |
" }\n", |
|
|
314 |
"\n", |
|
|
315 |
" .dataframe tbody tr th {\n", |
|
|
316 |
" vertical-align: top;\n", |
|
|
317 |
" }\n", |
|
|
318 |
"\n", |
|
|
319 |
" .dataframe thead th {\n", |
|
|
320 |
" text-align: right;\n", |
|
|
321 |
" }\n", |
|
|
322 |
"</style>\n", |
|
|
323 |
"<table border=\"1\" class=\"dataframe\">\n", |
|
|
324 |
" <thead>\n", |
|
|
325 |
" <tr style=\"text-align: right;\">\n", |
|
|
326 |
" <th></th>\n", |
|
|
327 |
" <th>diagnosis</th>\n", |
|
|
328 |
" <th>radius_mean</th>\n", |
|
|
329 |
" <th>texture_mean</th>\n", |
|
|
330 |
" <th>perimeter_mean</th>\n", |
|
|
331 |
" <th>area_mean</th>\n", |
|
|
332 |
" <th>smoothness_mean</th>\n", |
|
|
333 |
" <th>compactness_mean</th>\n", |
|
|
334 |
" <th>concavity_mean</th>\n", |
|
|
335 |
" <th>concave points_mean</th>\n", |
|
|
336 |
" <th>symmetry_mean</th>\n", |
|
|
337 |
" <th>...</th>\n", |
|
|
338 |
" <th>radius_worst</th>\n", |
|
|
339 |
" <th>texture_worst</th>\n", |
|
|
340 |
" <th>perimeter_worst</th>\n", |
|
|
341 |
" <th>area_worst</th>\n", |
|
|
342 |
" <th>smoothness_worst</th>\n", |
|
|
343 |
" <th>compactness_worst</th>\n", |
|
|
344 |
" <th>concavity_worst</th>\n", |
|
|
345 |
" <th>concave points_worst</th>\n", |
|
|
346 |
" <th>symmetry_worst</th>\n", |
|
|
347 |
" <th>fractal_dimension_worst</th>\n", |
|
|
348 |
" </tr>\n", |
|
|
349 |
" </thead>\n", |
|
|
350 |
" <tbody>\n", |
|
|
351 |
" <tr>\n", |
|
|
352 |
" <th>count</th>\n", |
|
|
353 |
" <td>569.000000</td>\n", |
|
|
354 |
" <td>569.000000</td>\n", |
|
|
355 |
" <td>569.000000</td>\n", |
|
|
356 |
" <td>569.000000</td>\n", |
|
|
357 |
" <td>569.000000</td>\n", |
|
|
358 |
" <td>569.000000</td>\n", |
|
|
359 |
" <td>569.000000</td>\n", |
|
|
360 |
" <td>569.000000</td>\n", |
|
|
361 |
" <td>569.000000</td>\n", |
|
|
362 |
" <td>569.000000</td>\n", |
|
|
363 |
" <td>...</td>\n", |
|
|
364 |
" <td>569.000000</td>\n", |
|
|
365 |
" <td>569.000000</td>\n", |
|
|
366 |
" <td>569.000000</td>\n", |
|
|
367 |
" <td>569.000000</td>\n", |
|
|
368 |
" <td>569.000000</td>\n", |
|
|
369 |
" <td>569.000000</td>\n", |
|
|
370 |
" <td>569.000000</td>\n", |
|
|
371 |
" <td>569.000000</td>\n", |
|
|
372 |
" <td>569.000000</td>\n", |
|
|
373 |
" <td>569.000000</td>\n", |
|
|
374 |
" </tr>\n", |
|
|
375 |
" <tr>\n", |
|
|
376 |
" <th>mean</th>\n", |
|
|
377 |
" <td>0.372583</td>\n", |
|
|
378 |
" <td>14.127292</td>\n", |
|
|
379 |
" <td>19.289649</td>\n", |
|
|
380 |
" <td>91.969033</td>\n", |
|
|
381 |
" <td>654.889104</td>\n", |
|
|
382 |
" <td>0.096360</td>\n", |
|
|
383 |
" <td>0.104341</td>\n", |
|
|
384 |
" <td>0.088799</td>\n", |
|
|
385 |
" <td>0.048919</td>\n", |
|
|
386 |
" <td>0.181162</td>\n", |
|
|
387 |
" <td>...</td>\n", |
|
|
388 |
" <td>16.269190</td>\n", |
|
|
389 |
" <td>25.677223</td>\n", |
|
|
390 |
" <td>107.261213</td>\n", |
|
|
391 |
" <td>880.583128</td>\n", |
|
|
392 |
" <td>0.132369</td>\n", |
|
|
393 |
" <td>0.254265</td>\n", |
|
|
394 |
" <td>0.272188</td>\n", |
|
|
395 |
" <td>0.114606</td>\n", |
|
|
396 |
" <td>0.290076</td>\n", |
|
|
397 |
" <td>0.083946</td>\n", |
|
|
398 |
" </tr>\n", |
|
|
399 |
" <tr>\n", |
|
|
400 |
" <th>std</th>\n", |
|
|
401 |
" <td>0.483918</td>\n", |
|
|
402 |
" <td>3.524049</td>\n", |
|
|
403 |
" <td>4.301036</td>\n", |
|
|
404 |
" <td>24.298981</td>\n", |
|
|
405 |
" <td>351.914129</td>\n", |
|
|
406 |
" <td>0.014064</td>\n", |
|
|
407 |
" <td>0.052813</td>\n", |
|
|
408 |
" <td>0.079720</td>\n", |
|
|
409 |
" <td>0.038803</td>\n", |
|
|
410 |
" <td>0.027414</td>\n", |
|
|
411 |
" <td>...</td>\n", |
|
|
412 |
" <td>4.833242</td>\n", |
|
|
413 |
" <td>6.146258</td>\n", |
|
|
414 |
" <td>33.602542</td>\n", |
|
|
415 |
" <td>569.356993</td>\n", |
|
|
416 |
" <td>0.022832</td>\n", |
|
|
417 |
" <td>0.157336</td>\n", |
|
|
418 |
" <td>0.208624</td>\n", |
|
|
419 |
" <td>0.065732</td>\n", |
|
|
420 |
" <td>0.061867</td>\n", |
|
|
421 |
" <td>0.018061</td>\n", |
|
|
422 |
" </tr>\n", |
|
|
423 |
" <tr>\n", |
|
|
424 |
" <th>min</th>\n", |
|
|
425 |
" <td>0.000000</td>\n", |
|
|
426 |
" <td>6.981000</td>\n", |
|
|
427 |
" <td>9.710000</td>\n", |
|
|
428 |
" <td>43.790000</td>\n", |
|
|
429 |
" <td>143.500000</td>\n", |
|
|
430 |
" <td>0.052630</td>\n", |
|
|
431 |
" <td>0.019380</td>\n", |
|
|
432 |
" <td>0.000000</td>\n", |
|
|
433 |
" <td>0.000000</td>\n", |
|
|
434 |
" <td>0.106000</td>\n", |
|
|
435 |
" <td>...</td>\n", |
|
|
436 |
" <td>7.930000</td>\n", |
|
|
437 |
" <td>12.020000</td>\n", |
|
|
438 |
" <td>50.410000</td>\n", |
|
|
439 |
" <td>185.200000</td>\n", |
|
|
440 |
" <td>0.071170</td>\n", |
|
|
441 |
" <td>0.027290</td>\n", |
|
|
442 |
" <td>0.000000</td>\n", |
|
|
443 |
" <td>0.000000</td>\n", |
|
|
444 |
" <td>0.156500</td>\n", |
|
|
445 |
" <td>0.055040</td>\n", |
|
|
446 |
" </tr>\n", |
|
|
447 |
" <tr>\n", |
|
|
448 |
" <th>25%</th>\n", |
|
|
449 |
" <td>0.000000</td>\n", |
|
|
450 |
" <td>11.700000</td>\n", |
|
|
451 |
" <td>16.170000</td>\n", |
|
|
452 |
" <td>75.170000</td>\n", |
|
|
453 |
" <td>420.300000</td>\n", |
|
|
454 |
" <td>0.086370</td>\n", |
|
|
455 |
" <td>0.064920</td>\n", |
|
|
456 |
" <td>0.029560</td>\n", |
|
|
457 |
" <td>0.020310</td>\n", |
|
|
458 |
" <td>0.161900</td>\n", |
|
|
459 |
" <td>...</td>\n", |
|
|
460 |
" <td>13.010000</td>\n", |
|
|
461 |
" <td>21.080000</td>\n", |
|
|
462 |
" <td>84.110000</td>\n", |
|
|
463 |
" <td>515.300000</td>\n", |
|
|
464 |
" <td>0.116600</td>\n", |
|
|
465 |
" <td>0.147200</td>\n", |
|
|
466 |
" <td>0.114500</td>\n", |
|
|
467 |
" <td>0.064930</td>\n", |
|
|
468 |
" <td>0.250400</td>\n", |
|
|
469 |
" <td>0.071460</td>\n", |
|
|
470 |
" </tr>\n", |
|
|
471 |
" <tr>\n", |
|
|
472 |
" <th>50%</th>\n", |
|
|
473 |
" <td>0.000000</td>\n", |
|
|
474 |
" <td>13.370000</td>\n", |
|
|
475 |
" <td>18.840000</td>\n", |
|
|
476 |
" <td>86.240000</td>\n", |
|
|
477 |
" <td>551.100000</td>\n", |
|
|
478 |
" <td>0.095870</td>\n", |
|
|
479 |
" <td>0.092630</td>\n", |
|
|
480 |
" <td>0.061540</td>\n", |
|
|
481 |
" <td>0.033500</td>\n", |
|
|
482 |
" <td>0.179200</td>\n", |
|
|
483 |
" <td>...</td>\n", |
|
|
484 |
" <td>14.970000</td>\n", |
|
|
485 |
" <td>25.410000</td>\n", |
|
|
486 |
" <td>97.660000</td>\n", |
|
|
487 |
" <td>686.500000</td>\n", |
|
|
488 |
" <td>0.131300</td>\n", |
|
|
489 |
" <td>0.211900</td>\n", |
|
|
490 |
" <td>0.226700</td>\n", |
|
|
491 |
" <td>0.099930</td>\n", |
|
|
492 |
" <td>0.282200</td>\n", |
|
|
493 |
" <td>0.080040</td>\n", |
|
|
494 |
" </tr>\n", |
|
|
495 |
" <tr>\n", |
|
|
496 |
" <th>75%</th>\n", |
|
|
497 |
" <td>1.000000</td>\n", |
|
|
498 |
" <td>15.780000</td>\n", |
|
|
499 |
" <td>21.800000</td>\n", |
|
|
500 |
" <td>104.100000</td>\n", |
|
|
501 |
" <td>782.700000</td>\n", |
|
|
502 |
" <td>0.105300</td>\n", |
|
|
503 |
" <td>0.130400</td>\n", |
|
|
504 |
" <td>0.130700</td>\n", |
|
|
505 |
" <td>0.074000</td>\n", |
|
|
506 |
" <td>0.195700</td>\n", |
|
|
507 |
" <td>...</td>\n", |
|
|
508 |
" <td>18.790000</td>\n", |
|
|
509 |
" <td>29.720000</td>\n", |
|
|
510 |
" <td>125.400000</td>\n", |
|
|
511 |
" <td>1084.000000</td>\n", |
|
|
512 |
" <td>0.146000</td>\n", |
|
|
513 |
" <td>0.339100</td>\n", |
|
|
514 |
" <td>0.382900</td>\n", |
|
|
515 |
" <td>0.161400</td>\n", |
|
|
516 |
" <td>0.317900</td>\n", |
|
|
517 |
" <td>0.092080</td>\n", |
|
|
518 |
" </tr>\n", |
|
|
519 |
" <tr>\n", |
|
|
520 |
" <th>max</th>\n", |
|
|
521 |
" <td>1.000000</td>\n", |
|
|
522 |
" <td>28.110000</td>\n", |
|
|
523 |
" <td>39.280000</td>\n", |
|
|
524 |
" <td>188.500000</td>\n", |
|
|
525 |
" <td>2501.000000</td>\n", |
|
|
526 |
" <td>0.163400</td>\n", |
|
|
527 |
" <td>0.345400</td>\n", |
|
|
528 |
" <td>0.426800</td>\n", |
|
|
529 |
" <td>0.201200</td>\n", |
|
|
530 |
" <td>0.304000</td>\n", |
|
|
531 |
" <td>...</td>\n", |
|
|
532 |
" <td>36.040000</td>\n", |
|
|
533 |
" <td>49.540000</td>\n", |
|
|
534 |
" <td>251.200000</td>\n", |
|
|
535 |
" <td>4254.000000</td>\n", |
|
|
536 |
" <td>0.222600</td>\n", |
|
|
537 |
" <td>1.058000</td>\n", |
|
|
538 |
" <td>1.252000</td>\n", |
|
|
539 |
" <td>0.291000</td>\n", |
|
|
540 |
" <td>0.663800</td>\n", |
|
|
541 |
" <td>0.207500</td>\n", |
|
|
542 |
" </tr>\n", |
|
|
543 |
" </tbody>\n", |
|
|
544 |
"</table>\n", |
|
|
545 |
"<p>8 rows × 31 columns</p>\n", |
|
|
546 |
"</div>" |
|
|
547 |
], |
|
|
548 |
"text/plain": [ |
|
|
549 |
" diagnosis radius_mean texture_mean perimeter_mean area_mean \\\n", |
|
|
550 |
"count 569.000000 569.000000 569.000000 569.000000 569.000000 \n", |
|
|
551 |
"mean 0.372583 14.127292 19.289649 91.969033 654.889104 \n", |
|
|
552 |
"std 0.483918 3.524049 4.301036 24.298981 351.914129 \n", |
|
|
553 |
"min 0.000000 6.981000 9.710000 43.790000 143.500000 \n", |
|
|
554 |
"25% 0.000000 11.700000 16.170000 75.170000 420.300000 \n", |
|
|
555 |
"50% 0.000000 13.370000 18.840000 86.240000 551.100000 \n", |
|
|
556 |
"75% 1.000000 15.780000 21.800000 104.100000 782.700000 \n", |
|
|
557 |
"max 1.000000 28.110000 39.280000 188.500000 2501.000000 \n", |
|
|
558 |
"\n", |
|
|
559 |
" smoothness_mean compactness_mean concavity_mean concave points_mean \\\n", |
|
|
560 |
"count 569.000000 569.000000 569.000000 569.000000 \n", |
|
|
561 |
"mean 0.096360 0.104341 0.088799 0.048919 \n", |
|
|
562 |
"std 0.014064 0.052813 0.079720 0.038803 \n", |
|
|
563 |
"min 0.052630 0.019380 0.000000 0.000000 \n", |
|
|
564 |
"25% 0.086370 0.064920 0.029560 0.020310 \n", |
|
|
565 |
"50% 0.095870 0.092630 0.061540 0.033500 \n", |
|
|
566 |
"75% 0.105300 0.130400 0.130700 0.074000 \n", |
|
|
567 |
"max 0.163400 0.345400 0.426800 0.201200 \n", |
|
|
568 |
"\n", |
|
|
569 |
" symmetry_mean ... radius_worst texture_worst perimeter_worst \\\n", |
|
|
570 |
"count 569.000000 ... 569.000000 569.000000 569.000000 \n", |
|
|
571 |
"mean 0.181162 ... 16.269190 25.677223 107.261213 \n", |
|
|
572 |
"std 0.027414 ... 4.833242 6.146258 33.602542 \n", |
|
|
573 |
"min 0.106000 ... 7.930000 12.020000 50.410000 \n", |
|
|
574 |
"25% 0.161900 ... 13.010000 21.080000 84.110000 \n", |
|
|
575 |
"50% 0.179200 ... 14.970000 25.410000 97.660000 \n", |
|
|
576 |
"75% 0.195700 ... 18.790000 29.720000 125.400000 \n", |
|
|
577 |
"max 0.304000 ... 36.040000 49.540000 251.200000 \n", |
|
|
578 |
"\n", |
|
|
579 |
" area_worst smoothness_worst compactness_worst concavity_worst \\\n", |
|
|
580 |
"count 569.000000 569.000000 569.000000 569.000000 \n", |
|
|
581 |
"mean 880.583128 0.132369 0.254265 0.272188 \n", |
|
|
582 |
"std 569.356993 0.022832 0.157336 0.208624 \n", |
|
|
583 |
"min 185.200000 0.071170 0.027290 0.000000 \n", |
|
|
584 |
"25% 515.300000 0.116600 0.147200 0.114500 \n", |
|
|
585 |
"50% 686.500000 0.131300 0.211900 0.226700 \n", |
|
|
586 |
"75% 1084.000000 0.146000 0.339100 0.382900 \n", |
|
|
587 |
"max 4254.000000 0.222600 1.058000 1.252000 \n", |
|
|
588 |
"\n", |
|
|
589 |
" concave points_worst symmetry_worst fractal_dimension_worst \n", |
|
|
590 |
"count 569.000000 569.000000 569.000000 \n", |
|
|
591 |
"mean 0.114606 0.290076 0.083946 \n", |
|
|
592 |
"std 0.065732 0.061867 0.018061 \n", |
|
|
593 |
"min 0.000000 0.156500 0.055040 \n", |
|
|
594 |
"25% 0.064930 0.250400 0.071460 \n", |
|
|
595 |
"50% 0.099930 0.282200 0.080040 \n", |
|
|
596 |
"75% 0.161400 0.317900 0.092080 \n", |
|
|
597 |
"max 0.291000 0.663800 0.207500 \n", |
|
|
598 |
"\n", |
|
|
599 |
"[8 rows x 31 columns]" |
|
|
600 |
] |
|
|
601 |
}, |
|
|
602 |
"execution_count": 64, |
|
|
603 |
"metadata": {}, |
|
|
604 |
"output_type": "execute_result" |
|
|
605 |
} |
|
|
606 |
], |
|
|
607 |
"source": [ |
|
|
608 |
"df.describe()" |
|
|
609 |
] |
|
|
610 |
}, |
|
|
611 |
{ |
|
|
612 |
"cell_type": "code", |
|
|
613 |
"execution_count": 65, |
|
|
614 |
"id": "97ded7b0-cb65-43db-a79e-80bb90e43d89", |
|
|
615 |
"metadata": {}, |
|
|
616 |
"outputs": [ |
|
|
617 |
{ |
|
|
618 |
"data": { |
|
|
619 |
"text/plain": [ |
|
|
620 |
"diagnosis 0\n", |
|
|
621 |
"radius_mean 0\n", |
|
|
622 |
"texture_mean 0\n", |
|
|
623 |
"perimeter_mean 0\n", |
|
|
624 |
"area_mean 0\n", |
|
|
625 |
"smoothness_mean 0\n", |
|
|
626 |
"compactness_mean 0\n", |
|
|
627 |
"concavity_mean 0\n", |
|
|
628 |
"concave points_mean 0\n", |
|
|
629 |
"symmetry_mean 0\n", |
|
|
630 |
"fractal_dimension_mean 0\n", |
|
|
631 |
"radius_se 0\n", |
|
|
632 |
"texture_se 0\n", |
|
|
633 |
"perimeter_se 0\n", |
|
|
634 |
"area_se 0\n", |
|
|
635 |
"smoothness_se 0\n", |
|
|
636 |
"compactness_se 0\n", |
|
|
637 |
"concavity_se 0\n", |
|
|
638 |
"concave points_se 0\n", |
|
|
639 |
"symmetry_se 0\n", |
|
|
640 |
"fractal_dimension_se 0\n", |
|
|
641 |
"radius_worst 0\n", |
|
|
642 |
"texture_worst 0\n", |
|
|
643 |
"perimeter_worst 0\n", |
|
|
644 |
"area_worst 0\n", |
|
|
645 |
"smoothness_worst 0\n", |
|
|
646 |
"compactness_worst 0\n", |
|
|
647 |
"concavity_worst 0\n", |
|
|
648 |
"concave points_worst 0\n", |
|
|
649 |
"symmetry_worst 0\n", |
|
|
650 |
"fractal_dimension_worst 0\n", |
|
|
651 |
"dtype: int64" |
|
|
652 |
] |
|
|
653 |
}, |
|
|
654 |
"execution_count": 65, |
|
|
655 |
"metadata": {}, |
|
|
656 |
"output_type": "execute_result" |
|
|
657 |
} |
|
|
658 |
], |
|
|
659 |
"source": [ |
|
|
660 |
"# checking for null values\n", |
|
|
661 |
"\n", |
|
|
662 |
"df.isna().sum()" |
|
|
663 |
] |
|
|
664 |
}, |
|
|
665 |
{ |
|
|
666 |
"cell_type": "code", |
|
|
667 |
"execution_count": 66, |
|
|
668 |
"id": "f73513a5-0374-4ed0-a1d4-43ac2c9c41b1", |
|
|
669 |
"metadata": {}, |
|
|
670 |
"outputs": [ |
|
|
671 |
{ |
|
|
672 |
"name": "stdout", |
|
|
673 |
"output_type": "stream", |
|
|
674 |
"text": [ |
|
|
675 |
"The reduced dataframe has 23 columns.\n", |
|
|
676 |
" diagnosis texture_mean smoothness_mean compactness_mean \\\n", |
|
|
677 |
"0 1 10.38 0.11840 0.27760 \n", |
|
|
678 |
"1 1 17.77 0.08474 0.07864 \n", |
|
|
679 |
"2 1 21.25 0.10960 0.15990 \n", |
|
|
680 |
"3 1 20.38 0.14250 0.28390 \n", |
|
|
681 |
"4 1 14.34 0.10030 0.13280 \n", |
|
|
682 |
".. ... ... ... ... \n", |
|
|
683 |
"564 1 22.39 0.11100 0.11590 \n", |
|
|
684 |
"565 1 28.25 0.09780 0.10340 \n", |
|
|
685 |
"566 1 28.08 0.08455 0.10230 \n", |
|
|
686 |
"567 1 29.33 0.11780 0.27700 \n", |
|
|
687 |
"568 0 24.54 0.05263 0.04362 \n", |
|
|
688 |
"\n", |
|
|
689 |
" concave points_mean symmetry_mean fractal_dimension_mean texture_se \\\n", |
|
|
690 |
"0 0.14710 0.2419 0.07871 0.9053 \n", |
|
|
691 |
"1 0.07017 0.1812 0.05667 0.7339 \n", |
|
|
692 |
"2 0.12790 0.2069 0.05999 0.7869 \n", |
|
|
693 |
"3 0.10520 0.2597 0.09744 1.1560 \n", |
|
|
694 |
"4 0.10430 0.1809 0.05883 0.7813 \n", |
|
|
695 |
".. ... ... ... ... \n", |
|
|
696 |
"564 0.13890 0.1726 0.05623 1.2560 \n", |
|
|
697 |
"565 0.09791 0.1752 0.05533 2.4630 \n", |
|
|
698 |
"566 0.05302 0.1590 0.05648 1.0750 \n", |
|
|
699 |
"567 0.15200 0.2397 0.07016 1.5950 \n", |
|
|
700 |
"568 0.00000 0.1587 0.05884 1.4280 \n", |
|
|
701 |
"\n", |
|
|
702 |
" area_se smoothness_se ... symmetry_se fractal_dimension_se \\\n", |
|
|
703 |
"0 153.40 0.006399 ... 0.03003 0.006193 \n", |
|
|
704 |
"1 74.08 0.005225 ... 0.01389 0.003532 \n", |
|
|
705 |
"2 94.03 0.006150 ... 0.02250 0.004571 \n", |
|
|
706 |
"3 27.23 0.009110 ... 0.05963 0.009208 \n", |
|
|
707 |
"4 94.44 0.011490 ... 0.01756 0.005115 \n", |
|
|
708 |
".. ... ... ... ... ... \n", |
|
|
709 |
"564 158.70 0.010300 ... 0.01114 0.004239 \n", |
|
|
710 |
"565 99.04 0.005769 ... 0.01898 0.002498 \n", |
|
|
711 |
"566 48.55 0.005903 ... 0.01318 0.003892 \n", |
|
|
712 |
"567 86.22 0.006522 ... 0.02324 0.006185 \n", |
|
|
713 |
"568 19.15 0.007189 ... 0.02676 0.002783 \n", |
|
|
714 |
"\n", |
|
|
715 |
" texture_worst area_worst smoothness_worst compactness_worst \\\n", |
|
|
716 |
"0 17.33 2019.0 0.16220 0.66560 \n", |
|
|
717 |
"1 23.41 1956.0 0.12380 0.18660 \n", |
|
|
718 |
"2 25.53 1709.0 0.14440 0.42450 \n", |
|
|
719 |
"3 26.50 567.7 0.20980 0.86630 \n", |
|
|
720 |
"4 16.67 1575.0 0.13740 0.20500 \n", |
|
|
721 |
".. ... ... ... ... \n", |
|
|
722 |
"564 26.40 2027.0 0.14100 0.21130 \n", |
|
|
723 |
"565 38.25 1731.0 0.11660 0.19220 \n", |
|
|
724 |
"566 34.12 1124.0 0.11390 0.30940 \n", |
|
|
725 |
"567 39.42 1821.0 0.16500 0.86810 \n", |
|
|
726 |
"568 30.37 268.6 0.08996 0.06444 \n", |
|
|
727 |
"\n", |
|
|
728 |
" concavity_worst concave points_worst symmetry_worst \\\n", |
|
|
729 |
"0 0.7119 0.2654 0.4601 \n", |
|
|
730 |
"1 0.2416 0.1860 0.2750 \n", |
|
|
731 |
"2 0.4504 0.2430 0.3613 \n", |
|
|
732 |
"3 0.6869 0.2575 0.6638 \n", |
|
|
733 |
"4 0.4000 0.1625 0.2364 \n", |
|
|
734 |
".. ... ... ... \n", |
|
|
735 |
"564 0.4107 0.2216 0.2060 \n", |
|
|
736 |
"565 0.3215 0.1628 0.2572 \n", |
|
|
737 |
"566 0.3403 0.1418 0.2218 \n", |
|
|
738 |
"567 0.9387 0.2650 0.4087 \n", |
|
|
739 |
"568 0.0000 0.0000 0.2871 \n", |
|
|
740 |
"\n", |
|
|
741 |
" fractal_dimension_worst \n", |
|
|
742 |
"0 0.11890 \n", |
|
|
743 |
"1 0.08902 \n", |
|
|
744 |
"2 0.08758 \n", |
|
|
745 |
"3 0.17300 \n", |
|
|
746 |
"4 0.07678 \n", |
|
|
747 |
".. ... \n", |
|
|
748 |
"564 0.07115 \n", |
|
|
749 |
"565 0.06637 \n", |
|
|
750 |
"566 0.07820 \n", |
|
|
751 |
"567 0.12400 \n", |
|
|
752 |
"568 0.07039 \n", |
|
|
753 |
"\n", |
|
|
754 |
"[569 rows x 23 columns]\n" |
|
|
755 |
] |
|
|
756 |
} |
|
|
757 |
], |
|
|
758 |
"source": [ |
|
|
759 |
"# removing highly correlated features\n", |
|
|
760 |
"\n", |
|
|
761 |
"corr_matrix = df.corr().abs() \n", |
|
|
762 |
"\n", |
|
|
763 |
"mask = np.triu(np.ones_like(corr_matrix, dtype = bool))\n", |
|
|
764 |
"tri_df = corr_matrix.mask(mask)\n", |
|
|
765 |
"\n", |
|
|
766 |
"to_drop = [x for x in tri_df.columns if any(tri_df[x] > 0.92)]\n", |
|
|
767 |
"\n", |
|
|
768 |
"df = df.drop(to_drop, axis = 1)\n", |
|
|
769 |
"\n", |
|
|
770 |
"print(f\"The reduced dataframe has {df.shape[1]} columns.\")\n", |
|
|
771 |
"print(df)\n" |
|
|
772 |
] |
|
|
773 |
}, |
|
|
774 |
{ |
|
|
775 |
"cell_type": "code", |
|
|
776 |
"execution_count": 57, |
|
|
777 |
"id": "62fb56f2", |
|
|
778 |
"metadata": {}, |
|
|
779 |
"outputs": [ |
|
|
780 |
{ |
|
|
781 |
"name": "stdout", |
|
|
782 |
"output_type": "stream", |
|
|
783 |
"text": [ |
|
|
784 |
"[1.0, 10.38, 0.1184, 0.2776, 0.1471, 0.2419, 0.07871, 0.9053, 153.4, 0.006399, 0.04904, 0.05373, 0.01587, 0.03003, 0.006193, 17.33, 2019.0, 0.1622, 0.6656, 0.7119, 0.2654, 0.4601, 0.1189]\n", |
|
|
785 |
"23\n" |
|
|
786 |
] |
|
|
787 |
} |
|
|
788 |
], |
|
|
789 |
"source": [ |
|
|
790 |
"# Filter rows where diagnosis == 1\n", |
|
|
791 |
"filtered_df = df[df['diagnosis'] == 1]\n", |
|
|
792 |
"\n", |
|
|
793 |
"# Select the first row and convert it to a list\n", |
|
|
794 |
"if not filtered_df.empty: # Ensure there is at least one matching row\n", |
|
|
795 |
" first_row_values = filtered_df.iloc[0].tolist()\n", |
|
|
796 |
" print(first_row_values)\n", |
|
|
797 |
"else:\n", |
|
|
798 |
" print(\"No rows with diagnosis == 1\")\n", |
|
|
799 |
"print(len(first_row_values))" |
|
|
800 |
] |
|
|
801 |
}, |
|
|
802 |
{ |
|
|
803 |
"cell_type": "code", |
|
|
804 |
"execution_count": 67, |
|
|
805 |
"id": "05eb4899-946c-44c2-bc4f-e2046b236c50", |
|
|
806 |
"metadata": {}, |
|
|
807 |
"outputs": [ |
|
|
808 |
{ |
|
|
809 |
"data": { |
|
|
810 |
"text/plain": [ |
|
|
811 |
"['radius_mean',\n", |
|
|
812 |
" 'perimeter_mean',\n", |
|
|
813 |
" 'area_mean',\n", |
|
|
814 |
" 'concavity_mean',\n", |
|
|
815 |
" 'radius_se',\n", |
|
|
816 |
" 'perimeter_se',\n", |
|
|
817 |
" 'radius_worst',\n", |
|
|
818 |
" 'perimeter_worst']" |
|
|
819 |
] |
|
|
820 |
}, |
|
|
821 |
"execution_count": 67, |
|
|
822 |
"metadata": {}, |
|
|
823 |
"output_type": "execute_result" |
|
|
824 |
} |
|
|
825 |
], |
|
|
826 |
"source": [ |
|
|
827 |
"to_drop" |
|
|
828 |
] |
|
|
829 |
}, |
|
|
830 |
{ |
|
|
831 |
"cell_type": "code", |
|
|
832 |
"execution_count": 68, |
|
|
833 |
"id": "ccb85aaf-b9e3-47a1-9b79-83f9ac2a2ea6", |
|
|
834 |
"metadata": {}, |
|
|
835 |
"outputs": [ |
|
|
836 |
{ |
|
|
837 |
"name": "stdout", |
|
|
838 |
"output_type": "stream", |
|
|
839 |
"text": [ |
|
|
840 |
"<class 'pandas.core.frame.DataFrame'>\n", |
|
|
841 |
"RangeIndex: 569 entries, 0 to 568\n", |
|
|
842 |
"Data columns (total 23 columns):\n", |
|
|
843 |
" # Column Non-Null Count Dtype \n", |
|
|
844 |
"--- ------ -------------- ----- \n", |
|
|
845 |
" 0 diagnosis 569 non-null int64 \n", |
|
|
846 |
" 1 texture_mean 569 non-null float64\n", |
|
|
847 |
" 2 smoothness_mean 569 non-null float64\n", |
|
|
848 |
" 3 compactness_mean 569 non-null float64\n", |
|
|
849 |
" 4 concave points_mean 569 non-null float64\n", |
|
|
850 |
" 5 symmetry_mean 569 non-null float64\n", |
|
|
851 |
" 6 fractal_dimension_mean 569 non-null float64\n", |
|
|
852 |
" 7 texture_se 569 non-null float64\n", |
|
|
853 |
" 8 area_se 569 non-null float64\n", |
|
|
854 |
" 9 smoothness_se 569 non-null float64\n", |
|
|
855 |
" 10 compactness_se 569 non-null float64\n", |
|
|
856 |
" 11 concavity_se 569 non-null float64\n", |
|
|
857 |
" 12 concave points_se 569 non-null float64\n", |
|
|
858 |
" 13 symmetry_se 569 non-null float64\n", |
|
|
859 |
" 14 fractal_dimension_se 569 non-null float64\n", |
|
|
860 |
" 15 texture_worst 569 non-null float64\n", |
|
|
861 |
" 16 area_worst 569 non-null float64\n", |
|
|
862 |
" 17 smoothness_worst 569 non-null float64\n", |
|
|
863 |
" 18 compactness_worst 569 non-null float64\n", |
|
|
864 |
" 19 concavity_worst 569 non-null float64\n", |
|
|
865 |
" 20 concave points_worst 569 non-null float64\n", |
|
|
866 |
" 21 symmetry_worst 569 non-null float64\n", |
|
|
867 |
" 22 fractal_dimension_worst 569 non-null float64\n", |
|
|
868 |
"dtypes: float64(22), int64(1)\n", |
|
|
869 |
"memory usage: 102.4 KB\n" |
|
|
870 |
] |
|
|
871 |
} |
|
|
872 |
], |
|
|
873 |
"source": [ |
|
|
874 |
"df.info()" |
|
|
875 |
] |
|
|
876 |
}, |
|
|
877 |
{ |
|
|
878 |
"cell_type": "code", |
|
|
879 |
"execution_count": 13, |
|
|
880 |
"id": "00204005-3df0-420d-a39e-8335e2acc8d3", |
|
|
881 |
"metadata": {}, |
|
|
882 |
"outputs": [ |
|
|
883 |
{ |
|
|
884 |
"data": { |
|
|
885 |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAG4CAYAAABrdsxmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA8GUlEQVR4nO3de1yUdd7/8ffAzCCoxCCYIR4jFcQk9PZw22puZZgd1LbbDmql3WJqabXl7m0H01zbtFZNy9ZaOojbmqZ3aYorZbmtrHlnaQlpnvAcwXgCYhiY3x/+ZlYElYFh5hp7PR8PHg+5Dt/rc30ua95e13dmTC6XyyUAAAADCgl0AQAAAOdDUAEAAIZFUAEAAIZFUAEAAIZFUAEAAIZFUAEAAIZFUAEAAIZFUAEAAIZFUAEAAIZFUAFq8Morr6hjx45Vfjp16qSUlBQNGDBATz/9tHbv3l1tv4MHD6pjx44aN25cAKr2r4Y81/379+uaa67Rtm3bJEn/+te/PNfh/vvvv+C+69at82z7wQcf+KymxYsXq2PHjjp58qTPxnQ7+/zO/rn66qt1ww03aPr06SoqKvLJsX744QeNGzdOvXv3Vrdu3TR69Gh99913VbZxOBy64YYblJmZ6ZNjAvVhDnQBgJFdf/31SkxMlCRVVlbq9OnTysvL09KlS/Xhhx9q7ty5uu666zzbR0ZGasKECWrfvn2AKvafhjpXl8ulp556Stdff72uvvrqauu//PJLHT9+XFFRUTXun5WV5dN63MecNWuWz8c9V6dOnXTDDTdIOtOH0tJS7dy5U5mZmfrss8+0fPlyXXbZZXUef/fu3br77rtVWVmpW2+9VSaTSR9++KHuvvtuLV682NNvq9Wqxx57TE8//bSuv/56tWjRwifnB9SJC0A18+bNc3Xo0MG1fPnyGtdv2LDB1blzZ1dKSopr3759fq7u0vbBBx+4EhMTq/Q1JyfH1aFDB1efPn0ueF3Kyspc11xzjSslJeWC23lj1apVrq5du7o6dOjg6tChg+vEiRP1HvNc7vObPHlyjevfeOMNV4cOHVxz5syp13EeeOABV1JSkmvHjh2eZd9//72ra9eurqFDh1bZtrKy0nX77be7Hn744XodE6gvHv0AddCvXz9NnDhRJSUlevXVVwNdziXD5XJp0aJF6tu3r9q0aVNt/a9+9StZLBb9/e9/r3H/jRs3qri4WL/+9a/rXUtRUZHGjx+vxx57TNHR0TXW4y933HGHpDN3dupq3759+uKLL6rcJZSkDh066LbbbtO3336r3Nxcz3KTyaR7771X69at0549e+pePFBPBBWgjoYPH66wsDCtW7dOTqdT0vnnbezcuVNPPPGE+vXrp+TkZKWmpuquu+6q8THFTz/9pGeeeUa/+tWv1LVrV91zzz366quvdP/991d5Af7ggw/UsWNHbdq0SW+++aYGDBig5ORk3XDDDXrttddUUVFRZdzKykotWbJEgwcP1tVXX61u3brpgQce0BdffFGthu3btys9PV3XXnutunTpoptuukmzZ8/W6dOnPdvUdK5Op1Pz58/XrbfeqpSUFPXo0UOjR4/Wpk2batXTzz//XLt379Ztt91W4/omTZqoT58++uKLL1RSUlJtfVZWluLi4tSlS5dq62qaA3LuzyuvvOLZfteuXcrOztbQoUO1cuVKXX755bU6h4ZgNp95Sm+1Wj3L3P2/2I97no475PTs2bPa+O5lmzdvrrJ84MCBMpvNeuuttxritIBaYY4KUEfh4eFKSkrS1q1blZubW+OLoyRt27ZNI0aMkNVq1YABAxQdHa39+/crOztbjzzyiBYuXKj+/ftLkux2u+655x7t379f1157rTp27KicnBzdd999ioqKksViqTb+rFmztHfvXqWlpal///5avXq15syZo59//lmPPvqopDMh5dFHH9XatWvVqlUr3XHHHSopKVF2drZGjx6tp59+Wvfee68kae/evXrggQcUEhKitLQ0RUZGauvWrVq0aJG2b9+ut99++7w9mT59ut577z316NFDffv21alTp/Txxx9r9OjRysjIqPFF8myrVq1SSEiI/vM///O82wwYMEAbNmzQZ599poEDB3qWOxwOffrpp567D+eaMGHCBY8tST169PD8uXXr1vrf//1fdezY8aL7NbTly5dLkm666SbPMvccoYtx3z05cOCAJKlVq1bVtmnZsqWkM3ddztakSRN17dpVa9as0dSpUxUSwr9t4X8EFaAe3P/KLigoOO82c+fOldPp1AcffKArr7zSs/zjjz/Wo48+qlWrVnmCyvz587V//349+eSTGj16tKQzIeOxxx7TmjVrPC8oZ8vPz9fKlSs9jyZGjBihtLQ0LVu2zBNUPvzwQ61du1bXXnutXnnlFUVEREg68+J199136w9/+IP69u2rVq1aaenSpTp16pTefvtt9erVy3Oc9PR0bdiwQbt27dJVV11VrY7Tp09r6dKl+o//+A+9++67nuV33nmnfvOb3ygzM/OiQWXz5s2Kj48/70RZ6cwEZ7PZrPXr11cJKps2bdLJkyeVlpamr7/+utp+Dz/88AWPfa4rrrhCV1xxhVf71Fdubm6VuzplZWXauXOnPv/8cw0ePFj/9V//5VkXGRnp1TkdP37cs9+5mjZtKkk6depUtXXJycnasmWLcnNz1blz51ofD/AVggpQD+5b8Wc/EjnX/fffrzvuuKNKSJH+fbu9sLBQklRRUaGPPvpILVu2rPIW3JCQED355JNat25djeMPGDCgyvyJ+Ph4XXnllcrLy1NZWZnCwsK0YsUKSdLUqVM9IUU686/rhx56SNOmTdPKlSv18MMPq7KyUtKZxz9nB5WZM2dKkqKjo2uso7KyUi6XS0eOHFFBQYFiY2MlSV26dNH69esv+s6RoqIiHT161BPazicqKko9evTQhg0b5HA4PNdg7dq1uuKKK9S1a9cag0owyMvLU15eXrXlISEhCgsLk91uP2//L6a8vFxS1cdHbu5lDoej2rqEhARJ0nfffUdQQUAQVIB6KC4ulqQqL/7n+tWvfiXpzF2XvLw85efna+/evfq///s/SfLMJdm/f79OnDihXr16KTQ0tMoYcXFx532hb9u2bbVl7n8hOxwOhYWFKS8vT5dffnmNt/27desmSZ4XyCFDhuivf/2rZs+ercWLF6tv377q27ev+vTpc8HzjIyM1M0336zVq1erf//+uuaaa9S3b1/179/f82J3Ie7AZrPZLrrtgAED9M9//lObNm1Sv3795HQ69cknn2jw4MEymUw17nP2nYrz6dGjx0Xv+jSkIUOG6IUXXvD8XlZWpqNHj+r999/XokWLtGXLFq1YsUJhYWE6efLkBR/Dud1www1KTExUo0aNJP07sJzNHVDCw8OrrXNfD199jgvgLYIKUA+HDh2SVPNzf7fDhw/r+eef1yeffCKXy6WQkBC1bdtW3bp1044dOzzb2e12SVJMTEyN4zRv3lw//vhjteU1/QvZ/WLtcrkknbnjc6FxJennn3+WdOazPJYuXaqFCxfqs88+09KlS7V06VJFRERo5MiRmjRp0nnDwB//+EclJyfr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AgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADIugAgAADMtcn51XrFihb775RlOnTvUs27dvnzIyMrRnzx5FRkZq0KBBuvnmmz3rKysrtWzZMmVnZ6ukpERJSUkaPXq0mjdvXp9SAADAJajOd1SysrL03nvvVVl26tQpTZ8+XS1atNDMmTP1m9/8RpmZmfr000892yxfvlxZWVlKT0/X9OnTVVlZqRkzZsjpdNb9LAAAwCXJ66BSVFSkF154QYsXL1ZcXFyVdevXr5fZbNaYMWMUHx+v/v37a9CgQVq5cqUkyel0atWqVRo2bJhSU1PVtm1bTZo0SYWFhcrJyfHJCQEAgEuH10Flz549MpvNmj17thISEqqsy8vLU1JSkkJDQz3LkpOTdeTIER0/flz79u1TaWmpkpOTPesbN26sdu3aKTc3tx6nAQAALkVez1Hp3r27unfvXuO6wsJCtWrVqsqy6Ohoz7rCwkJJUkxMTJVtbDabZ11dmc31mm7T4OP5i8lkksViCXQZtebuc7D2O5jQa/+gz/4RrH02mUyBLqFOGqLPtR3Tp0cuKyur9iLp/r28vFxlZWU1Fme1WlVcXFyvY9tstnrtXxP7sUM+H7OhhYaGyhYbG+gyvNYQ1w81o9f+QZ/9I9j6bC88FugS6iSQffZpULFarSovL6+yzP17WFiYrFarpDNzVdx/liSHw6GwsLB6Hdtut/t0Qm6wpXS3iooKFRQUBLqMWjObzbLZbD6/fqiOXvsHffaPYO2zqaIi0CXUSUP02X0NL7qdLw8aExMju91eZVlRUZGkM4+AKv7/BSoqKlKLFi0829jtdrVp06Zex3Y6ndVCUn0FY1RxuVw+74M/NMT1Q83otX/QZ/8Itj5bXK5Al1AngeyzTz/wLTExUXl5eaqsrPQs+/bbbxUXF6fLLrtMbdq0UXh4uHbs2OFZX1xcrL179yoxMdGXpQAAgEuAT4NK//79VVJSotdee00HDx7Uhg0btHr1ag0ePFjSmfkq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", |
|
|
886 |
"text/plain": [ |
|
|
887 |
"<Figure size 640x480 with 1 Axes>" |
|
|
888 |
] |
|
|
889 |
}, |
|
|
890 |
"metadata": {}, |
|
|
891 |
"output_type": "display_data" |
|
|
892 |
} |
|
|
893 |
], |
|
|
894 |
"source": [ |
|
|
895 |
"df.describe()\n", |
|
|
896 |
"plt.hist(df['diagnosis'])\n", |
|
|
897 |
"plt.title('Diagnosis (M=1 , B=0)')\n", |
|
|
898 |
"plt.show()" |
|
|
899 |
] |
|
|
900 |
}, |
|
|
901 |
{ |
|
|
902 |
"cell_type": "code", |
|
|
903 |
"execution_count": null, |
|
|
904 |
"id": "d387c1e9-bce6-4b0d-9a60-64abc4428ffc", |
|
|
905 |
"metadata": {}, |
|
|
906 |
"outputs": [], |
|
|
907 |
"source": [] |
|
|
908 |
}, |
|
|
909 |
{ |
|
|
910 |
"cell_type": "code", |
|
|
911 |
"execution_count": 14, |
|
|
912 |
"id": "91687a11-60d1-4f73-9643-7db868ba4d26", |
|
|
913 |
"metadata": {}, |
|
|
914 |
"outputs": [ |
|
|
915 |
{ |
|
|
916 |
"name": "stdout", |
|
|
917 |
"output_type": "stream", |
|
|
918 |
"text": [ |
|
|
919 |
"(569, 22)\n" |
|
|
920 |
] |
|
|
921 |
} |
|
|
922 |
], |
|
|
923 |
"source": [ |
|
|
924 |
"# creating features and label \n", |
|
|
925 |
"\n", |
|
|
926 |
"X = df.drop('diagnosis', axis = 1)\n", |
|
|
927 |
"y = df['diagnosis']\n", |
|
|
928 |
"print(X.shape)" |
|
|
929 |
] |
|
|
930 |
}, |
|
|
931 |
{ |
|
|
932 |
"cell_type": "code", |
|
|
933 |
"execution_count": 15, |
|
|
934 |
"id": "d7835666-a4a1-4813-a05a-2f78a7226fb9", |
|
|
935 |
"metadata": {}, |
|
|
936 |
"outputs": [], |
|
|
937 |
"source": [ |
|
|
938 |
"# splitting data into training and test set\n", |
|
|
939 |
"\n", |
|
|
940 |
"from sklearn.model_selection import train_test_split\n", |
|
|
941 |
"\n", |
|
|
942 |
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.30, random_state = 0)" |
|
|
943 |
] |
|
|
944 |
}, |
|
|
945 |
{ |
|
|
946 |
"cell_type": "code", |
|
|
947 |
"execution_count": 16, |
|
|
948 |
"id": "597ed2b7-1e2c-4c4a-9dc0-b6fd1584fd9d", |
|
|
949 |
"metadata": {}, |
|
|
950 |
"outputs": [], |
|
|
951 |
"source": [ |
|
|
952 |
"# scaling data\n", |
|
|
953 |
"\n", |
|
|
954 |
"from sklearn.preprocessing import StandardScaler\n", |
|
|
955 |
"\n", |
|
|
956 |
"scaler = StandardScaler()\n", |
|
|
957 |
"\n", |
|
|
958 |
"X_train = scaler.fit_transform(X_train)\n", |
|
|
959 |
"X_test = scaler.transform(X_test)" |
|
|
960 |
] |
|
|
961 |
}, |
|
|
962 |
{ |
|
|
963 |
"cell_type": "code", |
|
|
964 |
"execution_count": 17, |
|
|
965 |
"id": "2a3673cf-d003-45be-9709-aa624c8ff82d", |
|
|
966 |
"metadata": {}, |
|
|
967 |
"outputs": [], |
|
|
968 |
"source": [ |
|
|
969 |
"#Logistic Regression" |
|
|
970 |
] |
|
|
971 |
}, |
|
|
972 |
{ |
|
|
973 |
"cell_type": "code", |
|
|
974 |
"execution_count": 18, |
|
|
975 |
"id": "56268b65-d0c7-459a-b271-621c24323747", |
|
|
976 |
"metadata": {}, |
|
|
977 |
"outputs": [ |
|
|
978 |
{ |
|
|
979 |
"data": { |
|
|
980 |
"text/html": [ |
|
|
981 |
"<style>#sk-container-id-1 {\n", |
|
|
982 |
" /* Definition of color scheme common for light and dark mode */\n", |
|
|
983 |
" --sklearn-color-text: black;\n", |
|
|
984 |
" --sklearn-color-line: gray;\n", |
|
|
985 |
" /* Definition of color scheme for unfitted estimators */\n", |
|
|
986 |
" --sklearn-color-unfitted-level-0: #fff5e6;\n", |
|
|
987 |
" --sklearn-color-unfitted-level-1: #f6e4d2;\n", |
|
|
988 |
" --sklearn-color-unfitted-level-2: #ffe0b3;\n", |
|
|
989 |
" --sklearn-color-unfitted-level-3: chocolate;\n", |
|
|
990 |
" /* Definition of color scheme for fitted estimators */\n", |
|
|
991 |
" --sklearn-color-fitted-level-0: #f0f8ff;\n", |
|
|
992 |
" --sklearn-color-fitted-level-1: #d4ebff;\n", |
|
|
993 |
" --sklearn-color-fitted-level-2: #b3dbfd;\n", |
|
|
994 |
" --sklearn-color-fitted-level-3: cornflowerblue;\n", |
|
|
995 |
"\n", |
|
|
996 |
" /* Specific color for light theme */\n", |
|
|
997 |
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", |
|
|
998 |
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n", |
|
|
999 |
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", |
|
|
1000 |
" --sklearn-color-icon: #696969;\n", |
|
|
1001 |
"\n", |
|
|
1002 |
" @media (prefers-color-scheme: dark) {\n", |
|
|
1003 |
" /* Redefinition of color scheme for dark theme */\n", |
|
|
1004 |
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", |
|
|
1005 |
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n", |
|
|
1006 |
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", |
|
|
1007 |
" --sklearn-color-icon: #878787;\n", |
|
|
1008 |
" }\n", |
|
|
1009 |
"}\n", |
|
|
1010 |
"\n", |
|
|
1011 |
"#sk-container-id-1 {\n", |
|
|
1012 |
" color: var(--sklearn-color-text);\n", |
|
|
1013 |
"}\n", |
|
|
1014 |
"\n", |
|
|
1015 |
"#sk-container-id-1 pre {\n", |
|
|
1016 |
" padding: 0;\n", |
|
|
1017 |
"}\n", |
|
|
1018 |
"\n", |
|
|
1019 |
"#sk-container-id-1 input.sk-hidden--visually {\n", |
|
|
1020 |
" border: 0;\n", |
|
|
1021 |
" clip: rect(1px 1px 1px 1px);\n", |
|
|
1022 |
" clip: rect(1px, 1px, 1px, 1px);\n", |
|
|
1023 |
" height: 1px;\n", |
|
|
1024 |
" margin: -1px;\n", |
|
|
1025 |
" overflow: hidden;\n", |
|
|
1026 |
" padding: 0;\n", |
|
|
1027 |
" position: absolute;\n", |
|
|
1028 |
" width: 1px;\n", |
|
|
1029 |
"}\n", |
|
|
1030 |
"\n", |
|
|
1031 |
"#sk-container-id-1 div.sk-dashed-wrapped {\n", |
|
|
1032 |
" border: 1px dashed var(--sklearn-color-line);\n", |
|
|
1033 |
" margin: 0 0.4em 0.5em 0.4em;\n", |
|
|
1034 |
" box-sizing: border-box;\n", |
|
|
1035 |
" padding-bottom: 0.4em;\n", |
|
|
1036 |
" background-color: var(--sklearn-color-background);\n", |
|
|
1037 |
"}\n", |
|
|
1038 |
"\n", |
|
|
1039 |
"#sk-container-id-1 div.sk-container {\n", |
|
|
1040 |
" /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n", |
|
|
1041 |
" but bootstrap.min.css set `[hidden] { display: none !important; }`\n", |
|
|
1042 |
" so we also need the `!important` here to be able to override the\n", |
|
|
1043 |
" default hidden behavior on the sphinx rendered scikit-learn.org.\n", |
|
|
1044 |
" See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n", |
|
|
1045 |
" display: inline-block !important;\n", |
|
|
1046 |
" position: relative;\n", |
|
|
1047 |
"}\n", |
|
|
1048 |
"\n", |
|
|
1049 |
"#sk-container-id-1 div.sk-text-repr-fallback {\n", |
|
|
1050 |
" display: none;\n", |
|
|
1051 |
"}\n", |
|
|
1052 |
"\n", |
|
|
1053 |
"div.sk-parallel-item,\n", |
|
|
1054 |
"div.sk-serial,\n", |
|
|
1055 |
"div.sk-item {\n", |
|
|
1056 |
" /* draw centered vertical line to link estimators */\n", |
|
|
1057 |
" background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n", |
|
|
1058 |
" background-size: 2px 100%;\n", |
|
|
1059 |
" background-repeat: no-repeat;\n", |
|
|
1060 |
" background-position: center center;\n", |
|
|
1061 |
"}\n", |
|
|
1062 |
"\n", |
|
|
1063 |
"/* Parallel-specific style estimator block */\n", |
|
|
1064 |
"\n", |
|
|
1065 |
"#sk-container-id-1 div.sk-parallel-item::after {\n", |
|
|
1066 |
" content: \"\";\n", |
|
|
1067 |
" width: 100%;\n", |
|
|
1068 |
" border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n", |
|
|
1069 |
" flex-grow: 1;\n", |
|
|
1070 |
"}\n", |
|
|
1071 |
"\n", |
|
|
1072 |
"#sk-container-id-1 div.sk-parallel {\n", |
|
|
1073 |
" display: flex;\n", |
|
|
1074 |
" align-items: stretch;\n", |
|
|
1075 |
" justify-content: center;\n", |
|
|
1076 |
" background-color: var(--sklearn-color-background);\n", |
|
|
1077 |
" position: relative;\n", |
|
|
1078 |
"}\n", |
|
|
1079 |
"\n", |
|
|
1080 |
"#sk-container-id-1 div.sk-parallel-item {\n", |
|
|
1081 |
" display: flex;\n", |
|
|
1082 |
" flex-direction: column;\n", |
|
|
1083 |
"}\n", |
|
|
1084 |
"\n", |
|
|
1085 |
"#sk-container-id-1 div.sk-parallel-item:first-child::after {\n", |
|
|
1086 |
" align-self: flex-end;\n", |
|
|
1087 |
" width: 50%;\n", |
|
|
1088 |
"}\n", |
|
|
1089 |
"\n", |
|
|
1090 |
"#sk-container-id-1 div.sk-parallel-item:last-child::after {\n", |
|
|
1091 |
" align-self: flex-start;\n", |
|
|
1092 |
" width: 50%;\n", |
|
|
1093 |
"}\n", |
|
|
1094 |
"\n", |
|
|
1095 |
"#sk-container-id-1 div.sk-parallel-item:only-child::after {\n", |
|
|
1096 |
" width: 0;\n", |
|
|
1097 |
"}\n", |
|
|
1098 |
"\n", |
|
|
1099 |
"/* Serial-specific style estimator block */\n", |
|
|
1100 |
"\n", |
|
|
1101 |
"#sk-container-id-1 div.sk-serial {\n", |
|
|
1102 |
" display: flex;\n", |
|
|
1103 |
" flex-direction: column;\n", |
|
|
1104 |
" align-items: center;\n", |
|
|
1105 |
" background-color: var(--sklearn-color-background);\n", |
|
|
1106 |
" padding-right: 1em;\n", |
|
|
1107 |
" padding-left: 1em;\n", |
|
|
1108 |
"}\n", |
|
|
1109 |
"\n", |
|
|
1110 |
"\n", |
|
|
1111 |
"/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n", |
|
|
1112 |
"clickable and can be expanded/collapsed.\n", |
|
|
1113 |
"- Pipeline and ColumnTransformer use this feature and define the default style\n", |
|
|
1114 |
"- Estimators will overwrite some part of the style using the `sk-estimator` class\n", |
|
|
1115 |
"*/\n", |
|
|
1116 |
"\n", |
|
|
1117 |
"/* Pipeline and ColumnTransformer style (default) */\n", |
|
|
1118 |
"\n", |
|
|
1119 |
"#sk-container-id-1 div.sk-toggleable {\n", |
|
|
1120 |
" /* Default theme specific background. It is overwritten whether we have a\n", |
|
|
1121 |
" specific estimator or a Pipeline/ColumnTransformer */\n", |
|
|
1122 |
" background-color: var(--sklearn-color-background);\n", |
|
|
1123 |
"}\n", |
|
|
1124 |
"\n", |
|
|
1125 |
"/* Toggleable label */\n", |
|
|
1126 |
"#sk-container-id-1 label.sk-toggleable__label {\n", |
|
|
1127 |
" cursor: pointer;\n", |
|
|
1128 |
" display: block;\n", |
|
|
1129 |
" width: 100%;\n", |
|
|
1130 |
" margin-bottom: 0;\n", |
|
|
1131 |
" padding: 0.5em;\n", |
|
|
1132 |
" box-sizing: border-box;\n", |
|
|
1133 |
" text-align: center;\n", |
|
|
1134 |
"}\n", |
|
|
1135 |
"\n", |
|
|
1136 |
"#sk-container-id-1 label.sk-toggleable__label-arrow:before {\n", |
|
|
1137 |
" /* Arrow on the left of the label */\n", |
|
|
1138 |
" content: \"▸\";\n", |
|
|
1139 |
" float: left;\n", |
|
|
1140 |
" margin-right: 0.25em;\n", |
|
|
1141 |
" color: var(--sklearn-color-icon);\n", |
|
|
1142 |
"}\n", |
|
|
1143 |
"\n", |
|
|
1144 |
"#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {\n", |
|
|
1145 |
" color: var(--sklearn-color-text);\n", |
|
|
1146 |
"}\n", |
|
|
1147 |
"\n", |
|
|
1148 |
"/* Toggleable content - dropdown */\n", |
|
|
1149 |
"\n", |
|
|
1150 |
"#sk-container-id-1 div.sk-toggleable__content {\n", |
|
|
1151 |
" max-height: 0;\n", |
|
|
1152 |
" max-width: 0;\n", |
|
|
1153 |
" overflow: hidden;\n", |
|
|
1154 |
" text-align: left;\n", |
|
|
1155 |
" /* unfitted */\n", |
|
|
1156 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
1157 |
"}\n", |
|
|
1158 |
"\n", |
|
|
1159 |
"#sk-container-id-1 div.sk-toggleable__content.fitted {\n", |
|
|
1160 |
" /* fitted */\n", |
|
|
1161 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
1162 |
"}\n", |
|
|
1163 |
"\n", |
|
|
1164 |
"#sk-container-id-1 div.sk-toggleable__content pre {\n", |
|
|
1165 |
" margin: 0.2em;\n", |
|
|
1166 |
" border-radius: 0.25em;\n", |
|
|
1167 |
" color: var(--sklearn-color-text);\n", |
|
|
1168 |
" /* unfitted */\n", |
|
|
1169 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
1170 |
"}\n", |
|
|
1171 |
"\n", |
|
|
1172 |
"#sk-container-id-1 div.sk-toggleable__content.fitted pre {\n", |
|
|
1173 |
" /* unfitted */\n", |
|
|
1174 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
1175 |
"}\n", |
|
|
1176 |
"\n", |
|
|
1177 |
"#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n", |
|
|
1178 |
" /* Expand drop-down */\n", |
|
|
1179 |
" max-height: 200px;\n", |
|
|
1180 |
" max-width: 100%;\n", |
|
|
1181 |
" overflow: auto;\n", |
|
|
1182 |
"}\n", |
|
|
1183 |
"\n", |
|
|
1184 |
"#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n", |
|
|
1185 |
" content: \"▾\";\n", |
|
|
1186 |
"}\n", |
|
|
1187 |
"\n", |
|
|
1188 |
"/* Pipeline/ColumnTransformer-specific style */\n", |
|
|
1189 |
"\n", |
|
|
1190 |
"#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
1191 |
" color: var(--sklearn-color-text);\n", |
|
|
1192 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
1193 |
"}\n", |
|
|
1194 |
"\n", |
|
|
1195 |
"#sk-container-id-1 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
1196 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
1197 |
"}\n", |
|
|
1198 |
"\n", |
|
|
1199 |
"/* Estimator-specific style */\n", |
|
|
1200 |
"\n", |
|
|
1201 |
"/* Colorize estimator box */\n", |
|
|
1202 |
"#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
1203 |
" /* unfitted */\n", |
|
|
1204 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
1205 |
"}\n", |
|
|
1206 |
"\n", |
|
|
1207 |
"#sk-container-id-1 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
1208 |
" /* fitted */\n", |
|
|
1209 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
1210 |
"}\n", |
|
|
1211 |
"\n", |
|
|
1212 |
"#sk-container-id-1 div.sk-label label.sk-toggleable__label,\n", |
|
|
1213 |
"#sk-container-id-1 div.sk-label label {\n", |
|
|
1214 |
" /* The background is the default theme color */\n", |
|
|
1215 |
" color: var(--sklearn-color-text-on-default-background);\n", |
|
|
1216 |
"}\n", |
|
|
1217 |
"\n", |
|
|
1218 |
"/* On hover, darken the color of the background */\n", |
|
|
1219 |
"#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {\n", |
|
|
1220 |
" color: var(--sklearn-color-text);\n", |
|
|
1221 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
1222 |
"}\n", |
|
|
1223 |
"\n", |
|
|
1224 |
"/* Label box, darken color on hover, fitted */\n", |
|
|
1225 |
"#sk-container-id-1 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n", |
|
|
1226 |
" color: var(--sklearn-color-text);\n", |
|
|
1227 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
1228 |
"}\n", |
|
|
1229 |
"\n", |
|
|
1230 |
"/* Estimator label */\n", |
|
|
1231 |
"\n", |
|
|
1232 |
"#sk-container-id-1 div.sk-label label {\n", |
|
|
1233 |
" font-family: monospace;\n", |
|
|
1234 |
" font-weight: bold;\n", |
|
|
1235 |
" display: inline-block;\n", |
|
|
1236 |
" line-height: 1.2em;\n", |
|
|
1237 |
"}\n", |
|
|
1238 |
"\n", |
|
|
1239 |
"#sk-container-id-1 div.sk-label-container {\n", |
|
|
1240 |
" text-align: center;\n", |
|
|
1241 |
"}\n", |
|
|
1242 |
"\n", |
|
|
1243 |
"/* Estimator-specific */\n", |
|
|
1244 |
"#sk-container-id-1 div.sk-estimator {\n", |
|
|
1245 |
" font-family: monospace;\n", |
|
|
1246 |
" border: 1px dotted var(--sklearn-color-border-box);\n", |
|
|
1247 |
" border-radius: 0.25em;\n", |
|
|
1248 |
" box-sizing: border-box;\n", |
|
|
1249 |
" margin-bottom: 0.5em;\n", |
|
|
1250 |
" /* unfitted */\n", |
|
|
1251 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
1252 |
"}\n", |
|
|
1253 |
"\n", |
|
|
1254 |
"#sk-container-id-1 div.sk-estimator.fitted {\n", |
|
|
1255 |
" /* fitted */\n", |
|
|
1256 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
1257 |
"}\n", |
|
|
1258 |
"\n", |
|
|
1259 |
"/* on hover */\n", |
|
|
1260 |
"#sk-container-id-1 div.sk-estimator:hover {\n", |
|
|
1261 |
" /* unfitted */\n", |
|
|
1262 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
1263 |
"}\n", |
|
|
1264 |
"\n", |
|
|
1265 |
"#sk-container-id-1 div.sk-estimator.fitted:hover {\n", |
|
|
1266 |
" /* fitted */\n", |
|
|
1267 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
1268 |
"}\n", |
|
|
1269 |
"\n", |
|
|
1270 |
"/* Specification for estimator info (e.g. \"i\" and \"?\") */\n", |
|
|
1271 |
"\n", |
|
|
1272 |
"/* Common style for \"i\" and \"?\" */\n", |
|
|
1273 |
"\n", |
|
|
1274 |
".sk-estimator-doc-link,\n", |
|
|
1275 |
"a:link.sk-estimator-doc-link,\n", |
|
|
1276 |
"a:visited.sk-estimator-doc-link {\n", |
|
|
1277 |
" float: right;\n", |
|
|
1278 |
" font-size: smaller;\n", |
|
|
1279 |
" line-height: 1em;\n", |
|
|
1280 |
" font-family: monospace;\n", |
|
|
1281 |
" background-color: var(--sklearn-color-background);\n", |
|
|
1282 |
" border-radius: 1em;\n", |
|
|
1283 |
" height: 1em;\n", |
|
|
1284 |
" width: 1em;\n", |
|
|
1285 |
" text-decoration: none !important;\n", |
|
|
1286 |
" margin-left: 1ex;\n", |
|
|
1287 |
" /* unfitted */\n", |
|
|
1288 |
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", |
|
|
1289 |
" color: var(--sklearn-color-unfitted-level-1);\n", |
|
|
1290 |
"}\n", |
|
|
1291 |
"\n", |
|
|
1292 |
".sk-estimator-doc-link.fitted,\n", |
|
|
1293 |
"a:link.sk-estimator-doc-link.fitted,\n", |
|
|
1294 |
"a:visited.sk-estimator-doc-link.fitted {\n", |
|
|
1295 |
" /* fitted */\n", |
|
|
1296 |
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", |
|
|
1297 |
" color: var(--sklearn-color-fitted-level-1);\n", |
|
|
1298 |
"}\n", |
|
|
1299 |
"\n", |
|
|
1300 |
"/* On hover */\n", |
|
|
1301 |
"div.sk-estimator:hover .sk-estimator-doc-link:hover,\n", |
|
|
1302 |
".sk-estimator-doc-link:hover,\n", |
|
|
1303 |
"div.sk-label-container:hover .sk-estimator-doc-link:hover,\n", |
|
|
1304 |
".sk-estimator-doc-link:hover {\n", |
|
|
1305 |
" /* unfitted */\n", |
|
|
1306 |
" background-color: var(--sklearn-color-unfitted-level-3);\n", |
|
|
1307 |
" color: var(--sklearn-color-background);\n", |
|
|
1308 |
" text-decoration: none;\n", |
|
|
1309 |
"}\n", |
|
|
1310 |
"\n", |
|
|
1311 |
"div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n", |
|
|
1312 |
".sk-estimator-doc-link.fitted:hover,\n", |
|
|
1313 |
"div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n", |
|
|
1314 |
".sk-estimator-doc-link.fitted:hover {\n", |
|
|
1315 |
" /* fitted */\n", |
|
|
1316 |
" background-color: var(--sklearn-color-fitted-level-3);\n", |
|
|
1317 |
" color: var(--sklearn-color-background);\n", |
|
|
1318 |
" text-decoration: none;\n", |
|
|
1319 |
"}\n", |
|
|
1320 |
"\n", |
|
|
1321 |
"/* Span, style for the box shown on hovering the info icon */\n", |
|
|
1322 |
".sk-estimator-doc-link span {\n", |
|
|
1323 |
" display: none;\n", |
|
|
1324 |
" z-index: 9999;\n", |
|
|
1325 |
" position: relative;\n", |
|
|
1326 |
" font-weight: normal;\n", |
|
|
1327 |
" right: .2ex;\n", |
|
|
1328 |
" padding: .5ex;\n", |
|
|
1329 |
" margin: .5ex;\n", |
|
|
1330 |
" width: min-content;\n", |
|
|
1331 |
" min-width: 20ex;\n", |
|
|
1332 |
" max-width: 50ex;\n", |
|
|
1333 |
" color: var(--sklearn-color-text);\n", |
|
|
1334 |
" box-shadow: 2pt 2pt 4pt #999;\n", |
|
|
1335 |
" /* unfitted */\n", |
|
|
1336 |
" background: var(--sklearn-color-unfitted-level-0);\n", |
|
|
1337 |
" border: .5pt solid var(--sklearn-color-unfitted-level-3);\n", |
|
|
1338 |
"}\n", |
|
|
1339 |
"\n", |
|
|
1340 |
".sk-estimator-doc-link.fitted span {\n", |
|
|
1341 |
" /* fitted */\n", |
|
|
1342 |
" background: var(--sklearn-color-fitted-level-0);\n", |
|
|
1343 |
" border: var(--sklearn-color-fitted-level-3);\n", |
|
|
1344 |
"}\n", |
|
|
1345 |
"\n", |
|
|
1346 |
".sk-estimator-doc-link:hover span {\n", |
|
|
1347 |
" display: block;\n", |
|
|
1348 |
"}\n", |
|
|
1349 |
"\n", |
|
|
1350 |
"/* \"?\"-specific style due to the `<a>` HTML tag */\n", |
|
|
1351 |
"\n", |
|
|
1352 |
"#sk-container-id-1 a.estimator_doc_link {\n", |
|
|
1353 |
" float: right;\n", |
|
|
1354 |
" font-size: 1rem;\n", |
|
|
1355 |
" line-height: 1em;\n", |
|
|
1356 |
" font-family: monospace;\n", |
|
|
1357 |
" background-color: var(--sklearn-color-background);\n", |
|
|
1358 |
" border-radius: 1rem;\n", |
|
|
1359 |
" height: 1rem;\n", |
|
|
1360 |
" width: 1rem;\n", |
|
|
1361 |
" text-decoration: none;\n", |
|
|
1362 |
" /* unfitted */\n", |
|
|
1363 |
" color: var(--sklearn-color-unfitted-level-1);\n", |
|
|
1364 |
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", |
|
|
1365 |
"}\n", |
|
|
1366 |
"\n", |
|
|
1367 |
"#sk-container-id-1 a.estimator_doc_link.fitted {\n", |
|
|
1368 |
" /* fitted */\n", |
|
|
1369 |
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", |
|
|
1370 |
" color: var(--sklearn-color-fitted-level-1);\n", |
|
|
1371 |
"}\n", |
|
|
1372 |
"\n", |
|
|
1373 |
"/* On hover */\n", |
|
|
1374 |
"#sk-container-id-1 a.estimator_doc_link:hover {\n", |
|
|
1375 |
" /* unfitted */\n", |
|
|
1376 |
" background-color: var(--sklearn-color-unfitted-level-3);\n", |
|
|
1377 |
" color: var(--sklearn-color-background);\n", |
|
|
1378 |
" text-decoration: none;\n", |
|
|
1379 |
"}\n", |
|
|
1380 |
"\n", |
|
|
1381 |
"#sk-container-id-1 a.estimator_doc_link.fitted:hover {\n", |
|
|
1382 |
" /* fitted */\n", |
|
|
1383 |
" background-color: var(--sklearn-color-fitted-level-3);\n", |
|
|
1384 |
"}\n", |
|
|
1385 |
"</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LogisticRegression()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\"> LogisticRegression<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.linear_model.LogisticRegression.html\">?<span>Documentation for LogisticRegression</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>LogisticRegression()</pre></div> </div></div></div></div>" |
|
|
1386 |
], |
|
|
1387 |
"text/plain": [ |
|
|
1388 |
"LogisticRegression()" |
|
|
1389 |
] |
|
|
1390 |
}, |
|
|
1391 |
"execution_count": 18, |
|
|
1392 |
"metadata": {}, |
|
|
1393 |
"output_type": "execute_result" |
|
|
1394 |
} |
|
|
1395 |
], |
|
|
1396 |
"source": [ |
|
|
1397 |
"# fitting data to model\n", |
|
|
1398 |
"\n", |
|
|
1399 |
"from sklearn.linear_model import LogisticRegression\n", |
|
|
1400 |
"\n", |
|
|
1401 |
"log_reg = LogisticRegression()\n", |
|
|
1402 |
"log_reg.fit(X_train, y_train)" |
|
|
1403 |
] |
|
|
1404 |
}, |
|
|
1405 |
{ |
|
|
1406 |
"cell_type": "code", |
|
|
1407 |
"execution_count": 19, |
|
|
1408 |
"id": "0c5dee15-65a4-42db-a13e-830bda27448a", |
|
|
1409 |
"metadata": {}, |
|
|
1410 |
"outputs": [], |
|
|
1411 |
"source": [ |
|
|
1412 |
"# model predictions\n", |
|
|
1413 |
"\n", |
|
|
1414 |
"y_pred = log_reg.predict(X_test)" |
|
|
1415 |
] |
|
|
1416 |
}, |
|
|
1417 |
{ |
|
|
1418 |
"cell_type": "code", |
|
|
1419 |
"execution_count": 20, |
|
|
1420 |
"id": "9d60f6bb-7df3-45a3-b7b9-941a3a426bc1", |
|
|
1421 |
"metadata": {}, |
|
|
1422 |
"outputs": [ |
|
|
1423 |
{ |
|
|
1424 |
"name": "stdout", |
|
|
1425 |
"output_type": "stream", |
|
|
1426 |
"text": [ |
|
|
1427 |
"0.9899497487437185\n", |
|
|
1428 |
"0.9590643274853801\n", |
|
|
1429 |
"[[106 2]\n", |
|
|
1430 |
" [ 5 58]]\n", |
|
|
1431 |
" precision recall f1-score support\n", |
|
|
1432 |
"\n", |
|
|
1433 |
" 0 0.95 0.98 0.97 108\n", |
|
|
1434 |
" 1 0.97 0.92 0.94 63\n", |
|
|
1435 |
"\n", |
|
|
1436 |
" accuracy 0.96 171\n", |
|
|
1437 |
" macro avg 0.96 0.95 0.96 171\n", |
|
|
1438 |
"weighted avg 0.96 0.96 0.96 171\n", |
|
|
1439 |
"\n" |
|
|
1440 |
] |
|
|
1441 |
} |
|
|
1442 |
], |
|
|
1443 |
"source": [ |
|
|
1444 |
"# accuracy score\n", |
|
|
1445 |
"\n", |
|
|
1446 |
"from sklearn.metrics import accuracy_score, confusion_matrix, classification_report\n", |
|
|
1447 |
"\n", |
|
|
1448 |
"print(accuracy_score(y_train, log_reg.predict(X_train)))\n", |
|
|
1449 |
"\n", |
|
|
1450 |
"log_reg_acc = accuracy_score(y_test, log_reg.predict(X_test))\n", |
|
|
1451 |
"print(log_reg_acc)\n", |
|
|
1452 |
"\n", |
|
|
1453 |
"# confusion matrix\n", |
|
|
1454 |
"\n", |
|
|
1455 |
"print(confusion_matrix(y_test, y_pred))\n", |
|
|
1456 |
"\n", |
|
|
1457 |
"# classification report\n", |
|
|
1458 |
"\n", |
|
|
1459 |
"print(classification_report(y_test, y_pred))" |
|
|
1460 |
] |
|
|
1461 |
}, |
|
|
1462 |
{ |
|
|
1463 |
"cell_type": "code", |
|
|
1464 |
"execution_count": 21, |
|
|
1465 |
"id": "4562d0a2-f764-4616-bb97-51bfed00c49f", |
|
|
1466 |
"metadata": {}, |
|
|
1467 |
"outputs": [], |
|
|
1468 |
"source": [ |
|
|
1469 |
"#K Neighbors Classifier (KNN)" |
|
|
1470 |
] |
|
|
1471 |
}, |
|
|
1472 |
{ |
|
|
1473 |
"cell_type": "code", |
|
|
1474 |
"execution_count": 22, |
|
|
1475 |
"id": "e5f1df4d-ca96-43a1-8075-f4154f7e8423", |
|
|
1476 |
"metadata": {}, |
|
|
1477 |
"outputs": [ |
|
|
1478 |
{ |
|
|
1479 |
"data": { |
|
|
1480 |
"text/html": [ |
|
|
1481 |
"<style>#sk-container-id-2 {\n", |
|
|
1482 |
" /* Definition of color scheme common for light and dark mode */\n", |
|
|
1483 |
" --sklearn-color-text: black;\n", |
|
|
1484 |
" --sklearn-color-line: gray;\n", |
|
|
1485 |
" /* Definition of color scheme for unfitted estimators */\n", |
|
|
1486 |
" --sklearn-color-unfitted-level-0: #fff5e6;\n", |
|
|
1487 |
" --sklearn-color-unfitted-level-1: #f6e4d2;\n", |
|
|
1488 |
" --sklearn-color-unfitted-level-2: #ffe0b3;\n", |
|
|
1489 |
" --sklearn-color-unfitted-level-3: chocolate;\n", |
|
|
1490 |
" /* Definition of color scheme for fitted estimators */\n", |
|
|
1491 |
" --sklearn-color-fitted-level-0: #f0f8ff;\n", |
|
|
1492 |
" --sklearn-color-fitted-level-1: #d4ebff;\n", |
|
|
1493 |
" --sklearn-color-fitted-level-2: #b3dbfd;\n", |
|
|
1494 |
" --sklearn-color-fitted-level-3: cornflowerblue;\n", |
|
|
1495 |
"\n", |
|
|
1496 |
" /* Specific color for light theme */\n", |
|
|
1497 |
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", |
|
|
1498 |
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n", |
|
|
1499 |
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", |
|
|
1500 |
" --sklearn-color-icon: #696969;\n", |
|
|
1501 |
"\n", |
|
|
1502 |
" @media (prefers-color-scheme: dark) {\n", |
|
|
1503 |
" /* Redefinition of color scheme for dark theme */\n", |
|
|
1504 |
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", |
|
|
1505 |
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n", |
|
|
1506 |
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", |
|
|
1507 |
" --sklearn-color-icon: #878787;\n", |
|
|
1508 |
" }\n", |
|
|
1509 |
"}\n", |
|
|
1510 |
"\n", |
|
|
1511 |
"#sk-container-id-2 {\n", |
|
|
1512 |
" color: var(--sklearn-color-text);\n", |
|
|
1513 |
"}\n", |
|
|
1514 |
"\n", |
|
|
1515 |
"#sk-container-id-2 pre {\n", |
|
|
1516 |
" padding: 0;\n", |
|
|
1517 |
"}\n", |
|
|
1518 |
"\n", |
|
|
1519 |
"#sk-container-id-2 input.sk-hidden--visually {\n", |
|
|
1520 |
" border: 0;\n", |
|
|
1521 |
" clip: rect(1px 1px 1px 1px);\n", |
|
|
1522 |
" clip: rect(1px, 1px, 1px, 1px);\n", |
|
|
1523 |
" height: 1px;\n", |
|
|
1524 |
" margin: -1px;\n", |
|
|
1525 |
" overflow: hidden;\n", |
|
|
1526 |
" padding: 0;\n", |
|
|
1527 |
" position: absolute;\n", |
|
|
1528 |
" width: 1px;\n", |
|
|
1529 |
"}\n", |
|
|
1530 |
"\n", |
|
|
1531 |
"#sk-container-id-2 div.sk-dashed-wrapped {\n", |
|
|
1532 |
" border: 1px dashed var(--sklearn-color-line);\n", |
|
|
1533 |
" margin: 0 0.4em 0.5em 0.4em;\n", |
|
|
1534 |
" box-sizing: border-box;\n", |
|
|
1535 |
" padding-bottom: 0.4em;\n", |
|
|
1536 |
" background-color: var(--sklearn-color-background);\n", |
|
|
1537 |
"}\n", |
|
|
1538 |
"\n", |
|
|
1539 |
"#sk-container-id-2 div.sk-container {\n", |
|
|
1540 |
" /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n", |
|
|
1541 |
" but bootstrap.min.css set `[hidden] { display: none !important; }`\n", |
|
|
1542 |
" so we also need the `!important` here to be able to override the\n", |
|
|
1543 |
" default hidden behavior on the sphinx rendered scikit-learn.org.\n", |
|
|
1544 |
" See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n", |
|
|
1545 |
" display: inline-block !important;\n", |
|
|
1546 |
" position: relative;\n", |
|
|
1547 |
"}\n", |
|
|
1548 |
"\n", |
|
|
1549 |
"#sk-container-id-2 div.sk-text-repr-fallback {\n", |
|
|
1550 |
" display: none;\n", |
|
|
1551 |
"}\n", |
|
|
1552 |
"\n", |
|
|
1553 |
"div.sk-parallel-item,\n", |
|
|
1554 |
"div.sk-serial,\n", |
|
|
1555 |
"div.sk-item {\n", |
|
|
1556 |
" /* draw centered vertical line to link estimators */\n", |
|
|
1557 |
" background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n", |
|
|
1558 |
" background-size: 2px 100%;\n", |
|
|
1559 |
" background-repeat: no-repeat;\n", |
|
|
1560 |
" background-position: center center;\n", |
|
|
1561 |
"}\n", |
|
|
1562 |
"\n", |
|
|
1563 |
"/* Parallel-specific style estimator block */\n", |
|
|
1564 |
"\n", |
|
|
1565 |
"#sk-container-id-2 div.sk-parallel-item::after {\n", |
|
|
1566 |
" content: \"\";\n", |
|
|
1567 |
" width: 100%;\n", |
|
|
1568 |
" border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n", |
|
|
1569 |
" flex-grow: 1;\n", |
|
|
1570 |
"}\n", |
|
|
1571 |
"\n", |
|
|
1572 |
"#sk-container-id-2 div.sk-parallel {\n", |
|
|
1573 |
" display: flex;\n", |
|
|
1574 |
" align-items: stretch;\n", |
|
|
1575 |
" justify-content: center;\n", |
|
|
1576 |
" background-color: var(--sklearn-color-background);\n", |
|
|
1577 |
" position: relative;\n", |
|
|
1578 |
"}\n", |
|
|
1579 |
"\n", |
|
|
1580 |
"#sk-container-id-2 div.sk-parallel-item {\n", |
|
|
1581 |
" display: flex;\n", |
|
|
1582 |
" flex-direction: column;\n", |
|
|
1583 |
"}\n", |
|
|
1584 |
"\n", |
|
|
1585 |
"#sk-container-id-2 div.sk-parallel-item:first-child::after {\n", |
|
|
1586 |
" align-self: flex-end;\n", |
|
|
1587 |
" width: 50%;\n", |
|
|
1588 |
"}\n", |
|
|
1589 |
"\n", |
|
|
1590 |
"#sk-container-id-2 div.sk-parallel-item:last-child::after {\n", |
|
|
1591 |
" align-self: flex-start;\n", |
|
|
1592 |
" width: 50%;\n", |
|
|
1593 |
"}\n", |
|
|
1594 |
"\n", |
|
|
1595 |
"#sk-container-id-2 div.sk-parallel-item:only-child::after {\n", |
|
|
1596 |
" width: 0;\n", |
|
|
1597 |
"}\n", |
|
|
1598 |
"\n", |
|
|
1599 |
"/* Serial-specific style estimator block */\n", |
|
|
1600 |
"\n", |
|
|
1601 |
"#sk-container-id-2 div.sk-serial {\n", |
|
|
1602 |
" display: flex;\n", |
|
|
1603 |
" flex-direction: column;\n", |
|
|
1604 |
" align-items: center;\n", |
|
|
1605 |
" background-color: var(--sklearn-color-background);\n", |
|
|
1606 |
" padding-right: 1em;\n", |
|
|
1607 |
" padding-left: 1em;\n", |
|
|
1608 |
"}\n", |
|
|
1609 |
"\n", |
|
|
1610 |
"\n", |
|
|
1611 |
"/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n", |
|
|
1612 |
"clickable and can be expanded/collapsed.\n", |
|
|
1613 |
"- Pipeline and ColumnTransformer use this feature and define the default style\n", |
|
|
1614 |
"- Estimators will overwrite some part of the style using the `sk-estimator` class\n", |
|
|
1615 |
"*/\n", |
|
|
1616 |
"\n", |
|
|
1617 |
"/* Pipeline and ColumnTransformer style (default) */\n", |
|
|
1618 |
"\n", |
|
|
1619 |
"#sk-container-id-2 div.sk-toggleable {\n", |
|
|
1620 |
" /* Default theme specific background. It is overwritten whether we have a\n", |
|
|
1621 |
" specific estimator or a Pipeline/ColumnTransformer */\n", |
|
|
1622 |
" background-color: var(--sklearn-color-background);\n", |
|
|
1623 |
"}\n", |
|
|
1624 |
"\n", |
|
|
1625 |
"/* Toggleable label */\n", |
|
|
1626 |
"#sk-container-id-2 label.sk-toggleable__label {\n", |
|
|
1627 |
" cursor: pointer;\n", |
|
|
1628 |
" display: block;\n", |
|
|
1629 |
" width: 100%;\n", |
|
|
1630 |
" margin-bottom: 0;\n", |
|
|
1631 |
" padding: 0.5em;\n", |
|
|
1632 |
" box-sizing: border-box;\n", |
|
|
1633 |
" text-align: center;\n", |
|
|
1634 |
"}\n", |
|
|
1635 |
"\n", |
|
|
1636 |
"#sk-container-id-2 label.sk-toggleable__label-arrow:before {\n", |
|
|
1637 |
" /* Arrow on the left of the label */\n", |
|
|
1638 |
" content: \"▸\";\n", |
|
|
1639 |
" float: left;\n", |
|
|
1640 |
" margin-right: 0.25em;\n", |
|
|
1641 |
" color: var(--sklearn-color-icon);\n", |
|
|
1642 |
"}\n", |
|
|
1643 |
"\n", |
|
|
1644 |
"#sk-container-id-2 label.sk-toggleable__label-arrow:hover:before {\n", |
|
|
1645 |
" color: var(--sklearn-color-text);\n", |
|
|
1646 |
"}\n", |
|
|
1647 |
"\n", |
|
|
1648 |
"/* Toggleable content - dropdown */\n", |
|
|
1649 |
"\n", |
|
|
1650 |
"#sk-container-id-2 div.sk-toggleable__content {\n", |
|
|
1651 |
" max-height: 0;\n", |
|
|
1652 |
" max-width: 0;\n", |
|
|
1653 |
" overflow: hidden;\n", |
|
|
1654 |
" text-align: left;\n", |
|
|
1655 |
" /* unfitted */\n", |
|
|
1656 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
1657 |
"}\n", |
|
|
1658 |
"\n", |
|
|
1659 |
"#sk-container-id-2 div.sk-toggleable__content.fitted {\n", |
|
|
1660 |
" /* fitted */\n", |
|
|
1661 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
1662 |
"}\n", |
|
|
1663 |
"\n", |
|
|
1664 |
"#sk-container-id-2 div.sk-toggleable__content pre {\n", |
|
|
1665 |
" margin: 0.2em;\n", |
|
|
1666 |
" border-radius: 0.25em;\n", |
|
|
1667 |
" color: var(--sklearn-color-text);\n", |
|
|
1668 |
" /* unfitted */\n", |
|
|
1669 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
1670 |
"}\n", |
|
|
1671 |
"\n", |
|
|
1672 |
"#sk-container-id-2 div.sk-toggleable__content.fitted pre {\n", |
|
|
1673 |
" /* unfitted */\n", |
|
|
1674 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
1675 |
"}\n", |
|
|
1676 |
"\n", |
|
|
1677 |
"#sk-container-id-2 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n", |
|
|
1678 |
" /* Expand drop-down */\n", |
|
|
1679 |
" max-height: 200px;\n", |
|
|
1680 |
" max-width: 100%;\n", |
|
|
1681 |
" overflow: auto;\n", |
|
|
1682 |
"}\n", |
|
|
1683 |
"\n", |
|
|
1684 |
"#sk-container-id-2 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n", |
|
|
1685 |
" content: \"▾\";\n", |
|
|
1686 |
"}\n", |
|
|
1687 |
"\n", |
|
|
1688 |
"/* Pipeline/ColumnTransformer-specific style */\n", |
|
|
1689 |
"\n", |
|
|
1690 |
"#sk-container-id-2 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
1691 |
" color: var(--sklearn-color-text);\n", |
|
|
1692 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
1693 |
"}\n", |
|
|
1694 |
"\n", |
|
|
1695 |
"#sk-container-id-2 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
1696 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
1697 |
"}\n", |
|
|
1698 |
"\n", |
|
|
1699 |
"/* Estimator-specific style */\n", |
|
|
1700 |
"\n", |
|
|
1701 |
"/* Colorize estimator box */\n", |
|
|
1702 |
"#sk-container-id-2 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
1703 |
" /* unfitted */\n", |
|
|
1704 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
1705 |
"}\n", |
|
|
1706 |
"\n", |
|
|
1707 |
"#sk-container-id-2 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
1708 |
" /* fitted */\n", |
|
|
1709 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
1710 |
"}\n", |
|
|
1711 |
"\n", |
|
|
1712 |
"#sk-container-id-2 div.sk-label label.sk-toggleable__label,\n", |
|
|
1713 |
"#sk-container-id-2 div.sk-label label {\n", |
|
|
1714 |
" /* The background is the default theme color */\n", |
|
|
1715 |
" color: var(--sklearn-color-text-on-default-background);\n", |
|
|
1716 |
"}\n", |
|
|
1717 |
"\n", |
|
|
1718 |
"/* On hover, darken the color of the background */\n", |
|
|
1719 |
"#sk-container-id-2 div.sk-label:hover label.sk-toggleable__label {\n", |
|
|
1720 |
" color: var(--sklearn-color-text);\n", |
|
|
1721 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
1722 |
"}\n", |
|
|
1723 |
"\n", |
|
|
1724 |
"/* Label box, darken color on hover, fitted */\n", |
|
|
1725 |
"#sk-container-id-2 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n", |
|
|
1726 |
" color: var(--sklearn-color-text);\n", |
|
|
1727 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
1728 |
"}\n", |
|
|
1729 |
"\n", |
|
|
1730 |
"/* Estimator label */\n", |
|
|
1731 |
"\n", |
|
|
1732 |
"#sk-container-id-2 div.sk-label label {\n", |
|
|
1733 |
" font-family: monospace;\n", |
|
|
1734 |
" font-weight: bold;\n", |
|
|
1735 |
" display: inline-block;\n", |
|
|
1736 |
" line-height: 1.2em;\n", |
|
|
1737 |
"}\n", |
|
|
1738 |
"\n", |
|
|
1739 |
"#sk-container-id-2 div.sk-label-container {\n", |
|
|
1740 |
" text-align: center;\n", |
|
|
1741 |
"}\n", |
|
|
1742 |
"\n", |
|
|
1743 |
"/* Estimator-specific */\n", |
|
|
1744 |
"#sk-container-id-2 div.sk-estimator {\n", |
|
|
1745 |
" font-family: monospace;\n", |
|
|
1746 |
" border: 1px dotted var(--sklearn-color-border-box);\n", |
|
|
1747 |
" border-radius: 0.25em;\n", |
|
|
1748 |
" box-sizing: border-box;\n", |
|
|
1749 |
" margin-bottom: 0.5em;\n", |
|
|
1750 |
" /* unfitted */\n", |
|
|
1751 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
1752 |
"}\n", |
|
|
1753 |
"\n", |
|
|
1754 |
"#sk-container-id-2 div.sk-estimator.fitted {\n", |
|
|
1755 |
" /* fitted */\n", |
|
|
1756 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
1757 |
"}\n", |
|
|
1758 |
"\n", |
|
|
1759 |
"/* on hover */\n", |
|
|
1760 |
"#sk-container-id-2 div.sk-estimator:hover {\n", |
|
|
1761 |
" /* unfitted */\n", |
|
|
1762 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
1763 |
"}\n", |
|
|
1764 |
"\n", |
|
|
1765 |
"#sk-container-id-2 div.sk-estimator.fitted:hover {\n", |
|
|
1766 |
" /* fitted */\n", |
|
|
1767 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
1768 |
"}\n", |
|
|
1769 |
"\n", |
|
|
1770 |
"/* Specification for estimator info (e.g. \"i\" and \"?\") */\n", |
|
|
1771 |
"\n", |
|
|
1772 |
"/* Common style for \"i\" and \"?\" */\n", |
|
|
1773 |
"\n", |
|
|
1774 |
".sk-estimator-doc-link,\n", |
|
|
1775 |
"a:link.sk-estimator-doc-link,\n", |
|
|
1776 |
"a:visited.sk-estimator-doc-link {\n", |
|
|
1777 |
" float: right;\n", |
|
|
1778 |
" font-size: smaller;\n", |
|
|
1779 |
" line-height: 1em;\n", |
|
|
1780 |
" font-family: monospace;\n", |
|
|
1781 |
" background-color: var(--sklearn-color-background);\n", |
|
|
1782 |
" border-radius: 1em;\n", |
|
|
1783 |
" height: 1em;\n", |
|
|
1784 |
" width: 1em;\n", |
|
|
1785 |
" text-decoration: none !important;\n", |
|
|
1786 |
" margin-left: 1ex;\n", |
|
|
1787 |
" /* unfitted */\n", |
|
|
1788 |
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", |
|
|
1789 |
" color: var(--sklearn-color-unfitted-level-1);\n", |
|
|
1790 |
"}\n", |
|
|
1791 |
"\n", |
|
|
1792 |
".sk-estimator-doc-link.fitted,\n", |
|
|
1793 |
"a:link.sk-estimator-doc-link.fitted,\n", |
|
|
1794 |
"a:visited.sk-estimator-doc-link.fitted {\n", |
|
|
1795 |
" /* fitted */\n", |
|
|
1796 |
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", |
|
|
1797 |
" color: var(--sklearn-color-fitted-level-1);\n", |
|
|
1798 |
"}\n", |
|
|
1799 |
"\n", |
|
|
1800 |
"/* On hover */\n", |
|
|
1801 |
"div.sk-estimator:hover .sk-estimator-doc-link:hover,\n", |
|
|
1802 |
".sk-estimator-doc-link:hover,\n", |
|
|
1803 |
"div.sk-label-container:hover .sk-estimator-doc-link:hover,\n", |
|
|
1804 |
".sk-estimator-doc-link:hover {\n", |
|
|
1805 |
" /* unfitted */\n", |
|
|
1806 |
" background-color: var(--sklearn-color-unfitted-level-3);\n", |
|
|
1807 |
" color: var(--sklearn-color-background);\n", |
|
|
1808 |
" text-decoration: none;\n", |
|
|
1809 |
"}\n", |
|
|
1810 |
"\n", |
|
|
1811 |
"div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n", |
|
|
1812 |
".sk-estimator-doc-link.fitted:hover,\n", |
|
|
1813 |
"div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n", |
|
|
1814 |
".sk-estimator-doc-link.fitted:hover {\n", |
|
|
1815 |
" /* fitted */\n", |
|
|
1816 |
" background-color: var(--sklearn-color-fitted-level-3);\n", |
|
|
1817 |
" color: var(--sklearn-color-background);\n", |
|
|
1818 |
" text-decoration: none;\n", |
|
|
1819 |
"}\n", |
|
|
1820 |
"\n", |
|
|
1821 |
"/* Span, style for the box shown on hovering the info icon */\n", |
|
|
1822 |
".sk-estimator-doc-link span {\n", |
|
|
1823 |
" display: none;\n", |
|
|
1824 |
" z-index: 9999;\n", |
|
|
1825 |
" position: relative;\n", |
|
|
1826 |
" font-weight: normal;\n", |
|
|
1827 |
" right: .2ex;\n", |
|
|
1828 |
" padding: .5ex;\n", |
|
|
1829 |
" margin: .5ex;\n", |
|
|
1830 |
" width: min-content;\n", |
|
|
1831 |
" min-width: 20ex;\n", |
|
|
1832 |
" max-width: 50ex;\n", |
|
|
1833 |
" color: var(--sklearn-color-text);\n", |
|
|
1834 |
" box-shadow: 2pt 2pt 4pt #999;\n", |
|
|
1835 |
" /* unfitted */\n", |
|
|
1836 |
" background: var(--sklearn-color-unfitted-level-0);\n", |
|
|
1837 |
" border: .5pt solid var(--sklearn-color-unfitted-level-3);\n", |
|
|
1838 |
"}\n", |
|
|
1839 |
"\n", |
|
|
1840 |
".sk-estimator-doc-link.fitted span {\n", |
|
|
1841 |
" /* fitted */\n", |
|
|
1842 |
" background: var(--sklearn-color-fitted-level-0);\n", |
|
|
1843 |
" border: var(--sklearn-color-fitted-level-3);\n", |
|
|
1844 |
"}\n", |
|
|
1845 |
"\n", |
|
|
1846 |
".sk-estimator-doc-link:hover span {\n", |
|
|
1847 |
" display: block;\n", |
|
|
1848 |
"}\n", |
|
|
1849 |
"\n", |
|
|
1850 |
"/* \"?\"-specific style due to the `<a>` HTML tag */\n", |
|
|
1851 |
"\n", |
|
|
1852 |
"#sk-container-id-2 a.estimator_doc_link {\n", |
|
|
1853 |
" float: right;\n", |
|
|
1854 |
" font-size: 1rem;\n", |
|
|
1855 |
" line-height: 1em;\n", |
|
|
1856 |
" font-family: monospace;\n", |
|
|
1857 |
" background-color: var(--sklearn-color-background);\n", |
|
|
1858 |
" border-radius: 1rem;\n", |
|
|
1859 |
" height: 1rem;\n", |
|
|
1860 |
" width: 1rem;\n", |
|
|
1861 |
" text-decoration: none;\n", |
|
|
1862 |
" /* unfitted */\n", |
|
|
1863 |
" color: var(--sklearn-color-unfitted-level-1);\n", |
|
|
1864 |
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", |
|
|
1865 |
"}\n", |
|
|
1866 |
"\n", |
|
|
1867 |
"#sk-container-id-2 a.estimator_doc_link.fitted {\n", |
|
|
1868 |
" /* fitted */\n", |
|
|
1869 |
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", |
|
|
1870 |
" color: var(--sklearn-color-fitted-level-1);\n", |
|
|
1871 |
"}\n", |
|
|
1872 |
"\n", |
|
|
1873 |
"/* On hover */\n", |
|
|
1874 |
"#sk-container-id-2 a.estimator_doc_link:hover {\n", |
|
|
1875 |
" /* unfitted */\n", |
|
|
1876 |
" background-color: var(--sklearn-color-unfitted-level-3);\n", |
|
|
1877 |
" color: var(--sklearn-color-background);\n", |
|
|
1878 |
" text-decoration: none;\n", |
|
|
1879 |
"}\n", |
|
|
1880 |
"\n", |
|
|
1881 |
"#sk-container-id-2 a.estimator_doc_link.fitted:hover {\n", |
|
|
1882 |
" /* fitted */\n", |
|
|
1883 |
" background-color: var(--sklearn-color-fitted-level-3);\n", |
|
|
1884 |
"}\n", |
|
|
1885 |
"</style><div id=\"sk-container-id-2\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>KNeighborsClassifier()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-2\" type=\"checkbox\" checked><label for=\"sk-estimator-id-2\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\"> KNeighborsClassifier<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.neighbors.KNeighborsClassifier.html\">?<span>Documentation for KNeighborsClassifier</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>KNeighborsClassifier()</pre></div> </div></div></div></div>" |
|
|
1886 |
], |
|
|
1887 |
"text/plain": [ |
|
|
1888 |
"KNeighborsClassifier()" |
|
|
1889 |
] |
|
|
1890 |
}, |
|
|
1891 |
"execution_count": 22, |
|
|
1892 |
"metadata": {}, |
|
|
1893 |
"output_type": "execute_result" |
|
|
1894 |
} |
|
|
1895 |
], |
|
|
1896 |
"source": [ |
|
|
1897 |
"from sklearn.neighbors import KNeighborsClassifier\n", |
|
|
1898 |
"\n", |
|
|
1899 |
"knn = KNeighborsClassifier()\n", |
|
|
1900 |
"knn.fit(X_train, y_train)" |
|
|
1901 |
] |
|
|
1902 |
}, |
|
|
1903 |
{ |
|
|
1904 |
"cell_type": "code", |
|
|
1905 |
"execution_count": 23, |
|
|
1906 |
"id": "6b97f6ac-8aaf-4d21-bb52-7daf80946b1b", |
|
|
1907 |
"metadata": {}, |
|
|
1908 |
"outputs": [], |
|
|
1909 |
"source": [ |
|
|
1910 |
"# model predictions \n", |
|
|
1911 |
"\n", |
|
|
1912 |
"y_pred = knn.predict(X_test)" |
|
|
1913 |
] |
|
|
1914 |
}, |
|
|
1915 |
{ |
|
|
1916 |
"cell_type": "code", |
|
|
1917 |
"execution_count": 24, |
|
|
1918 |
"id": "b5c9a2e3-f6c1-4b0d-b3fb-3062a1f94601", |
|
|
1919 |
"metadata": {}, |
|
|
1920 |
"outputs": [ |
|
|
1921 |
{ |
|
|
1922 |
"name": "stdout", |
|
|
1923 |
"output_type": "stream", |
|
|
1924 |
"text": [ |
|
|
1925 |
"0.9623115577889447\n", |
|
|
1926 |
"0.935672514619883\n" |
|
|
1927 |
] |
|
|
1928 |
} |
|
|
1929 |
], |
|
|
1930 |
"source": [ |
|
|
1931 |
"# accuracy score\n", |
|
|
1932 |
"\n", |
|
|
1933 |
"print(accuracy_score(y_train, knn.predict(X_train)))\n", |
|
|
1934 |
"\n", |
|
|
1935 |
"knn_acc = accuracy_score(y_test, knn.predict(X_test))\n", |
|
|
1936 |
"print(knn_acc)" |
|
|
1937 |
] |
|
|
1938 |
}, |
|
|
1939 |
{ |
|
|
1940 |
"cell_type": "code", |
|
|
1941 |
"execution_count": 25, |
|
|
1942 |
"id": "e883bd32-64a0-4b11-acfb-caaf79e2e4d4", |
|
|
1943 |
"metadata": {}, |
|
|
1944 |
"outputs": [ |
|
|
1945 |
{ |
|
|
1946 |
"name": "stdout", |
|
|
1947 |
"output_type": "stream", |
|
|
1948 |
"text": [ |
|
|
1949 |
"[[105 3]\n", |
|
|
1950 |
" [ 8 55]]\n" |
|
|
1951 |
] |
|
|
1952 |
} |
|
|
1953 |
], |
|
|
1954 |
"source": [ |
|
|
1955 |
"# confusion matrix\n", |
|
|
1956 |
"\n", |
|
|
1957 |
"print(confusion_matrix(y_test, y_pred))" |
|
|
1958 |
] |
|
|
1959 |
}, |
|
|
1960 |
{ |
|
|
1961 |
"cell_type": "code", |
|
|
1962 |
"execution_count": 26, |
|
|
1963 |
"id": "f7efba3c-78c6-416e-a0a6-37b3e1274792", |
|
|
1964 |
"metadata": {}, |
|
|
1965 |
"outputs": [ |
|
|
1966 |
{ |
|
|
1967 |
"name": "stdout", |
|
|
1968 |
"output_type": "stream", |
|
|
1969 |
"text": [ |
|
|
1970 |
" precision recall f1-score support\n", |
|
|
1971 |
"\n", |
|
|
1972 |
" 0 0.93 0.97 0.95 108\n", |
|
|
1973 |
" 1 0.95 0.87 0.91 63\n", |
|
|
1974 |
"\n", |
|
|
1975 |
" accuracy 0.94 171\n", |
|
|
1976 |
" macro avg 0.94 0.92 0.93 171\n", |
|
|
1977 |
"weighted avg 0.94 0.94 0.94 171\n", |
|
|
1978 |
"\n" |
|
|
1979 |
] |
|
|
1980 |
} |
|
|
1981 |
], |
|
|
1982 |
"source": [ |
|
|
1983 |
"# classification report\n", |
|
|
1984 |
"\n", |
|
|
1985 |
"print(classification_report(y_test, y_pred))" |
|
|
1986 |
] |
|
|
1987 |
}, |
|
|
1988 |
{ |
|
|
1989 |
"cell_type": "code", |
|
|
1990 |
"execution_count": 27, |
|
|
1991 |
"id": "257247cb-3666-4f34-9fcb-4f577a0f76d0", |
|
|
1992 |
"metadata": {}, |
|
|
1993 |
"outputs": [], |
|
|
1994 |
"source": [ |
|
|
1995 |
"#Support Vector Machine (SVM)" |
|
|
1996 |
] |
|
|
1997 |
}, |
|
|
1998 |
{ |
|
|
1999 |
"cell_type": "code", |
|
|
2000 |
"execution_count": 28, |
|
|
2001 |
"id": "9b313b13-c437-4a06-8dbd-687744187b8e", |
|
|
2002 |
"metadata": {}, |
|
|
2003 |
"outputs": [ |
|
|
2004 |
{ |
|
|
2005 |
"data": { |
|
|
2006 |
"text/html": [ |
|
|
2007 |
"<style>#sk-container-id-3 {\n", |
|
|
2008 |
" /* Definition of color scheme common for light and dark mode */\n", |
|
|
2009 |
" --sklearn-color-text: black;\n", |
|
|
2010 |
" --sklearn-color-line: gray;\n", |
|
|
2011 |
" /* Definition of color scheme for unfitted estimators */\n", |
|
|
2012 |
" --sklearn-color-unfitted-level-0: #fff5e6;\n", |
|
|
2013 |
" --sklearn-color-unfitted-level-1: #f6e4d2;\n", |
|
|
2014 |
" --sklearn-color-unfitted-level-2: #ffe0b3;\n", |
|
|
2015 |
" --sklearn-color-unfitted-level-3: chocolate;\n", |
|
|
2016 |
" /* Definition of color scheme for fitted estimators */\n", |
|
|
2017 |
" --sklearn-color-fitted-level-0: #f0f8ff;\n", |
|
|
2018 |
" --sklearn-color-fitted-level-1: #d4ebff;\n", |
|
|
2019 |
" --sklearn-color-fitted-level-2: #b3dbfd;\n", |
|
|
2020 |
" --sklearn-color-fitted-level-3: cornflowerblue;\n", |
|
|
2021 |
"\n", |
|
|
2022 |
" /* Specific color for light theme */\n", |
|
|
2023 |
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", |
|
|
2024 |
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n", |
|
|
2025 |
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", |
|
|
2026 |
" --sklearn-color-icon: #696969;\n", |
|
|
2027 |
"\n", |
|
|
2028 |
" @media (prefers-color-scheme: dark) {\n", |
|
|
2029 |
" /* Redefinition of color scheme for dark theme */\n", |
|
|
2030 |
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", |
|
|
2031 |
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n", |
|
|
2032 |
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", |
|
|
2033 |
" --sklearn-color-icon: #878787;\n", |
|
|
2034 |
" }\n", |
|
|
2035 |
"}\n", |
|
|
2036 |
"\n", |
|
|
2037 |
"#sk-container-id-3 {\n", |
|
|
2038 |
" color: var(--sklearn-color-text);\n", |
|
|
2039 |
"}\n", |
|
|
2040 |
"\n", |
|
|
2041 |
"#sk-container-id-3 pre {\n", |
|
|
2042 |
" padding: 0;\n", |
|
|
2043 |
"}\n", |
|
|
2044 |
"\n", |
|
|
2045 |
"#sk-container-id-3 input.sk-hidden--visually {\n", |
|
|
2046 |
" border: 0;\n", |
|
|
2047 |
" clip: rect(1px 1px 1px 1px);\n", |
|
|
2048 |
" clip: rect(1px, 1px, 1px, 1px);\n", |
|
|
2049 |
" height: 1px;\n", |
|
|
2050 |
" margin: -1px;\n", |
|
|
2051 |
" overflow: hidden;\n", |
|
|
2052 |
" padding: 0;\n", |
|
|
2053 |
" position: absolute;\n", |
|
|
2054 |
" width: 1px;\n", |
|
|
2055 |
"}\n", |
|
|
2056 |
"\n", |
|
|
2057 |
"#sk-container-id-3 div.sk-dashed-wrapped {\n", |
|
|
2058 |
" border: 1px dashed var(--sklearn-color-line);\n", |
|
|
2059 |
" margin: 0 0.4em 0.5em 0.4em;\n", |
|
|
2060 |
" box-sizing: border-box;\n", |
|
|
2061 |
" padding-bottom: 0.4em;\n", |
|
|
2062 |
" background-color: var(--sklearn-color-background);\n", |
|
|
2063 |
"}\n", |
|
|
2064 |
"\n", |
|
|
2065 |
"#sk-container-id-3 div.sk-container {\n", |
|
|
2066 |
" /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n", |
|
|
2067 |
" but bootstrap.min.css set `[hidden] { display: none !important; }`\n", |
|
|
2068 |
" so we also need the `!important` here to be able to override the\n", |
|
|
2069 |
" default hidden behavior on the sphinx rendered scikit-learn.org.\n", |
|
|
2070 |
" See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n", |
|
|
2071 |
" display: inline-block !important;\n", |
|
|
2072 |
" position: relative;\n", |
|
|
2073 |
"}\n", |
|
|
2074 |
"\n", |
|
|
2075 |
"#sk-container-id-3 div.sk-text-repr-fallback {\n", |
|
|
2076 |
" display: none;\n", |
|
|
2077 |
"}\n", |
|
|
2078 |
"\n", |
|
|
2079 |
"div.sk-parallel-item,\n", |
|
|
2080 |
"div.sk-serial,\n", |
|
|
2081 |
"div.sk-item {\n", |
|
|
2082 |
" /* draw centered vertical line to link estimators */\n", |
|
|
2083 |
" background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n", |
|
|
2084 |
" background-size: 2px 100%;\n", |
|
|
2085 |
" background-repeat: no-repeat;\n", |
|
|
2086 |
" background-position: center center;\n", |
|
|
2087 |
"}\n", |
|
|
2088 |
"\n", |
|
|
2089 |
"/* Parallel-specific style estimator block */\n", |
|
|
2090 |
"\n", |
|
|
2091 |
"#sk-container-id-3 div.sk-parallel-item::after {\n", |
|
|
2092 |
" content: \"\";\n", |
|
|
2093 |
" width: 100%;\n", |
|
|
2094 |
" border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n", |
|
|
2095 |
" flex-grow: 1;\n", |
|
|
2096 |
"}\n", |
|
|
2097 |
"\n", |
|
|
2098 |
"#sk-container-id-3 div.sk-parallel {\n", |
|
|
2099 |
" display: flex;\n", |
|
|
2100 |
" align-items: stretch;\n", |
|
|
2101 |
" justify-content: center;\n", |
|
|
2102 |
" background-color: var(--sklearn-color-background);\n", |
|
|
2103 |
" position: relative;\n", |
|
|
2104 |
"}\n", |
|
|
2105 |
"\n", |
|
|
2106 |
"#sk-container-id-3 div.sk-parallel-item {\n", |
|
|
2107 |
" display: flex;\n", |
|
|
2108 |
" flex-direction: column;\n", |
|
|
2109 |
"}\n", |
|
|
2110 |
"\n", |
|
|
2111 |
"#sk-container-id-3 div.sk-parallel-item:first-child::after {\n", |
|
|
2112 |
" align-self: flex-end;\n", |
|
|
2113 |
" width: 50%;\n", |
|
|
2114 |
"}\n", |
|
|
2115 |
"\n", |
|
|
2116 |
"#sk-container-id-3 div.sk-parallel-item:last-child::after {\n", |
|
|
2117 |
" align-self: flex-start;\n", |
|
|
2118 |
" width: 50%;\n", |
|
|
2119 |
"}\n", |
|
|
2120 |
"\n", |
|
|
2121 |
"#sk-container-id-3 div.sk-parallel-item:only-child::after {\n", |
|
|
2122 |
" width: 0;\n", |
|
|
2123 |
"}\n", |
|
|
2124 |
"\n", |
|
|
2125 |
"/* Serial-specific style estimator block */\n", |
|
|
2126 |
"\n", |
|
|
2127 |
"#sk-container-id-3 div.sk-serial {\n", |
|
|
2128 |
" display: flex;\n", |
|
|
2129 |
" flex-direction: column;\n", |
|
|
2130 |
" align-items: center;\n", |
|
|
2131 |
" background-color: var(--sklearn-color-background);\n", |
|
|
2132 |
" padding-right: 1em;\n", |
|
|
2133 |
" padding-left: 1em;\n", |
|
|
2134 |
"}\n", |
|
|
2135 |
"\n", |
|
|
2136 |
"\n", |
|
|
2137 |
"/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n", |
|
|
2138 |
"clickable and can be expanded/collapsed.\n", |
|
|
2139 |
"- Pipeline and ColumnTransformer use this feature and define the default style\n", |
|
|
2140 |
"- Estimators will overwrite some part of the style using the `sk-estimator` class\n", |
|
|
2141 |
"*/\n", |
|
|
2142 |
"\n", |
|
|
2143 |
"/* Pipeline and ColumnTransformer style (default) */\n", |
|
|
2144 |
"\n", |
|
|
2145 |
"#sk-container-id-3 div.sk-toggleable {\n", |
|
|
2146 |
" /* Default theme specific background. It is overwritten whether we have a\n", |
|
|
2147 |
" specific estimator or a Pipeline/ColumnTransformer */\n", |
|
|
2148 |
" background-color: var(--sklearn-color-background);\n", |
|
|
2149 |
"}\n", |
|
|
2150 |
"\n", |
|
|
2151 |
"/* Toggleable label */\n", |
|
|
2152 |
"#sk-container-id-3 label.sk-toggleable__label {\n", |
|
|
2153 |
" cursor: pointer;\n", |
|
|
2154 |
" display: block;\n", |
|
|
2155 |
" width: 100%;\n", |
|
|
2156 |
" margin-bottom: 0;\n", |
|
|
2157 |
" padding: 0.5em;\n", |
|
|
2158 |
" box-sizing: border-box;\n", |
|
|
2159 |
" text-align: center;\n", |
|
|
2160 |
"}\n", |
|
|
2161 |
"\n", |
|
|
2162 |
"#sk-container-id-3 label.sk-toggleable__label-arrow:before {\n", |
|
|
2163 |
" /* Arrow on the left of the label */\n", |
|
|
2164 |
" content: \"▸\";\n", |
|
|
2165 |
" float: left;\n", |
|
|
2166 |
" margin-right: 0.25em;\n", |
|
|
2167 |
" color: var(--sklearn-color-icon);\n", |
|
|
2168 |
"}\n", |
|
|
2169 |
"\n", |
|
|
2170 |
"#sk-container-id-3 label.sk-toggleable__label-arrow:hover:before {\n", |
|
|
2171 |
" color: var(--sklearn-color-text);\n", |
|
|
2172 |
"}\n", |
|
|
2173 |
"\n", |
|
|
2174 |
"/* Toggleable content - dropdown */\n", |
|
|
2175 |
"\n", |
|
|
2176 |
"#sk-container-id-3 div.sk-toggleable__content {\n", |
|
|
2177 |
" max-height: 0;\n", |
|
|
2178 |
" max-width: 0;\n", |
|
|
2179 |
" overflow: hidden;\n", |
|
|
2180 |
" text-align: left;\n", |
|
|
2181 |
" /* unfitted */\n", |
|
|
2182 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
2183 |
"}\n", |
|
|
2184 |
"\n", |
|
|
2185 |
"#sk-container-id-3 div.sk-toggleable__content.fitted {\n", |
|
|
2186 |
" /* fitted */\n", |
|
|
2187 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
2188 |
"}\n", |
|
|
2189 |
"\n", |
|
|
2190 |
"#sk-container-id-3 div.sk-toggleable__content pre {\n", |
|
|
2191 |
" margin: 0.2em;\n", |
|
|
2192 |
" border-radius: 0.25em;\n", |
|
|
2193 |
" color: var(--sklearn-color-text);\n", |
|
|
2194 |
" /* unfitted */\n", |
|
|
2195 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
2196 |
"}\n", |
|
|
2197 |
"\n", |
|
|
2198 |
"#sk-container-id-3 div.sk-toggleable__content.fitted pre {\n", |
|
|
2199 |
" /* unfitted */\n", |
|
|
2200 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
2201 |
"}\n", |
|
|
2202 |
"\n", |
|
|
2203 |
"#sk-container-id-3 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n", |
|
|
2204 |
" /* Expand drop-down */\n", |
|
|
2205 |
" max-height: 200px;\n", |
|
|
2206 |
" max-width: 100%;\n", |
|
|
2207 |
" overflow: auto;\n", |
|
|
2208 |
"}\n", |
|
|
2209 |
"\n", |
|
|
2210 |
"#sk-container-id-3 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n", |
|
|
2211 |
" content: \"▾\";\n", |
|
|
2212 |
"}\n", |
|
|
2213 |
"\n", |
|
|
2214 |
"/* Pipeline/ColumnTransformer-specific style */\n", |
|
|
2215 |
"\n", |
|
|
2216 |
"#sk-container-id-3 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
2217 |
" color: var(--sklearn-color-text);\n", |
|
|
2218 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
2219 |
"}\n", |
|
|
2220 |
"\n", |
|
|
2221 |
"#sk-container-id-3 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
2222 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
2223 |
"}\n", |
|
|
2224 |
"\n", |
|
|
2225 |
"/* Estimator-specific style */\n", |
|
|
2226 |
"\n", |
|
|
2227 |
"/* Colorize estimator box */\n", |
|
|
2228 |
"#sk-container-id-3 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
2229 |
" /* unfitted */\n", |
|
|
2230 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
2231 |
"}\n", |
|
|
2232 |
"\n", |
|
|
2233 |
"#sk-container-id-3 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
2234 |
" /* fitted */\n", |
|
|
2235 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
2236 |
"}\n", |
|
|
2237 |
"\n", |
|
|
2238 |
"#sk-container-id-3 div.sk-label label.sk-toggleable__label,\n", |
|
|
2239 |
"#sk-container-id-3 div.sk-label label {\n", |
|
|
2240 |
" /* The background is the default theme color */\n", |
|
|
2241 |
" color: var(--sklearn-color-text-on-default-background);\n", |
|
|
2242 |
"}\n", |
|
|
2243 |
"\n", |
|
|
2244 |
"/* On hover, darken the color of the background */\n", |
|
|
2245 |
"#sk-container-id-3 div.sk-label:hover label.sk-toggleable__label {\n", |
|
|
2246 |
" color: var(--sklearn-color-text);\n", |
|
|
2247 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
2248 |
"}\n", |
|
|
2249 |
"\n", |
|
|
2250 |
"/* Label box, darken color on hover, fitted */\n", |
|
|
2251 |
"#sk-container-id-3 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n", |
|
|
2252 |
" color: var(--sklearn-color-text);\n", |
|
|
2253 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
2254 |
"}\n", |
|
|
2255 |
"\n", |
|
|
2256 |
"/* Estimator label */\n", |
|
|
2257 |
"\n", |
|
|
2258 |
"#sk-container-id-3 div.sk-label label {\n", |
|
|
2259 |
" font-family: monospace;\n", |
|
|
2260 |
" font-weight: bold;\n", |
|
|
2261 |
" display: inline-block;\n", |
|
|
2262 |
" line-height: 1.2em;\n", |
|
|
2263 |
"}\n", |
|
|
2264 |
"\n", |
|
|
2265 |
"#sk-container-id-3 div.sk-label-container {\n", |
|
|
2266 |
" text-align: center;\n", |
|
|
2267 |
"}\n", |
|
|
2268 |
"\n", |
|
|
2269 |
"/* Estimator-specific */\n", |
|
|
2270 |
"#sk-container-id-3 div.sk-estimator {\n", |
|
|
2271 |
" font-family: monospace;\n", |
|
|
2272 |
" border: 1px dotted var(--sklearn-color-border-box);\n", |
|
|
2273 |
" border-radius: 0.25em;\n", |
|
|
2274 |
" box-sizing: border-box;\n", |
|
|
2275 |
" margin-bottom: 0.5em;\n", |
|
|
2276 |
" /* unfitted */\n", |
|
|
2277 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
2278 |
"}\n", |
|
|
2279 |
"\n", |
|
|
2280 |
"#sk-container-id-3 div.sk-estimator.fitted {\n", |
|
|
2281 |
" /* fitted */\n", |
|
|
2282 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
2283 |
"}\n", |
|
|
2284 |
"\n", |
|
|
2285 |
"/* on hover */\n", |
|
|
2286 |
"#sk-container-id-3 div.sk-estimator:hover {\n", |
|
|
2287 |
" /* unfitted */\n", |
|
|
2288 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
2289 |
"}\n", |
|
|
2290 |
"\n", |
|
|
2291 |
"#sk-container-id-3 div.sk-estimator.fitted:hover {\n", |
|
|
2292 |
" /* fitted */\n", |
|
|
2293 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
2294 |
"}\n", |
|
|
2295 |
"\n", |
|
|
2296 |
"/* Specification for estimator info (e.g. \"i\" and \"?\") */\n", |
|
|
2297 |
"\n", |
|
|
2298 |
"/* Common style for \"i\" and \"?\" */\n", |
|
|
2299 |
"\n", |
|
|
2300 |
".sk-estimator-doc-link,\n", |
|
|
2301 |
"a:link.sk-estimator-doc-link,\n", |
|
|
2302 |
"a:visited.sk-estimator-doc-link {\n", |
|
|
2303 |
" float: right;\n", |
|
|
2304 |
" font-size: smaller;\n", |
|
|
2305 |
" line-height: 1em;\n", |
|
|
2306 |
" font-family: monospace;\n", |
|
|
2307 |
" background-color: var(--sklearn-color-background);\n", |
|
|
2308 |
" border-radius: 1em;\n", |
|
|
2309 |
" height: 1em;\n", |
|
|
2310 |
" width: 1em;\n", |
|
|
2311 |
" text-decoration: none !important;\n", |
|
|
2312 |
" margin-left: 1ex;\n", |
|
|
2313 |
" /* unfitted */\n", |
|
|
2314 |
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", |
|
|
2315 |
" color: var(--sklearn-color-unfitted-level-1);\n", |
|
|
2316 |
"}\n", |
|
|
2317 |
"\n", |
|
|
2318 |
".sk-estimator-doc-link.fitted,\n", |
|
|
2319 |
"a:link.sk-estimator-doc-link.fitted,\n", |
|
|
2320 |
"a:visited.sk-estimator-doc-link.fitted {\n", |
|
|
2321 |
" /* fitted */\n", |
|
|
2322 |
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", |
|
|
2323 |
" color: var(--sklearn-color-fitted-level-1);\n", |
|
|
2324 |
"}\n", |
|
|
2325 |
"\n", |
|
|
2326 |
"/* On hover */\n", |
|
|
2327 |
"div.sk-estimator:hover .sk-estimator-doc-link:hover,\n", |
|
|
2328 |
".sk-estimator-doc-link:hover,\n", |
|
|
2329 |
"div.sk-label-container:hover .sk-estimator-doc-link:hover,\n", |
|
|
2330 |
".sk-estimator-doc-link:hover {\n", |
|
|
2331 |
" /* unfitted */\n", |
|
|
2332 |
" background-color: var(--sklearn-color-unfitted-level-3);\n", |
|
|
2333 |
" color: var(--sklearn-color-background);\n", |
|
|
2334 |
" text-decoration: none;\n", |
|
|
2335 |
"}\n", |
|
|
2336 |
"\n", |
|
|
2337 |
"div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n", |
|
|
2338 |
".sk-estimator-doc-link.fitted:hover,\n", |
|
|
2339 |
"div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n", |
|
|
2340 |
".sk-estimator-doc-link.fitted:hover {\n", |
|
|
2341 |
" /* fitted */\n", |
|
|
2342 |
" background-color: var(--sklearn-color-fitted-level-3);\n", |
|
|
2343 |
" color: var(--sklearn-color-background);\n", |
|
|
2344 |
" text-decoration: none;\n", |
|
|
2345 |
"}\n", |
|
|
2346 |
"\n", |
|
|
2347 |
"/* Span, style for the box shown on hovering the info icon */\n", |
|
|
2348 |
".sk-estimator-doc-link span {\n", |
|
|
2349 |
" display: none;\n", |
|
|
2350 |
" z-index: 9999;\n", |
|
|
2351 |
" position: relative;\n", |
|
|
2352 |
" font-weight: normal;\n", |
|
|
2353 |
" right: .2ex;\n", |
|
|
2354 |
" padding: .5ex;\n", |
|
|
2355 |
" margin: .5ex;\n", |
|
|
2356 |
" width: min-content;\n", |
|
|
2357 |
" min-width: 20ex;\n", |
|
|
2358 |
" max-width: 50ex;\n", |
|
|
2359 |
" color: var(--sklearn-color-text);\n", |
|
|
2360 |
" box-shadow: 2pt 2pt 4pt #999;\n", |
|
|
2361 |
" /* unfitted */\n", |
|
|
2362 |
" background: var(--sklearn-color-unfitted-level-0);\n", |
|
|
2363 |
" border: .5pt solid var(--sklearn-color-unfitted-level-3);\n", |
|
|
2364 |
"}\n", |
|
|
2365 |
"\n", |
|
|
2366 |
".sk-estimator-doc-link.fitted span {\n", |
|
|
2367 |
" /* fitted */\n", |
|
|
2368 |
" background: var(--sklearn-color-fitted-level-0);\n", |
|
|
2369 |
" border: var(--sklearn-color-fitted-level-3);\n", |
|
|
2370 |
"}\n", |
|
|
2371 |
"\n", |
|
|
2372 |
".sk-estimator-doc-link:hover span {\n", |
|
|
2373 |
" display: block;\n", |
|
|
2374 |
"}\n", |
|
|
2375 |
"\n", |
|
|
2376 |
"/* \"?\"-specific style due to the `<a>` HTML tag */\n", |
|
|
2377 |
"\n", |
|
|
2378 |
"#sk-container-id-3 a.estimator_doc_link {\n", |
|
|
2379 |
" float: right;\n", |
|
|
2380 |
" font-size: 1rem;\n", |
|
|
2381 |
" line-height: 1em;\n", |
|
|
2382 |
" font-family: monospace;\n", |
|
|
2383 |
" background-color: var(--sklearn-color-background);\n", |
|
|
2384 |
" border-radius: 1rem;\n", |
|
|
2385 |
" height: 1rem;\n", |
|
|
2386 |
" width: 1rem;\n", |
|
|
2387 |
" text-decoration: none;\n", |
|
|
2388 |
" /* unfitted */\n", |
|
|
2389 |
" color: var(--sklearn-color-unfitted-level-1);\n", |
|
|
2390 |
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", |
|
|
2391 |
"}\n", |
|
|
2392 |
"\n", |
|
|
2393 |
"#sk-container-id-3 a.estimator_doc_link.fitted {\n", |
|
|
2394 |
" /* fitted */\n", |
|
|
2395 |
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", |
|
|
2396 |
" color: var(--sklearn-color-fitted-level-1);\n", |
|
|
2397 |
"}\n", |
|
|
2398 |
"\n", |
|
|
2399 |
"/* On hover */\n", |
|
|
2400 |
"#sk-container-id-3 a.estimator_doc_link:hover {\n", |
|
|
2401 |
" /* unfitted */\n", |
|
|
2402 |
" background-color: var(--sklearn-color-unfitted-level-3);\n", |
|
|
2403 |
" color: var(--sklearn-color-background);\n", |
|
|
2404 |
" text-decoration: none;\n", |
|
|
2405 |
"}\n", |
|
|
2406 |
"\n", |
|
|
2407 |
"#sk-container-id-3 a.estimator_doc_link.fitted:hover {\n", |
|
|
2408 |
" /* fitted */\n", |
|
|
2409 |
" background-color: var(--sklearn-color-fitted-level-3);\n", |
|
|
2410 |
"}\n", |
|
|
2411 |
"</style><div id=\"sk-container-id-3\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>GridSearchCV(estimator=SVC(probability=True),\n", |
|
|
2412 |
" param_grid={'C': [0.01, 0.05, 0.5, 0.1, 1, 10, 15, 20],\n", |
|
|
2413 |
" 'gamma': [0.0001, 0.001, 0.01, 0.1]})</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item sk-dashed-wrapped\"><div class=\"sk-label-container\"><div class=\"sk-label fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-3\" type=\"checkbox\" ><label for=\"sk-estimator-id-3\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\"> GridSearchCV<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.model_selection.GridSearchCV.html\">?<span>Documentation for GridSearchCV</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>GridSearchCV(estimator=SVC(probability=True),\n", |
|
|
2414 |
" param_grid={'C': [0.01, 0.05, 0.5, 0.1, 1, 10, 15, 20],\n", |
|
|
2415 |
" 'gamma': [0.0001, 0.001, 0.01, 0.1]})</pre></div> </div></div><div class=\"sk-parallel\"><div class=\"sk-parallel-item\"><div class=\"sk-item\"><div class=\"sk-label-container\"><div class=\"sk-label fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-4\" type=\"checkbox\" ><label for=\"sk-estimator-id-4\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">estimator: SVC</label><div class=\"sk-toggleable__content fitted\"><pre>SVC(probability=True)</pre></div> </div></div><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-5\" type=\"checkbox\" ><label for=\"sk-estimator-id-5\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\"> SVC<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.svm.SVC.html\">?<span>Documentation for SVC</span></a></label><div class=\"sk-toggleable__content fitted\"><pre>SVC(probability=True)</pre></div> </div></div></div></div></div></div></div></div></div>" |
|
|
2416 |
], |
|
|
2417 |
"text/plain": [ |
|
|
2418 |
"GridSearchCV(estimator=SVC(probability=True),\n", |
|
|
2419 |
" param_grid={'C': [0.01, 0.05, 0.5, 0.1, 1, 10, 15, 20],\n", |
|
|
2420 |
" 'gamma': [0.0001, 0.001, 0.01, 0.1]})" |
|
|
2421 |
] |
|
|
2422 |
}, |
|
|
2423 |
"execution_count": 28, |
|
|
2424 |
"metadata": {}, |
|
|
2425 |
"output_type": "execute_result" |
|
|
2426 |
} |
|
|
2427 |
], |
|
|
2428 |
"source": [ |
|
|
2429 |
"from sklearn.svm import SVC\n", |
|
|
2430 |
"from sklearn.model_selection import GridSearchCV\n", |
|
|
2431 |
"\n", |
|
|
2432 |
"svc = SVC(probability=True)\n", |
|
|
2433 |
"parameters = {\n", |
|
|
2434 |
" 'gamma' : [0.0001, 0.001, 0.01, 0.1],\n", |
|
|
2435 |
" 'C' : [0.01, 0.05, 0.5, 0.1, 1, 10, 15, 20]\n", |
|
|
2436 |
"}\n", |
|
|
2437 |
"\n", |
|
|
2438 |
"grid_search = GridSearchCV(svc, parameters)\n", |
|
|
2439 |
"grid_search.fit(X_train, y_train)" |
|
|
2440 |
] |
|
|
2441 |
}, |
|
|
2442 |
{ |
|
|
2443 |
"cell_type": "code", |
|
|
2444 |
"execution_count": 29, |
|
|
2445 |
"id": "8e4df41f-e105-4673-9fdf-f18db0ebbbe7", |
|
|
2446 |
"metadata": {}, |
|
|
2447 |
"outputs": [ |
|
|
2448 |
{ |
|
|
2449 |
"data": { |
|
|
2450 |
"text/plain": [ |
|
|
2451 |
"0.9774683544303798" |
|
|
2452 |
] |
|
|
2453 |
}, |
|
|
2454 |
"execution_count": 29, |
|
|
2455 |
"metadata": {}, |
|
|
2456 |
"output_type": "execute_result" |
|
|
2457 |
} |
|
|
2458 |
], |
|
|
2459 |
"source": [ |
|
|
2460 |
"# best parameters\n", |
|
|
2461 |
"\n", |
|
|
2462 |
"grid_search.best_params_\n", |
|
|
2463 |
"\n", |
|
|
2464 |
"# best score \n", |
|
|
2465 |
"\n", |
|
|
2466 |
"grid_search.best_score_" |
|
|
2467 |
] |
|
|
2468 |
}, |
|
|
2469 |
{ |
|
|
2470 |
"cell_type": "code", |
|
|
2471 |
"execution_count": 30, |
|
|
2472 |
"id": "6076c39d-66fa-47f2-bffb-6575d3375b4c", |
|
|
2473 |
"metadata": {}, |
|
|
2474 |
"outputs": [ |
|
|
2475 |
{ |
|
|
2476 |
"data": { |
|
|
2477 |
"text/html": [ |
|
|
2478 |
"<style>#sk-container-id-4 {\n", |
|
|
2479 |
" /* Definition of color scheme common for light and dark mode */\n", |
|
|
2480 |
" --sklearn-color-text: black;\n", |
|
|
2481 |
" --sklearn-color-line: gray;\n", |
|
|
2482 |
" /* Definition of color scheme for unfitted estimators */\n", |
|
|
2483 |
" --sklearn-color-unfitted-level-0: #fff5e6;\n", |
|
|
2484 |
" --sklearn-color-unfitted-level-1: #f6e4d2;\n", |
|
|
2485 |
" --sklearn-color-unfitted-level-2: #ffe0b3;\n", |
|
|
2486 |
" --sklearn-color-unfitted-level-3: chocolate;\n", |
|
|
2487 |
" /* Definition of color scheme for fitted estimators */\n", |
|
|
2488 |
" --sklearn-color-fitted-level-0: #f0f8ff;\n", |
|
|
2489 |
" --sklearn-color-fitted-level-1: #d4ebff;\n", |
|
|
2490 |
" --sklearn-color-fitted-level-2: #b3dbfd;\n", |
|
|
2491 |
" --sklearn-color-fitted-level-3: cornflowerblue;\n", |
|
|
2492 |
"\n", |
|
|
2493 |
" /* Specific color for light theme */\n", |
|
|
2494 |
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", |
|
|
2495 |
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n", |
|
|
2496 |
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", |
|
|
2497 |
" --sklearn-color-icon: #696969;\n", |
|
|
2498 |
"\n", |
|
|
2499 |
" @media (prefers-color-scheme: dark) {\n", |
|
|
2500 |
" /* Redefinition of color scheme for dark theme */\n", |
|
|
2501 |
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", |
|
|
2502 |
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n", |
|
|
2503 |
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", |
|
|
2504 |
" --sklearn-color-icon: #878787;\n", |
|
|
2505 |
" }\n", |
|
|
2506 |
"}\n", |
|
|
2507 |
"\n", |
|
|
2508 |
"#sk-container-id-4 {\n", |
|
|
2509 |
" color: var(--sklearn-color-text);\n", |
|
|
2510 |
"}\n", |
|
|
2511 |
"\n", |
|
|
2512 |
"#sk-container-id-4 pre {\n", |
|
|
2513 |
" padding: 0;\n", |
|
|
2514 |
"}\n", |
|
|
2515 |
"\n", |
|
|
2516 |
"#sk-container-id-4 input.sk-hidden--visually {\n", |
|
|
2517 |
" border: 0;\n", |
|
|
2518 |
" clip: rect(1px 1px 1px 1px);\n", |
|
|
2519 |
" clip: rect(1px, 1px, 1px, 1px);\n", |
|
|
2520 |
" height: 1px;\n", |
|
|
2521 |
" margin: -1px;\n", |
|
|
2522 |
" overflow: hidden;\n", |
|
|
2523 |
" padding: 0;\n", |
|
|
2524 |
" position: absolute;\n", |
|
|
2525 |
" width: 1px;\n", |
|
|
2526 |
"}\n", |
|
|
2527 |
"\n", |
|
|
2528 |
"#sk-container-id-4 div.sk-dashed-wrapped {\n", |
|
|
2529 |
" border: 1px dashed var(--sklearn-color-line);\n", |
|
|
2530 |
" margin: 0 0.4em 0.5em 0.4em;\n", |
|
|
2531 |
" box-sizing: border-box;\n", |
|
|
2532 |
" padding-bottom: 0.4em;\n", |
|
|
2533 |
" background-color: var(--sklearn-color-background);\n", |
|
|
2534 |
"}\n", |
|
|
2535 |
"\n", |
|
|
2536 |
"#sk-container-id-4 div.sk-container {\n", |
|
|
2537 |
" /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n", |
|
|
2538 |
" but bootstrap.min.css set `[hidden] { display: none !important; }`\n", |
|
|
2539 |
" so we also need the `!important` here to be able to override the\n", |
|
|
2540 |
" default hidden behavior on the sphinx rendered scikit-learn.org.\n", |
|
|
2541 |
" See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n", |
|
|
2542 |
" display: inline-block !important;\n", |
|
|
2543 |
" position: relative;\n", |
|
|
2544 |
"}\n", |
|
|
2545 |
"\n", |
|
|
2546 |
"#sk-container-id-4 div.sk-text-repr-fallback {\n", |
|
|
2547 |
" display: none;\n", |
|
|
2548 |
"}\n", |
|
|
2549 |
"\n", |
|
|
2550 |
"div.sk-parallel-item,\n", |
|
|
2551 |
"div.sk-serial,\n", |
|
|
2552 |
"div.sk-item {\n", |
|
|
2553 |
" /* draw centered vertical line to link estimators */\n", |
|
|
2554 |
" background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n", |
|
|
2555 |
" background-size: 2px 100%;\n", |
|
|
2556 |
" background-repeat: no-repeat;\n", |
|
|
2557 |
" background-position: center center;\n", |
|
|
2558 |
"}\n", |
|
|
2559 |
"\n", |
|
|
2560 |
"/* Parallel-specific style estimator block */\n", |
|
|
2561 |
"\n", |
|
|
2562 |
"#sk-container-id-4 div.sk-parallel-item::after {\n", |
|
|
2563 |
" content: \"\";\n", |
|
|
2564 |
" width: 100%;\n", |
|
|
2565 |
" border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n", |
|
|
2566 |
" flex-grow: 1;\n", |
|
|
2567 |
"}\n", |
|
|
2568 |
"\n", |
|
|
2569 |
"#sk-container-id-4 div.sk-parallel {\n", |
|
|
2570 |
" display: flex;\n", |
|
|
2571 |
" align-items: stretch;\n", |
|
|
2572 |
" justify-content: center;\n", |
|
|
2573 |
" background-color: var(--sklearn-color-background);\n", |
|
|
2574 |
" position: relative;\n", |
|
|
2575 |
"}\n", |
|
|
2576 |
"\n", |
|
|
2577 |
"#sk-container-id-4 div.sk-parallel-item {\n", |
|
|
2578 |
" display: flex;\n", |
|
|
2579 |
" flex-direction: column;\n", |
|
|
2580 |
"}\n", |
|
|
2581 |
"\n", |
|
|
2582 |
"#sk-container-id-4 div.sk-parallel-item:first-child::after {\n", |
|
|
2583 |
" align-self: flex-end;\n", |
|
|
2584 |
" width: 50%;\n", |
|
|
2585 |
"}\n", |
|
|
2586 |
"\n", |
|
|
2587 |
"#sk-container-id-4 div.sk-parallel-item:last-child::after {\n", |
|
|
2588 |
" align-self: flex-start;\n", |
|
|
2589 |
" width: 50%;\n", |
|
|
2590 |
"}\n", |
|
|
2591 |
"\n", |
|
|
2592 |
"#sk-container-id-4 div.sk-parallel-item:only-child::after {\n", |
|
|
2593 |
" width: 0;\n", |
|
|
2594 |
"}\n", |
|
|
2595 |
"\n", |
|
|
2596 |
"/* Serial-specific style estimator block */\n", |
|
|
2597 |
"\n", |
|
|
2598 |
"#sk-container-id-4 div.sk-serial {\n", |
|
|
2599 |
" display: flex;\n", |
|
|
2600 |
" flex-direction: column;\n", |
|
|
2601 |
" align-items: center;\n", |
|
|
2602 |
" background-color: var(--sklearn-color-background);\n", |
|
|
2603 |
" padding-right: 1em;\n", |
|
|
2604 |
" padding-left: 1em;\n", |
|
|
2605 |
"}\n", |
|
|
2606 |
"\n", |
|
|
2607 |
"\n", |
|
|
2608 |
"/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n", |
|
|
2609 |
"clickable and can be expanded/collapsed.\n", |
|
|
2610 |
"- Pipeline and ColumnTransformer use this feature and define the default style\n", |
|
|
2611 |
"- Estimators will overwrite some part of the style using the `sk-estimator` class\n", |
|
|
2612 |
"*/\n", |
|
|
2613 |
"\n", |
|
|
2614 |
"/* Pipeline and ColumnTransformer style (default) */\n", |
|
|
2615 |
"\n", |
|
|
2616 |
"#sk-container-id-4 div.sk-toggleable {\n", |
|
|
2617 |
" /* Default theme specific background. It is overwritten whether we have a\n", |
|
|
2618 |
" specific estimator or a Pipeline/ColumnTransformer */\n", |
|
|
2619 |
" background-color: var(--sklearn-color-background);\n", |
|
|
2620 |
"}\n", |
|
|
2621 |
"\n", |
|
|
2622 |
"/* Toggleable label */\n", |
|
|
2623 |
"#sk-container-id-4 label.sk-toggleable__label {\n", |
|
|
2624 |
" cursor: pointer;\n", |
|
|
2625 |
" display: block;\n", |
|
|
2626 |
" width: 100%;\n", |
|
|
2627 |
" margin-bottom: 0;\n", |
|
|
2628 |
" padding: 0.5em;\n", |
|
|
2629 |
" box-sizing: border-box;\n", |
|
|
2630 |
" text-align: center;\n", |
|
|
2631 |
"}\n", |
|
|
2632 |
"\n", |
|
|
2633 |
"#sk-container-id-4 label.sk-toggleable__label-arrow:before {\n", |
|
|
2634 |
" /* Arrow on the left of the label */\n", |
|
|
2635 |
" content: \"▸\";\n", |
|
|
2636 |
" float: left;\n", |
|
|
2637 |
" margin-right: 0.25em;\n", |
|
|
2638 |
" color: var(--sklearn-color-icon);\n", |
|
|
2639 |
"}\n", |
|
|
2640 |
"\n", |
|
|
2641 |
"#sk-container-id-4 label.sk-toggleable__label-arrow:hover:before {\n", |
|
|
2642 |
" color: var(--sklearn-color-text);\n", |
|
|
2643 |
"}\n", |
|
|
2644 |
"\n", |
|
|
2645 |
"/* Toggleable content - dropdown */\n", |
|
|
2646 |
"\n", |
|
|
2647 |
"#sk-container-id-4 div.sk-toggleable__content {\n", |
|
|
2648 |
" max-height: 0;\n", |
|
|
2649 |
" max-width: 0;\n", |
|
|
2650 |
" overflow: hidden;\n", |
|
|
2651 |
" text-align: left;\n", |
|
|
2652 |
" /* unfitted */\n", |
|
|
2653 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
2654 |
"}\n", |
|
|
2655 |
"\n", |
|
|
2656 |
"#sk-container-id-4 div.sk-toggleable__content.fitted {\n", |
|
|
2657 |
" /* fitted */\n", |
|
|
2658 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
2659 |
"}\n", |
|
|
2660 |
"\n", |
|
|
2661 |
"#sk-container-id-4 div.sk-toggleable__content pre {\n", |
|
|
2662 |
" margin: 0.2em;\n", |
|
|
2663 |
" border-radius: 0.25em;\n", |
|
|
2664 |
" color: var(--sklearn-color-text);\n", |
|
|
2665 |
" /* unfitted */\n", |
|
|
2666 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
2667 |
"}\n", |
|
|
2668 |
"\n", |
|
|
2669 |
"#sk-container-id-4 div.sk-toggleable__content.fitted pre {\n", |
|
|
2670 |
" /* unfitted */\n", |
|
|
2671 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
2672 |
"}\n", |
|
|
2673 |
"\n", |
|
|
2674 |
"#sk-container-id-4 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n", |
|
|
2675 |
" /* Expand drop-down */\n", |
|
|
2676 |
" max-height: 200px;\n", |
|
|
2677 |
" max-width: 100%;\n", |
|
|
2678 |
" overflow: auto;\n", |
|
|
2679 |
"}\n", |
|
|
2680 |
"\n", |
|
|
2681 |
"#sk-container-id-4 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n", |
|
|
2682 |
" content: \"▾\";\n", |
|
|
2683 |
"}\n", |
|
|
2684 |
"\n", |
|
|
2685 |
"/* Pipeline/ColumnTransformer-specific style */\n", |
|
|
2686 |
"\n", |
|
|
2687 |
"#sk-container-id-4 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
2688 |
" color: var(--sklearn-color-text);\n", |
|
|
2689 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
2690 |
"}\n", |
|
|
2691 |
"\n", |
|
|
2692 |
"#sk-container-id-4 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
2693 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
2694 |
"}\n", |
|
|
2695 |
"\n", |
|
|
2696 |
"/* Estimator-specific style */\n", |
|
|
2697 |
"\n", |
|
|
2698 |
"/* Colorize estimator box */\n", |
|
|
2699 |
"#sk-container-id-4 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
2700 |
" /* unfitted */\n", |
|
|
2701 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
2702 |
"}\n", |
|
|
2703 |
"\n", |
|
|
2704 |
"#sk-container-id-4 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
2705 |
" /* fitted */\n", |
|
|
2706 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
2707 |
"}\n", |
|
|
2708 |
"\n", |
|
|
2709 |
"#sk-container-id-4 div.sk-label label.sk-toggleable__label,\n", |
|
|
2710 |
"#sk-container-id-4 div.sk-label label {\n", |
|
|
2711 |
" /* The background is the default theme color */\n", |
|
|
2712 |
" color: var(--sklearn-color-text-on-default-background);\n", |
|
|
2713 |
"}\n", |
|
|
2714 |
"\n", |
|
|
2715 |
"/* On hover, darken the color of the background */\n", |
|
|
2716 |
"#sk-container-id-4 div.sk-label:hover label.sk-toggleable__label {\n", |
|
|
2717 |
" color: var(--sklearn-color-text);\n", |
|
|
2718 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
2719 |
"}\n", |
|
|
2720 |
"\n", |
|
|
2721 |
"/* Label box, darken color on hover, fitted */\n", |
|
|
2722 |
"#sk-container-id-4 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n", |
|
|
2723 |
" color: var(--sklearn-color-text);\n", |
|
|
2724 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
2725 |
"}\n", |
|
|
2726 |
"\n", |
|
|
2727 |
"/* Estimator label */\n", |
|
|
2728 |
"\n", |
|
|
2729 |
"#sk-container-id-4 div.sk-label label {\n", |
|
|
2730 |
" font-family: monospace;\n", |
|
|
2731 |
" font-weight: bold;\n", |
|
|
2732 |
" display: inline-block;\n", |
|
|
2733 |
" line-height: 1.2em;\n", |
|
|
2734 |
"}\n", |
|
|
2735 |
"\n", |
|
|
2736 |
"#sk-container-id-4 div.sk-label-container {\n", |
|
|
2737 |
" text-align: center;\n", |
|
|
2738 |
"}\n", |
|
|
2739 |
"\n", |
|
|
2740 |
"/* Estimator-specific */\n", |
|
|
2741 |
"#sk-container-id-4 div.sk-estimator {\n", |
|
|
2742 |
" font-family: monospace;\n", |
|
|
2743 |
" border: 1px dotted var(--sklearn-color-border-box);\n", |
|
|
2744 |
" border-radius: 0.25em;\n", |
|
|
2745 |
" box-sizing: border-box;\n", |
|
|
2746 |
" margin-bottom: 0.5em;\n", |
|
|
2747 |
" /* unfitted */\n", |
|
|
2748 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
2749 |
"}\n", |
|
|
2750 |
"\n", |
|
|
2751 |
"#sk-container-id-4 div.sk-estimator.fitted {\n", |
|
|
2752 |
" /* fitted */\n", |
|
|
2753 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
2754 |
"}\n", |
|
|
2755 |
"\n", |
|
|
2756 |
"/* on hover */\n", |
|
|
2757 |
"#sk-container-id-4 div.sk-estimator:hover {\n", |
|
|
2758 |
" /* unfitted */\n", |
|
|
2759 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
2760 |
"}\n", |
|
|
2761 |
"\n", |
|
|
2762 |
"#sk-container-id-4 div.sk-estimator.fitted:hover {\n", |
|
|
2763 |
" /* fitted */\n", |
|
|
2764 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
2765 |
"}\n", |
|
|
2766 |
"\n", |
|
|
2767 |
"/* Specification for estimator info (e.g. \"i\" and \"?\") */\n", |
|
|
2768 |
"\n", |
|
|
2769 |
"/* Common style for \"i\" and \"?\" */\n", |
|
|
2770 |
"\n", |
|
|
2771 |
".sk-estimator-doc-link,\n", |
|
|
2772 |
"a:link.sk-estimator-doc-link,\n", |
|
|
2773 |
"a:visited.sk-estimator-doc-link {\n", |
|
|
2774 |
" float: right;\n", |
|
|
2775 |
" font-size: smaller;\n", |
|
|
2776 |
" line-height: 1em;\n", |
|
|
2777 |
" font-family: monospace;\n", |
|
|
2778 |
" background-color: var(--sklearn-color-background);\n", |
|
|
2779 |
" border-radius: 1em;\n", |
|
|
2780 |
" height: 1em;\n", |
|
|
2781 |
" width: 1em;\n", |
|
|
2782 |
" text-decoration: none !important;\n", |
|
|
2783 |
" margin-left: 1ex;\n", |
|
|
2784 |
" /* unfitted */\n", |
|
|
2785 |
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", |
|
|
2786 |
" color: var(--sklearn-color-unfitted-level-1);\n", |
|
|
2787 |
"}\n", |
|
|
2788 |
"\n", |
|
|
2789 |
".sk-estimator-doc-link.fitted,\n", |
|
|
2790 |
"a:link.sk-estimator-doc-link.fitted,\n", |
|
|
2791 |
"a:visited.sk-estimator-doc-link.fitted {\n", |
|
|
2792 |
" /* fitted */\n", |
|
|
2793 |
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", |
|
|
2794 |
" color: var(--sklearn-color-fitted-level-1);\n", |
|
|
2795 |
"}\n", |
|
|
2796 |
"\n", |
|
|
2797 |
"/* On hover */\n", |
|
|
2798 |
"div.sk-estimator:hover .sk-estimator-doc-link:hover,\n", |
|
|
2799 |
".sk-estimator-doc-link:hover,\n", |
|
|
2800 |
"div.sk-label-container:hover .sk-estimator-doc-link:hover,\n", |
|
|
2801 |
".sk-estimator-doc-link:hover {\n", |
|
|
2802 |
" /* unfitted */\n", |
|
|
2803 |
" background-color: var(--sklearn-color-unfitted-level-3);\n", |
|
|
2804 |
" color: var(--sklearn-color-background);\n", |
|
|
2805 |
" text-decoration: none;\n", |
|
|
2806 |
"}\n", |
|
|
2807 |
"\n", |
|
|
2808 |
"div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n", |
|
|
2809 |
".sk-estimator-doc-link.fitted:hover,\n", |
|
|
2810 |
"div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n", |
|
|
2811 |
".sk-estimator-doc-link.fitted:hover {\n", |
|
|
2812 |
" /* fitted */\n", |
|
|
2813 |
" background-color: var(--sklearn-color-fitted-level-3);\n", |
|
|
2814 |
" color: var(--sklearn-color-background);\n", |
|
|
2815 |
" text-decoration: none;\n", |
|
|
2816 |
"}\n", |
|
|
2817 |
"\n", |
|
|
2818 |
"/* Span, style for the box shown on hovering the info icon */\n", |
|
|
2819 |
".sk-estimator-doc-link span {\n", |
|
|
2820 |
" display: none;\n", |
|
|
2821 |
" z-index: 9999;\n", |
|
|
2822 |
" position: relative;\n", |
|
|
2823 |
" font-weight: normal;\n", |
|
|
2824 |
" right: .2ex;\n", |
|
|
2825 |
" padding: .5ex;\n", |
|
|
2826 |
" margin: .5ex;\n", |
|
|
2827 |
" width: min-content;\n", |
|
|
2828 |
" min-width: 20ex;\n", |
|
|
2829 |
" max-width: 50ex;\n", |
|
|
2830 |
" color: var(--sklearn-color-text);\n", |
|
|
2831 |
" box-shadow: 2pt 2pt 4pt #999;\n", |
|
|
2832 |
" /* unfitted */\n", |
|
|
2833 |
" background: var(--sklearn-color-unfitted-level-0);\n", |
|
|
2834 |
" border: .5pt solid var(--sklearn-color-unfitted-level-3);\n", |
|
|
2835 |
"}\n", |
|
|
2836 |
"\n", |
|
|
2837 |
".sk-estimator-doc-link.fitted span {\n", |
|
|
2838 |
" /* fitted */\n", |
|
|
2839 |
" background: var(--sklearn-color-fitted-level-0);\n", |
|
|
2840 |
" border: var(--sklearn-color-fitted-level-3);\n", |
|
|
2841 |
"}\n", |
|
|
2842 |
"\n", |
|
|
2843 |
".sk-estimator-doc-link:hover span {\n", |
|
|
2844 |
" display: block;\n", |
|
|
2845 |
"}\n", |
|
|
2846 |
"\n", |
|
|
2847 |
"/* \"?\"-specific style due to the `<a>` HTML tag */\n", |
|
|
2848 |
"\n", |
|
|
2849 |
"#sk-container-id-4 a.estimator_doc_link {\n", |
|
|
2850 |
" float: right;\n", |
|
|
2851 |
" font-size: 1rem;\n", |
|
|
2852 |
" line-height: 1em;\n", |
|
|
2853 |
" font-family: monospace;\n", |
|
|
2854 |
" background-color: var(--sklearn-color-background);\n", |
|
|
2855 |
" border-radius: 1rem;\n", |
|
|
2856 |
" height: 1rem;\n", |
|
|
2857 |
" width: 1rem;\n", |
|
|
2858 |
" text-decoration: none;\n", |
|
|
2859 |
" /* unfitted */\n", |
|
|
2860 |
" color: var(--sklearn-color-unfitted-level-1);\n", |
|
|
2861 |
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", |
|
|
2862 |
"}\n", |
|
|
2863 |
"\n", |
|
|
2864 |
"#sk-container-id-4 a.estimator_doc_link.fitted {\n", |
|
|
2865 |
" /* fitted */\n", |
|
|
2866 |
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", |
|
|
2867 |
" color: var(--sklearn-color-fitted-level-1);\n", |
|
|
2868 |
"}\n", |
|
|
2869 |
"\n", |
|
|
2870 |
"/* On hover */\n", |
|
|
2871 |
"#sk-container-id-4 a.estimator_doc_link:hover {\n", |
|
|
2872 |
" /* unfitted */\n", |
|
|
2873 |
" background-color: var(--sklearn-color-unfitted-level-3);\n", |
|
|
2874 |
" color: var(--sklearn-color-background);\n", |
|
|
2875 |
" text-decoration: none;\n", |
|
|
2876 |
"}\n", |
|
|
2877 |
"\n", |
|
|
2878 |
"#sk-container-id-4 a.estimator_doc_link.fitted:hover {\n", |
|
|
2879 |
" /* fitted */\n", |
|
|
2880 |
" background-color: var(--sklearn-color-fitted-level-3);\n", |
|
|
2881 |
"}\n", |
|
|
2882 |
"</style><div id=\"sk-container-id-4\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>SVC(C=10, gamma=0.01, probability=True)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-6\" type=\"checkbox\" checked><label for=\"sk-estimator-id-6\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\"> SVC<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.svm.SVC.html\">?<span>Documentation for SVC</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>SVC(C=10, gamma=0.01, probability=True)</pre></div> </div></div></div></div>" |
|
|
2883 |
], |
|
|
2884 |
"text/plain": [ |
|
|
2885 |
"SVC(C=10, gamma=0.01, probability=True)" |
|
|
2886 |
] |
|
|
2887 |
}, |
|
|
2888 |
"execution_count": 30, |
|
|
2889 |
"metadata": {}, |
|
|
2890 |
"output_type": "execute_result" |
|
|
2891 |
} |
|
|
2892 |
], |
|
|
2893 |
"source": [ |
|
|
2894 |
"svc = SVC(C = 10, gamma = 0.01, probability=True)\n", |
|
|
2895 |
"svc.fit(X_train, y_train)" |
|
|
2896 |
] |
|
|
2897 |
}, |
|
|
2898 |
{ |
|
|
2899 |
"cell_type": "code", |
|
|
2900 |
"execution_count": 31, |
|
|
2901 |
"id": "1f87cfee-c742-4c21-beaf-ab385161289a", |
|
|
2902 |
"metadata": {}, |
|
|
2903 |
"outputs": [], |
|
|
2904 |
"source": [ |
|
|
2905 |
"# model predictions \n", |
|
|
2906 |
"\n", |
|
|
2907 |
"y_pred = svc.predict(X_test)" |
|
|
2908 |
] |
|
|
2909 |
}, |
|
|
2910 |
{ |
|
|
2911 |
"cell_type": "code", |
|
|
2912 |
"execution_count": 32, |
|
|
2913 |
"id": "0d2dbb00-9681-440b-9c0b-db06448077d4", |
|
|
2914 |
"metadata": {}, |
|
|
2915 |
"outputs": [ |
|
|
2916 |
{ |
|
|
2917 |
"name": "stdout", |
|
|
2918 |
"output_type": "stream", |
|
|
2919 |
"text": [ |
|
|
2920 |
"0.9874371859296482\n", |
|
|
2921 |
"0.9766081871345029\n", |
|
|
2922 |
"[[107 1]\n", |
|
|
2923 |
" [ 3 60]]\n", |
|
|
2924 |
" precision recall f1-score support\n", |
|
|
2925 |
"\n", |
|
|
2926 |
" 0 0.97 0.99 0.98 108\n", |
|
|
2927 |
" 1 0.98 0.95 0.97 63\n", |
|
|
2928 |
"\n", |
|
|
2929 |
" accuracy 0.98 171\n", |
|
|
2930 |
" macro avg 0.98 0.97 0.97 171\n", |
|
|
2931 |
"weighted avg 0.98 0.98 0.98 171\n", |
|
|
2932 |
"\n" |
|
|
2933 |
] |
|
|
2934 |
} |
|
|
2935 |
], |
|
|
2936 |
"source": [ |
|
|
2937 |
"# accuracy score\n", |
|
|
2938 |
"\n", |
|
|
2939 |
"print(accuracy_score(y_train, svc.predict(X_train)))\n", |
|
|
2940 |
"\n", |
|
|
2941 |
"svc_acc = accuracy_score(y_test, svc.predict(X_test))\n", |
|
|
2942 |
"print(svc_acc)\n", |
|
|
2943 |
"\n", |
|
|
2944 |
"# confusion matrix\n", |
|
|
2945 |
"\n", |
|
|
2946 |
"print(confusion_matrix(y_test, y_pred))\n", |
|
|
2947 |
"\n", |
|
|
2948 |
"# classification report\n", |
|
|
2949 |
"\n", |
|
|
2950 |
"print(classification_report(y_test, y_pred))" |
|
|
2951 |
] |
|
|
2952 |
}, |
|
|
2953 |
{ |
|
|
2954 |
"cell_type": "code", |
|
|
2955 |
"execution_count": 33, |
|
|
2956 |
"id": "81886176-aad3-4c2d-a285-4fd3f3d1ebca", |
|
|
2957 |
"metadata": {}, |
|
|
2958 |
"outputs": [], |
|
|
2959 |
"source": [ |
|
|
2960 |
"#Decision Tree Classifier" |
|
|
2961 |
] |
|
|
2962 |
}, |
|
|
2963 |
{ |
|
|
2964 |
"cell_type": "code", |
|
|
2965 |
"execution_count": 34, |
|
|
2966 |
"id": "c1678772-3656-4443-9f16-fc749ecc3b54", |
|
|
2967 |
"metadata": {}, |
|
|
2968 |
"outputs": [ |
|
|
2969 |
{ |
|
|
2970 |
"name": "stdout", |
|
|
2971 |
"output_type": "stream", |
|
|
2972 |
"text": [ |
|
|
2973 |
"Fitting 5 folds for each of 8640 candidates, totalling 43200 fits\n" |
|
|
2974 |
] |
|
|
2975 |
}, |
|
|
2976 |
{ |
|
|
2977 |
"data": { |
|
|
2978 |
"text/html": [ |
|
|
2979 |
"<style>#sk-container-id-5 {\n", |
|
|
2980 |
" /* Definition of color scheme common for light and dark mode */\n", |
|
|
2981 |
" --sklearn-color-text: black;\n", |
|
|
2982 |
" --sklearn-color-line: gray;\n", |
|
|
2983 |
" /* Definition of color scheme for unfitted estimators */\n", |
|
|
2984 |
" --sklearn-color-unfitted-level-0: #fff5e6;\n", |
|
|
2985 |
" --sklearn-color-unfitted-level-1: #f6e4d2;\n", |
|
|
2986 |
" --sklearn-color-unfitted-level-2: #ffe0b3;\n", |
|
|
2987 |
" --sklearn-color-unfitted-level-3: chocolate;\n", |
|
|
2988 |
" /* Definition of color scheme for fitted estimators */\n", |
|
|
2989 |
" --sklearn-color-fitted-level-0: #f0f8ff;\n", |
|
|
2990 |
" --sklearn-color-fitted-level-1: #d4ebff;\n", |
|
|
2991 |
" --sklearn-color-fitted-level-2: #b3dbfd;\n", |
|
|
2992 |
" --sklearn-color-fitted-level-3: cornflowerblue;\n", |
|
|
2993 |
"\n", |
|
|
2994 |
" /* Specific color for light theme */\n", |
|
|
2995 |
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", |
|
|
2996 |
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n", |
|
|
2997 |
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", |
|
|
2998 |
" --sklearn-color-icon: #696969;\n", |
|
|
2999 |
"\n", |
|
|
3000 |
" @media (prefers-color-scheme: dark) {\n", |
|
|
3001 |
" /* Redefinition of color scheme for dark theme */\n", |
|
|
3002 |
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", |
|
|
3003 |
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n", |
|
|
3004 |
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", |
|
|
3005 |
" --sklearn-color-icon: #878787;\n", |
|
|
3006 |
" }\n", |
|
|
3007 |
"}\n", |
|
|
3008 |
"\n", |
|
|
3009 |
"#sk-container-id-5 {\n", |
|
|
3010 |
" color: var(--sklearn-color-text);\n", |
|
|
3011 |
"}\n", |
|
|
3012 |
"\n", |
|
|
3013 |
"#sk-container-id-5 pre {\n", |
|
|
3014 |
" padding: 0;\n", |
|
|
3015 |
"}\n", |
|
|
3016 |
"\n", |
|
|
3017 |
"#sk-container-id-5 input.sk-hidden--visually {\n", |
|
|
3018 |
" border: 0;\n", |
|
|
3019 |
" clip: rect(1px 1px 1px 1px);\n", |
|
|
3020 |
" clip: rect(1px, 1px, 1px, 1px);\n", |
|
|
3021 |
" height: 1px;\n", |
|
|
3022 |
" margin: -1px;\n", |
|
|
3023 |
" overflow: hidden;\n", |
|
|
3024 |
" padding: 0;\n", |
|
|
3025 |
" position: absolute;\n", |
|
|
3026 |
" width: 1px;\n", |
|
|
3027 |
"}\n", |
|
|
3028 |
"\n", |
|
|
3029 |
"#sk-container-id-5 div.sk-dashed-wrapped {\n", |
|
|
3030 |
" border: 1px dashed var(--sklearn-color-line);\n", |
|
|
3031 |
" margin: 0 0.4em 0.5em 0.4em;\n", |
|
|
3032 |
" box-sizing: border-box;\n", |
|
|
3033 |
" padding-bottom: 0.4em;\n", |
|
|
3034 |
" background-color: var(--sklearn-color-background);\n", |
|
|
3035 |
"}\n", |
|
|
3036 |
"\n", |
|
|
3037 |
"#sk-container-id-5 div.sk-container {\n", |
|
|
3038 |
" /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n", |
|
|
3039 |
" but bootstrap.min.css set `[hidden] { display: none !important; }`\n", |
|
|
3040 |
" so we also need the `!important` here to be able to override the\n", |
|
|
3041 |
" default hidden behavior on the sphinx rendered scikit-learn.org.\n", |
|
|
3042 |
" See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n", |
|
|
3043 |
" display: inline-block !important;\n", |
|
|
3044 |
" position: relative;\n", |
|
|
3045 |
"}\n", |
|
|
3046 |
"\n", |
|
|
3047 |
"#sk-container-id-5 div.sk-text-repr-fallback {\n", |
|
|
3048 |
" display: none;\n", |
|
|
3049 |
"}\n", |
|
|
3050 |
"\n", |
|
|
3051 |
"div.sk-parallel-item,\n", |
|
|
3052 |
"div.sk-serial,\n", |
|
|
3053 |
"div.sk-item {\n", |
|
|
3054 |
" /* draw centered vertical line to link estimators */\n", |
|
|
3055 |
" background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n", |
|
|
3056 |
" background-size: 2px 100%;\n", |
|
|
3057 |
" background-repeat: no-repeat;\n", |
|
|
3058 |
" background-position: center center;\n", |
|
|
3059 |
"}\n", |
|
|
3060 |
"\n", |
|
|
3061 |
"/* Parallel-specific style estimator block */\n", |
|
|
3062 |
"\n", |
|
|
3063 |
"#sk-container-id-5 div.sk-parallel-item::after {\n", |
|
|
3064 |
" content: \"\";\n", |
|
|
3065 |
" width: 100%;\n", |
|
|
3066 |
" border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n", |
|
|
3067 |
" flex-grow: 1;\n", |
|
|
3068 |
"}\n", |
|
|
3069 |
"\n", |
|
|
3070 |
"#sk-container-id-5 div.sk-parallel {\n", |
|
|
3071 |
" display: flex;\n", |
|
|
3072 |
" align-items: stretch;\n", |
|
|
3073 |
" justify-content: center;\n", |
|
|
3074 |
" background-color: var(--sklearn-color-background);\n", |
|
|
3075 |
" position: relative;\n", |
|
|
3076 |
"}\n", |
|
|
3077 |
"\n", |
|
|
3078 |
"#sk-container-id-5 div.sk-parallel-item {\n", |
|
|
3079 |
" display: flex;\n", |
|
|
3080 |
" flex-direction: column;\n", |
|
|
3081 |
"}\n", |
|
|
3082 |
"\n", |
|
|
3083 |
"#sk-container-id-5 div.sk-parallel-item:first-child::after {\n", |
|
|
3084 |
" align-self: flex-end;\n", |
|
|
3085 |
" width: 50%;\n", |
|
|
3086 |
"}\n", |
|
|
3087 |
"\n", |
|
|
3088 |
"#sk-container-id-5 div.sk-parallel-item:last-child::after {\n", |
|
|
3089 |
" align-self: flex-start;\n", |
|
|
3090 |
" width: 50%;\n", |
|
|
3091 |
"}\n", |
|
|
3092 |
"\n", |
|
|
3093 |
"#sk-container-id-5 div.sk-parallel-item:only-child::after {\n", |
|
|
3094 |
" width: 0;\n", |
|
|
3095 |
"}\n", |
|
|
3096 |
"\n", |
|
|
3097 |
"/* Serial-specific style estimator block */\n", |
|
|
3098 |
"\n", |
|
|
3099 |
"#sk-container-id-5 div.sk-serial {\n", |
|
|
3100 |
" display: flex;\n", |
|
|
3101 |
" flex-direction: column;\n", |
|
|
3102 |
" align-items: center;\n", |
|
|
3103 |
" background-color: var(--sklearn-color-background);\n", |
|
|
3104 |
" padding-right: 1em;\n", |
|
|
3105 |
" padding-left: 1em;\n", |
|
|
3106 |
"}\n", |
|
|
3107 |
"\n", |
|
|
3108 |
"\n", |
|
|
3109 |
"/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n", |
|
|
3110 |
"clickable and can be expanded/collapsed.\n", |
|
|
3111 |
"- Pipeline and ColumnTransformer use this feature and define the default style\n", |
|
|
3112 |
"- Estimators will overwrite some part of the style using the `sk-estimator` class\n", |
|
|
3113 |
"*/\n", |
|
|
3114 |
"\n", |
|
|
3115 |
"/* Pipeline and ColumnTransformer style (default) */\n", |
|
|
3116 |
"\n", |
|
|
3117 |
"#sk-container-id-5 div.sk-toggleable {\n", |
|
|
3118 |
" /* Default theme specific background. It is overwritten whether we have a\n", |
|
|
3119 |
" specific estimator or a Pipeline/ColumnTransformer */\n", |
|
|
3120 |
" background-color: var(--sklearn-color-background);\n", |
|
|
3121 |
"}\n", |
|
|
3122 |
"\n", |
|
|
3123 |
"/* Toggleable label */\n", |
|
|
3124 |
"#sk-container-id-5 label.sk-toggleable__label {\n", |
|
|
3125 |
" cursor: pointer;\n", |
|
|
3126 |
" display: block;\n", |
|
|
3127 |
" width: 100%;\n", |
|
|
3128 |
" margin-bottom: 0;\n", |
|
|
3129 |
" padding: 0.5em;\n", |
|
|
3130 |
" box-sizing: border-box;\n", |
|
|
3131 |
" text-align: center;\n", |
|
|
3132 |
"}\n", |
|
|
3133 |
"\n", |
|
|
3134 |
"#sk-container-id-5 label.sk-toggleable__label-arrow:before {\n", |
|
|
3135 |
" /* Arrow on the left of the label */\n", |
|
|
3136 |
" content: \"▸\";\n", |
|
|
3137 |
" float: left;\n", |
|
|
3138 |
" margin-right: 0.25em;\n", |
|
|
3139 |
" color: var(--sklearn-color-icon);\n", |
|
|
3140 |
"}\n", |
|
|
3141 |
"\n", |
|
|
3142 |
"#sk-container-id-5 label.sk-toggleable__label-arrow:hover:before {\n", |
|
|
3143 |
" color: var(--sklearn-color-text);\n", |
|
|
3144 |
"}\n", |
|
|
3145 |
"\n", |
|
|
3146 |
"/* Toggleable content - dropdown */\n", |
|
|
3147 |
"\n", |
|
|
3148 |
"#sk-container-id-5 div.sk-toggleable__content {\n", |
|
|
3149 |
" max-height: 0;\n", |
|
|
3150 |
" max-width: 0;\n", |
|
|
3151 |
" overflow: hidden;\n", |
|
|
3152 |
" text-align: left;\n", |
|
|
3153 |
" /* unfitted */\n", |
|
|
3154 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
3155 |
"}\n", |
|
|
3156 |
"\n", |
|
|
3157 |
"#sk-container-id-5 div.sk-toggleable__content.fitted {\n", |
|
|
3158 |
" /* fitted */\n", |
|
|
3159 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
3160 |
"}\n", |
|
|
3161 |
"\n", |
|
|
3162 |
"#sk-container-id-5 div.sk-toggleable__content pre {\n", |
|
|
3163 |
" margin: 0.2em;\n", |
|
|
3164 |
" border-radius: 0.25em;\n", |
|
|
3165 |
" color: var(--sklearn-color-text);\n", |
|
|
3166 |
" /* unfitted */\n", |
|
|
3167 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
3168 |
"}\n", |
|
|
3169 |
"\n", |
|
|
3170 |
"#sk-container-id-5 div.sk-toggleable__content.fitted pre {\n", |
|
|
3171 |
" /* unfitted */\n", |
|
|
3172 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
3173 |
"}\n", |
|
|
3174 |
"\n", |
|
|
3175 |
"#sk-container-id-5 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n", |
|
|
3176 |
" /* Expand drop-down */\n", |
|
|
3177 |
" max-height: 200px;\n", |
|
|
3178 |
" max-width: 100%;\n", |
|
|
3179 |
" overflow: auto;\n", |
|
|
3180 |
"}\n", |
|
|
3181 |
"\n", |
|
|
3182 |
"#sk-container-id-5 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n", |
|
|
3183 |
" content: \"▾\";\n", |
|
|
3184 |
"}\n", |
|
|
3185 |
"\n", |
|
|
3186 |
"/* Pipeline/ColumnTransformer-specific style */\n", |
|
|
3187 |
"\n", |
|
|
3188 |
"#sk-container-id-5 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
3189 |
" color: var(--sklearn-color-text);\n", |
|
|
3190 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
3191 |
"}\n", |
|
|
3192 |
"\n", |
|
|
3193 |
"#sk-container-id-5 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
3194 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
3195 |
"}\n", |
|
|
3196 |
"\n", |
|
|
3197 |
"/* Estimator-specific style */\n", |
|
|
3198 |
"\n", |
|
|
3199 |
"/* Colorize estimator box */\n", |
|
|
3200 |
"#sk-container-id-5 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
3201 |
" /* unfitted */\n", |
|
|
3202 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
3203 |
"}\n", |
|
|
3204 |
"\n", |
|
|
3205 |
"#sk-container-id-5 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
3206 |
" /* fitted */\n", |
|
|
3207 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
3208 |
"}\n", |
|
|
3209 |
"\n", |
|
|
3210 |
"#sk-container-id-5 div.sk-label label.sk-toggleable__label,\n", |
|
|
3211 |
"#sk-container-id-5 div.sk-label label {\n", |
|
|
3212 |
" /* The background is the default theme color */\n", |
|
|
3213 |
" color: var(--sklearn-color-text-on-default-background);\n", |
|
|
3214 |
"}\n", |
|
|
3215 |
"\n", |
|
|
3216 |
"/* On hover, darken the color of the background */\n", |
|
|
3217 |
"#sk-container-id-5 div.sk-label:hover label.sk-toggleable__label {\n", |
|
|
3218 |
" color: var(--sklearn-color-text);\n", |
|
|
3219 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
3220 |
"}\n", |
|
|
3221 |
"\n", |
|
|
3222 |
"/* Label box, darken color on hover, fitted */\n", |
|
|
3223 |
"#sk-container-id-5 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n", |
|
|
3224 |
" color: var(--sklearn-color-text);\n", |
|
|
3225 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
3226 |
"}\n", |
|
|
3227 |
"\n", |
|
|
3228 |
"/* Estimator label */\n", |
|
|
3229 |
"\n", |
|
|
3230 |
"#sk-container-id-5 div.sk-label label {\n", |
|
|
3231 |
" font-family: monospace;\n", |
|
|
3232 |
" font-weight: bold;\n", |
|
|
3233 |
" display: inline-block;\n", |
|
|
3234 |
" line-height: 1.2em;\n", |
|
|
3235 |
"}\n", |
|
|
3236 |
"\n", |
|
|
3237 |
"#sk-container-id-5 div.sk-label-container {\n", |
|
|
3238 |
" text-align: center;\n", |
|
|
3239 |
"}\n", |
|
|
3240 |
"\n", |
|
|
3241 |
"/* Estimator-specific */\n", |
|
|
3242 |
"#sk-container-id-5 div.sk-estimator {\n", |
|
|
3243 |
" font-family: monospace;\n", |
|
|
3244 |
" border: 1px dotted var(--sklearn-color-border-box);\n", |
|
|
3245 |
" border-radius: 0.25em;\n", |
|
|
3246 |
" box-sizing: border-box;\n", |
|
|
3247 |
" margin-bottom: 0.5em;\n", |
|
|
3248 |
" /* unfitted */\n", |
|
|
3249 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
3250 |
"}\n", |
|
|
3251 |
"\n", |
|
|
3252 |
"#sk-container-id-5 div.sk-estimator.fitted {\n", |
|
|
3253 |
" /* fitted */\n", |
|
|
3254 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
3255 |
"}\n", |
|
|
3256 |
"\n", |
|
|
3257 |
"/* on hover */\n", |
|
|
3258 |
"#sk-container-id-5 div.sk-estimator:hover {\n", |
|
|
3259 |
" /* unfitted */\n", |
|
|
3260 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
3261 |
"}\n", |
|
|
3262 |
"\n", |
|
|
3263 |
"#sk-container-id-5 div.sk-estimator.fitted:hover {\n", |
|
|
3264 |
" /* fitted */\n", |
|
|
3265 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
3266 |
"}\n", |
|
|
3267 |
"\n", |
|
|
3268 |
"/* Specification for estimator info (e.g. \"i\" and \"?\") */\n", |
|
|
3269 |
"\n", |
|
|
3270 |
"/* Common style for \"i\" and \"?\" */\n", |
|
|
3271 |
"\n", |
|
|
3272 |
".sk-estimator-doc-link,\n", |
|
|
3273 |
"a:link.sk-estimator-doc-link,\n", |
|
|
3274 |
"a:visited.sk-estimator-doc-link {\n", |
|
|
3275 |
" float: right;\n", |
|
|
3276 |
" font-size: smaller;\n", |
|
|
3277 |
" line-height: 1em;\n", |
|
|
3278 |
" font-family: monospace;\n", |
|
|
3279 |
" background-color: var(--sklearn-color-background);\n", |
|
|
3280 |
" border-radius: 1em;\n", |
|
|
3281 |
" height: 1em;\n", |
|
|
3282 |
" width: 1em;\n", |
|
|
3283 |
" text-decoration: none !important;\n", |
|
|
3284 |
" margin-left: 1ex;\n", |
|
|
3285 |
" /* unfitted */\n", |
|
|
3286 |
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", |
|
|
3287 |
" color: var(--sklearn-color-unfitted-level-1);\n", |
|
|
3288 |
"}\n", |
|
|
3289 |
"\n", |
|
|
3290 |
".sk-estimator-doc-link.fitted,\n", |
|
|
3291 |
"a:link.sk-estimator-doc-link.fitted,\n", |
|
|
3292 |
"a:visited.sk-estimator-doc-link.fitted {\n", |
|
|
3293 |
" /* fitted */\n", |
|
|
3294 |
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", |
|
|
3295 |
" color: var(--sklearn-color-fitted-level-1);\n", |
|
|
3296 |
"}\n", |
|
|
3297 |
"\n", |
|
|
3298 |
"/* On hover */\n", |
|
|
3299 |
"div.sk-estimator:hover .sk-estimator-doc-link:hover,\n", |
|
|
3300 |
".sk-estimator-doc-link:hover,\n", |
|
|
3301 |
"div.sk-label-container:hover .sk-estimator-doc-link:hover,\n", |
|
|
3302 |
".sk-estimator-doc-link:hover {\n", |
|
|
3303 |
" /* unfitted */\n", |
|
|
3304 |
" background-color: var(--sklearn-color-unfitted-level-3);\n", |
|
|
3305 |
" color: var(--sklearn-color-background);\n", |
|
|
3306 |
" text-decoration: none;\n", |
|
|
3307 |
"}\n", |
|
|
3308 |
"\n", |
|
|
3309 |
"div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n", |
|
|
3310 |
".sk-estimator-doc-link.fitted:hover,\n", |
|
|
3311 |
"div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n", |
|
|
3312 |
".sk-estimator-doc-link.fitted:hover {\n", |
|
|
3313 |
" /* fitted */\n", |
|
|
3314 |
" background-color: var(--sklearn-color-fitted-level-3);\n", |
|
|
3315 |
" color: var(--sklearn-color-background);\n", |
|
|
3316 |
" text-decoration: none;\n", |
|
|
3317 |
"}\n", |
|
|
3318 |
"\n", |
|
|
3319 |
"/* Span, style for the box shown on hovering the info icon */\n", |
|
|
3320 |
".sk-estimator-doc-link span {\n", |
|
|
3321 |
" display: none;\n", |
|
|
3322 |
" z-index: 9999;\n", |
|
|
3323 |
" position: relative;\n", |
|
|
3324 |
" font-weight: normal;\n", |
|
|
3325 |
" right: .2ex;\n", |
|
|
3326 |
" padding: .5ex;\n", |
|
|
3327 |
" margin: .5ex;\n", |
|
|
3328 |
" width: min-content;\n", |
|
|
3329 |
" min-width: 20ex;\n", |
|
|
3330 |
" max-width: 50ex;\n", |
|
|
3331 |
" color: var(--sklearn-color-text);\n", |
|
|
3332 |
" box-shadow: 2pt 2pt 4pt #999;\n", |
|
|
3333 |
" /* unfitted */\n", |
|
|
3334 |
" background: var(--sklearn-color-unfitted-level-0);\n", |
|
|
3335 |
" border: .5pt solid var(--sklearn-color-unfitted-level-3);\n", |
|
|
3336 |
"}\n", |
|
|
3337 |
"\n", |
|
|
3338 |
".sk-estimator-doc-link.fitted span {\n", |
|
|
3339 |
" /* fitted */\n", |
|
|
3340 |
" background: var(--sklearn-color-fitted-level-0);\n", |
|
|
3341 |
" border: var(--sklearn-color-fitted-level-3);\n", |
|
|
3342 |
"}\n", |
|
|
3343 |
"\n", |
|
|
3344 |
".sk-estimator-doc-link:hover span {\n", |
|
|
3345 |
" display: block;\n", |
|
|
3346 |
"}\n", |
|
|
3347 |
"\n", |
|
|
3348 |
"/* \"?\"-specific style due to the `<a>` HTML tag */\n", |
|
|
3349 |
"\n", |
|
|
3350 |
"#sk-container-id-5 a.estimator_doc_link {\n", |
|
|
3351 |
" float: right;\n", |
|
|
3352 |
" font-size: 1rem;\n", |
|
|
3353 |
" line-height: 1em;\n", |
|
|
3354 |
" font-family: monospace;\n", |
|
|
3355 |
" background-color: var(--sklearn-color-background);\n", |
|
|
3356 |
" border-radius: 1rem;\n", |
|
|
3357 |
" height: 1rem;\n", |
|
|
3358 |
" width: 1rem;\n", |
|
|
3359 |
" text-decoration: none;\n", |
|
|
3360 |
" /* unfitted */\n", |
|
|
3361 |
" color: var(--sklearn-color-unfitted-level-1);\n", |
|
|
3362 |
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", |
|
|
3363 |
"}\n", |
|
|
3364 |
"\n", |
|
|
3365 |
"#sk-container-id-5 a.estimator_doc_link.fitted {\n", |
|
|
3366 |
" /* fitted */\n", |
|
|
3367 |
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", |
|
|
3368 |
" color: var(--sklearn-color-fitted-level-1);\n", |
|
|
3369 |
"}\n", |
|
|
3370 |
"\n", |
|
|
3371 |
"/* On hover */\n", |
|
|
3372 |
"#sk-container-id-5 a.estimator_doc_link:hover {\n", |
|
|
3373 |
" /* unfitted */\n", |
|
|
3374 |
" background-color: var(--sklearn-color-unfitted-level-3);\n", |
|
|
3375 |
" color: var(--sklearn-color-background);\n", |
|
|
3376 |
" text-decoration: none;\n", |
|
|
3377 |
"}\n", |
|
|
3378 |
"\n", |
|
|
3379 |
"#sk-container-id-5 a.estimator_doc_link.fitted:hover {\n", |
|
|
3380 |
" /* fitted */\n", |
|
|
3381 |
" background-color: var(--sklearn-color-fitted-level-3);\n", |
|
|
3382 |
"}\n", |
|
|
3383 |
"</style><div id=\"sk-container-id-5\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>GridSearchCV(cv=5, estimator=DecisionTreeClassifier(), n_jobs=-1,\n", |
|
|
3384 |
" param_grid={'criterion': ['gini', 'entropy'],\n", |
|
|
3385 |
" 'max_depth': range(2, 32),\n", |
|
|
3386 |
" 'min_samples_leaf': range(1, 10),\n", |
|
|
3387 |
" 'min_samples_split': range(2, 10),\n", |
|
|
3388 |
" 'splitter': ['best', 'random']},\n", |
|
|
3389 |
" verbose=1)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item sk-dashed-wrapped\"><div class=\"sk-label-container\"><div class=\"sk-label fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-7\" type=\"checkbox\" ><label for=\"sk-estimator-id-7\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\"> GridSearchCV<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.model_selection.GridSearchCV.html\">?<span>Documentation for GridSearchCV</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>GridSearchCV(cv=5, estimator=DecisionTreeClassifier(), n_jobs=-1,\n", |
|
|
3390 |
" param_grid={'criterion': ['gini', 'entropy'],\n", |
|
|
3391 |
" 'max_depth': range(2, 32),\n", |
|
|
3392 |
" 'min_samples_leaf': range(1, 10),\n", |
|
|
3393 |
" 'min_samples_split': range(2, 10),\n", |
|
|
3394 |
" 'splitter': ['best', 'random']},\n", |
|
|
3395 |
" verbose=1)</pre></div> </div></div><div class=\"sk-parallel\"><div class=\"sk-parallel-item\"><div class=\"sk-item\"><div class=\"sk-label-container\"><div class=\"sk-label fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-8\" type=\"checkbox\" ><label for=\"sk-estimator-id-8\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">estimator: DecisionTreeClassifier</label><div class=\"sk-toggleable__content fitted\"><pre>DecisionTreeClassifier()</pre></div> </div></div><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-9\" type=\"checkbox\" ><label for=\"sk-estimator-id-9\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\"> DecisionTreeClassifier<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.tree.DecisionTreeClassifier.html\">?<span>Documentation for DecisionTreeClassifier</span></a></label><div class=\"sk-toggleable__content fitted\"><pre>DecisionTreeClassifier()</pre></div> </div></div></div></div></div></div></div></div></div>" |
|
|
3396 |
], |
|
|
3397 |
"text/plain": [ |
|
|
3398 |
"GridSearchCV(cv=5, estimator=DecisionTreeClassifier(), n_jobs=-1,\n", |
|
|
3399 |
" param_grid={'criterion': ['gini', 'entropy'],\n", |
|
|
3400 |
" 'max_depth': range(2, 32),\n", |
|
|
3401 |
" 'min_samples_leaf': range(1, 10),\n", |
|
|
3402 |
" 'min_samples_split': range(2, 10),\n", |
|
|
3403 |
" 'splitter': ['best', 'random']},\n", |
|
|
3404 |
" verbose=1)" |
|
|
3405 |
] |
|
|
3406 |
}, |
|
|
3407 |
"execution_count": 34, |
|
|
3408 |
"metadata": {}, |
|
|
3409 |
"output_type": "execute_result" |
|
|
3410 |
} |
|
|
3411 |
], |
|
|
3412 |
"source": [ |
|
|
3413 |
"from sklearn.tree import DecisionTreeClassifier\n", |
|
|
3414 |
"\n", |
|
|
3415 |
"dtc = DecisionTreeClassifier()\n", |
|
|
3416 |
"\n", |
|
|
3417 |
"parameters = {\n", |
|
|
3418 |
" 'criterion' : ['gini', 'entropy'],\n", |
|
|
3419 |
" 'max_depth' : range(2, 32, 1),\n", |
|
|
3420 |
" 'min_samples_leaf' : range(1, 10, 1),\n", |
|
|
3421 |
" 'min_samples_split' : range(2, 10, 1),\n", |
|
|
3422 |
" 'splitter' : ['best', 'random']\n", |
|
|
3423 |
"}\n", |
|
|
3424 |
"\n", |
|
|
3425 |
"grid_search_dt = GridSearchCV(dtc, parameters, cv = 5, n_jobs = -1, verbose = 1)\n", |
|
|
3426 |
"grid_search_dt.fit(X_train, y_train)" |
|
|
3427 |
] |
|
|
3428 |
}, |
|
|
3429 |
{ |
|
|
3430 |
"cell_type": "code", |
|
|
3431 |
"execution_count": 35, |
|
|
3432 |
"id": "96fb1e94-efa2-4981-82d4-2e6049c70031", |
|
|
3433 |
"metadata": {}, |
|
|
3434 |
"outputs": [ |
|
|
3435 |
{ |
|
|
3436 |
"data": { |
|
|
3437 |
"text/plain": [ |
|
|
3438 |
"{'criterion': 'entropy',\n", |
|
|
3439 |
" 'max_depth': 12,\n", |
|
|
3440 |
" 'min_samples_leaf': 4,\n", |
|
|
3441 |
" 'min_samples_split': 2,\n", |
|
|
3442 |
" 'splitter': 'random'}" |
|
|
3443 |
] |
|
|
3444 |
}, |
|
|
3445 |
"execution_count": 35, |
|
|
3446 |
"metadata": {}, |
|
|
3447 |
"output_type": "execute_result" |
|
|
3448 |
} |
|
|
3449 |
], |
|
|
3450 |
"source": [ |
|
|
3451 |
"# best parameters\n", |
|
|
3452 |
"\n", |
|
|
3453 |
"grid_search_dt.best_params_" |
|
|
3454 |
] |
|
|
3455 |
}, |
|
|
3456 |
{ |
|
|
3457 |
"cell_type": "code", |
|
|
3458 |
"execution_count": 36, |
|
|
3459 |
"id": "c9880239-069c-4ee8-b5d7-15c97ffcb467", |
|
|
3460 |
"metadata": {}, |
|
|
3461 |
"outputs": [ |
|
|
3462 |
{ |
|
|
3463 |
"data": { |
|
|
3464 |
"text/plain": [ |
|
|
3465 |
"0.9623734177215189" |
|
|
3466 |
] |
|
|
3467 |
}, |
|
|
3468 |
"execution_count": 36, |
|
|
3469 |
"metadata": {}, |
|
|
3470 |
"output_type": "execute_result" |
|
|
3471 |
} |
|
|
3472 |
], |
|
|
3473 |
"source": [ |
|
|
3474 |
"# best score\n", |
|
|
3475 |
"\n", |
|
|
3476 |
"grid_search_dt.best_score_" |
|
|
3477 |
] |
|
|
3478 |
}, |
|
|
3479 |
{ |
|
|
3480 |
"cell_type": "code", |
|
|
3481 |
"execution_count": 37, |
|
|
3482 |
"id": "f2a4bd0f-3c12-41ea-a335-4212fb48030b", |
|
|
3483 |
"metadata": {}, |
|
|
3484 |
"outputs": [ |
|
|
3485 |
{ |
|
|
3486 |
"data": { |
|
|
3487 |
"text/html": [ |
|
|
3488 |
"<style>#sk-container-id-6 {\n", |
|
|
3489 |
" /* Definition of color scheme common for light and dark mode */\n", |
|
|
3490 |
" --sklearn-color-text: black;\n", |
|
|
3491 |
" --sklearn-color-line: gray;\n", |
|
|
3492 |
" /* Definition of color scheme for unfitted estimators */\n", |
|
|
3493 |
" --sklearn-color-unfitted-level-0: #fff5e6;\n", |
|
|
3494 |
" --sklearn-color-unfitted-level-1: #f6e4d2;\n", |
|
|
3495 |
" --sklearn-color-unfitted-level-2: #ffe0b3;\n", |
|
|
3496 |
" --sklearn-color-unfitted-level-3: chocolate;\n", |
|
|
3497 |
" /* Definition of color scheme for fitted estimators */\n", |
|
|
3498 |
" --sklearn-color-fitted-level-0: #f0f8ff;\n", |
|
|
3499 |
" --sklearn-color-fitted-level-1: #d4ebff;\n", |
|
|
3500 |
" --sklearn-color-fitted-level-2: #b3dbfd;\n", |
|
|
3501 |
" --sklearn-color-fitted-level-3: cornflowerblue;\n", |
|
|
3502 |
"\n", |
|
|
3503 |
" /* Specific color for light theme */\n", |
|
|
3504 |
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", |
|
|
3505 |
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n", |
|
|
3506 |
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n", |
|
|
3507 |
" --sklearn-color-icon: #696969;\n", |
|
|
3508 |
"\n", |
|
|
3509 |
" @media (prefers-color-scheme: dark) {\n", |
|
|
3510 |
" /* Redefinition of color scheme for dark theme */\n", |
|
|
3511 |
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", |
|
|
3512 |
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n", |
|
|
3513 |
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n", |
|
|
3514 |
" --sklearn-color-icon: #878787;\n", |
|
|
3515 |
" }\n", |
|
|
3516 |
"}\n", |
|
|
3517 |
"\n", |
|
|
3518 |
"#sk-container-id-6 {\n", |
|
|
3519 |
" color: var(--sklearn-color-text);\n", |
|
|
3520 |
"}\n", |
|
|
3521 |
"\n", |
|
|
3522 |
"#sk-container-id-6 pre {\n", |
|
|
3523 |
" padding: 0;\n", |
|
|
3524 |
"}\n", |
|
|
3525 |
"\n", |
|
|
3526 |
"#sk-container-id-6 input.sk-hidden--visually {\n", |
|
|
3527 |
" border: 0;\n", |
|
|
3528 |
" clip: rect(1px 1px 1px 1px);\n", |
|
|
3529 |
" clip: rect(1px, 1px, 1px, 1px);\n", |
|
|
3530 |
" height: 1px;\n", |
|
|
3531 |
" margin: -1px;\n", |
|
|
3532 |
" overflow: hidden;\n", |
|
|
3533 |
" padding: 0;\n", |
|
|
3534 |
" position: absolute;\n", |
|
|
3535 |
" width: 1px;\n", |
|
|
3536 |
"}\n", |
|
|
3537 |
"\n", |
|
|
3538 |
"#sk-container-id-6 div.sk-dashed-wrapped {\n", |
|
|
3539 |
" border: 1px dashed var(--sklearn-color-line);\n", |
|
|
3540 |
" margin: 0 0.4em 0.5em 0.4em;\n", |
|
|
3541 |
" box-sizing: border-box;\n", |
|
|
3542 |
" padding-bottom: 0.4em;\n", |
|
|
3543 |
" background-color: var(--sklearn-color-background);\n", |
|
|
3544 |
"}\n", |
|
|
3545 |
"\n", |
|
|
3546 |
"#sk-container-id-6 div.sk-container {\n", |
|
|
3547 |
" /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n", |
|
|
3548 |
" but bootstrap.min.css set `[hidden] { display: none !important; }`\n", |
|
|
3549 |
" so we also need the `!important` here to be able to override the\n", |
|
|
3550 |
" default hidden behavior on the sphinx rendered scikit-learn.org.\n", |
|
|
3551 |
" See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n", |
|
|
3552 |
" display: inline-block !important;\n", |
|
|
3553 |
" position: relative;\n", |
|
|
3554 |
"}\n", |
|
|
3555 |
"\n", |
|
|
3556 |
"#sk-container-id-6 div.sk-text-repr-fallback {\n", |
|
|
3557 |
" display: none;\n", |
|
|
3558 |
"}\n", |
|
|
3559 |
"\n", |
|
|
3560 |
"div.sk-parallel-item,\n", |
|
|
3561 |
"div.sk-serial,\n", |
|
|
3562 |
"div.sk-item {\n", |
|
|
3563 |
" /* draw centered vertical line to link estimators */\n", |
|
|
3564 |
" background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n", |
|
|
3565 |
" background-size: 2px 100%;\n", |
|
|
3566 |
" background-repeat: no-repeat;\n", |
|
|
3567 |
" background-position: center center;\n", |
|
|
3568 |
"}\n", |
|
|
3569 |
"\n", |
|
|
3570 |
"/* Parallel-specific style estimator block */\n", |
|
|
3571 |
"\n", |
|
|
3572 |
"#sk-container-id-6 div.sk-parallel-item::after {\n", |
|
|
3573 |
" content: \"\";\n", |
|
|
3574 |
" width: 100%;\n", |
|
|
3575 |
" border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n", |
|
|
3576 |
" flex-grow: 1;\n", |
|
|
3577 |
"}\n", |
|
|
3578 |
"\n", |
|
|
3579 |
"#sk-container-id-6 div.sk-parallel {\n", |
|
|
3580 |
" display: flex;\n", |
|
|
3581 |
" align-items: stretch;\n", |
|
|
3582 |
" justify-content: center;\n", |
|
|
3583 |
" background-color: var(--sklearn-color-background);\n", |
|
|
3584 |
" position: relative;\n", |
|
|
3585 |
"}\n", |
|
|
3586 |
"\n", |
|
|
3587 |
"#sk-container-id-6 div.sk-parallel-item {\n", |
|
|
3588 |
" display: flex;\n", |
|
|
3589 |
" flex-direction: column;\n", |
|
|
3590 |
"}\n", |
|
|
3591 |
"\n", |
|
|
3592 |
"#sk-container-id-6 div.sk-parallel-item:first-child::after {\n", |
|
|
3593 |
" align-self: flex-end;\n", |
|
|
3594 |
" width: 50%;\n", |
|
|
3595 |
"}\n", |
|
|
3596 |
"\n", |
|
|
3597 |
"#sk-container-id-6 div.sk-parallel-item:last-child::after {\n", |
|
|
3598 |
" align-self: flex-start;\n", |
|
|
3599 |
" width: 50%;\n", |
|
|
3600 |
"}\n", |
|
|
3601 |
"\n", |
|
|
3602 |
"#sk-container-id-6 div.sk-parallel-item:only-child::after {\n", |
|
|
3603 |
" width: 0;\n", |
|
|
3604 |
"}\n", |
|
|
3605 |
"\n", |
|
|
3606 |
"/* Serial-specific style estimator block */\n", |
|
|
3607 |
"\n", |
|
|
3608 |
"#sk-container-id-6 div.sk-serial {\n", |
|
|
3609 |
" display: flex;\n", |
|
|
3610 |
" flex-direction: column;\n", |
|
|
3611 |
" align-items: center;\n", |
|
|
3612 |
" background-color: var(--sklearn-color-background);\n", |
|
|
3613 |
" padding-right: 1em;\n", |
|
|
3614 |
" padding-left: 1em;\n", |
|
|
3615 |
"}\n", |
|
|
3616 |
"\n", |
|
|
3617 |
"\n", |
|
|
3618 |
"/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n", |
|
|
3619 |
"clickable and can be expanded/collapsed.\n", |
|
|
3620 |
"- Pipeline and ColumnTransformer use this feature and define the default style\n", |
|
|
3621 |
"- Estimators will overwrite some part of the style using the `sk-estimator` class\n", |
|
|
3622 |
"*/\n", |
|
|
3623 |
"\n", |
|
|
3624 |
"/* Pipeline and ColumnTransformer style (default) */\n", |
|
|
3625 |
"\n", |
|
|
3626 |
"#sk-container-id-6 div.sk-toggleable {\n", |
|
|
3627 |
" /* Default theme specific background. It is overwritten whether we have a\n", |
|
|
3628 |
" specific estimator or a Pipeline/ColumnTransformer */\n", |
|
|
3629 |
" background-color: var(--sklearn-color-background);\n", |
|
|
3630 |
"}\n", |
|
|
3631 |
"\n", |
|
|
3632 |
"/* Toggleable label */\n", |
|
|
3633 |
"#sk-container-id-6 label.sk-toggleable__label {\n", |
|
|
3634 |
" cursor: pointer;\n", |
|
|
3635 |
" display: block;\n", |
|
|
3636 |
" width: 100%;\n", |
|
|
3637 |
" margin-bottom: 0;\n", |
|
|
3638 |
" padding: 0.5em;\n", |
|
|
3639 |
" box-sizing: border-box;\n", |
|
|
3640 |
" text-align: center;\n", |
|
|
3641 |
"}\n", |
|
|
3642 |
"\n", |
|
|
3643 |
"#sk-container-id-6 label.sk-toggleable__label-arrow:before {\n", |
|
|
3644 |
" /* Arrow on the left of the label */\n", |
|
|
3645 |
" content: \"▸\";\n", |
|
|
3646 |
" float: left;\n", |
|
|
3647 |
" margin-right: 0.25em;\n", |
|
|
3648 |
" color: var(--sklearn-color-icon);\n", |
|
|
3649 |
"}\n", |
|
|
3650 |
"\n", |
|
|
3651 |
"#sk-container-id-6 label.sk-toggleable__label-arrow:hover:before {\n", |
|
|
3652 |
" color: var(--sklearn-color-text);\n", |
|
|
3653 |
"}\n", |
|
|
3654 |
"\n", |
|
|
3655 |
"/* Toggleable content - dropdown */\n", |
|
|
3656 |
"\n", |
|
|
3657 |
"#sk-container-id-6 div.sk-toggleable__content {\n", |
|
|
3658 |
" max-height: 0;\n", |
|
|
3659 |
" max-width: 0;\n", |
|
|
3660 |
" overflow: hidden;\n", |
|
|
3661 |
" text-align: left;\n", |
|
|
3662 |
" /* unfitted */\n", |
|
|
3663 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
3664 |
"}\n", |
|
|
3665 |
"\n", |
|
|
3666 |
"#sk-container-id-6 div.sk-toggleable__content.fitted {\n", |
|
|
3667 |
" /* fitted */\n", |
|
|
3668 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
3669 |
"}\n", |
|
|
3670 |
"\n", |
|
|
3671 |
"#sk-container-id-6 div.sk-toggleable__content pre {\n", |
|
|
3672 |
" margin: 0.2em;\n", |
|
|
3673 |
" border-radius: 0.25em;\n", |
|
|
3674 |
" color: var(--sklearn-color-text);\n", |
|
|
3675 |
" /* unfitted */\n", |
|
|
3676 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
3677 |
"}\n", |
|
|
3678 |
"\n", |
|
|
3679 |
"#sk-container-id-6 div.sk-toggleable__content.fitted pre {\n", |
|
|
3680 |
" /* unfitted */\n", |
|
|
3681 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
3682 |
"}\n", |
|
|
3683 |
"\n", |
|
|
3684 |
"#sk-container-id-6 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n", |
|
|
3685 |
" /* Expand drop-down */\n", |
|
|
3686 |
" max-height: 200px;\n", |
|
|
3687 |
" max-width: 100%;\n", |
|
|
3688 |
" overflow: auto;\n", |
|
|
3689 |
"}\n", |
|
|
3690 |
"\n", |
|
|
3691 |
"#sk-container-id-6 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n", |
|
|
3692 |
" content: \"▾\";\n", |
|
|
3693 |
"}\n", |
|
|
3694 |
"\n", |
|
|
3695 |
"/* Pipeline/ColumnTransformer-specific style */\n", |
|
|
3696 |
"\n", |
|
|
3697 |
"#sk-container-id-6 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
3698 |
" color: var(--sklearn-color-text);\n", |
|
|
3699 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
3700 |
"}\n", |
|
|
3701 |
"\n", |
|
|
3702 |
"#sk-container-id-6 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
3703 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
3704 |
"}\n", |
|
|
3705 |
"\n", |
|
|
3706 |
"/* Estimator-specific style */\n", |
|
|
3707 |
"\n", |
|
|
3708 |
"/* Colorize estimator box */\n", |
|
|
3709 |
"#sk-container-id-6 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
3710 |
" /* unfitted */\n", |
|
|
3711 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
3712 |
"}\n", |
|
|
3713 |
"\n", |
|
|
3714 |
"#sk-container-id-6 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n", |
|
|
3715 |
" /* fitted */\n", |
|
|
3716 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
3717 |
"}\n", |
|
|
3718 |
"\n", |
|
|
3719 |
"#sk-container-id-6 div.sk-label label.sk-toggleable__label,\n", |
|
|
3720 |
"#sk-container-id-6 div.sk-label label {\n", |
|
|
3721 |
" /* The background is the default theme color */\n", |
|
|
3722 |
" color: var(--sklearn-color-text-on-default-background);\n", |
|
|
3723 |
"}\n", |
|
|
3724 |
"\n", |
|
|
3725 |
"/* On hover, darken the color of the background */\n", |
|
|
3726 |
"#sk-container-id-6 div.sk-label:hover label.sk-toggleable__label {\n", |
|
|
3727 |
" color: var(--sklearn-color-text);\n", |
|
|
3728 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
3729 |
"}\n", |
|
|
3730 |
"\n", |
|
|
3731 |
"/* Label box, darken color on hover, fitted */\n", |
|
|
3732 |
"#sk-container-id-6 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n", |
|
|
3733 |
" color: var(--sklearn-color-text);\n", |
|
|
3734 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
3735 |
"}\n", |
|
|
3736 |
"\n", |
|
|
3737 |
"/* Estimator label */\n", |
|
|
3738 |
"\n", |
|
|
3739 |
"#sk-container-id-6 div.sk-label label {\n", |
|
|
3740 |
" font-family: monospace;\n", |
|
|
3741 |
" font-weight: bold;\n", |
|
|
3742 |
" display: inline-block;\n", |
|
|
3743 |
" line-height: 1.2em;\n", |
|
|
3744 |
"}\n", |
|
|
3745 |
"\n", |
|
|
3746 |
"#sk-container-id-6 div.sk-label-container {\n", |
|
|
3747 |
" text-align: center;\n", |
|
|
3748 |
"}\n", |
|
|
3749 |
"\n", |
|
|
3750 |
"/* Estimator-specific */\n", |
|
|
3751 |
"#sk-container-id-6 div.sk-estimator {\n", |
|
|
3752 |
" font-family: monospace;\n", |
|
|
3753 |
" border: 1px dotted var(--sklearn-color-border-box);\n", |
|
|
3754 |
" border-radius: 0.25em;\n", |
|
|
3755 |
" box-sizing: border-box;\n", |
|
|
3756 |
" margin-bottom: 0.5em;\n", |
|
|
3757 |
" /* unfitted */\n", |
|
|
3758 |
" background-color: var(--sklearn-color-unfitted-level-0);\n", |
|
|
3759 |
"}\n", |
|
|
3760 |
"\n", |
|
|
3761 |
"#sk-container-id-6 div.sk-estimator.fitted {\n", |
|
|
3762 |
" /* fitted */\n", |
|
|
3763 |
" background-color: var(--sklearn-color-fitted-level-0);\n", |
|
|
3764 |
"}\n", |
|
|
3765 |
"\n", |
|
|
3766 |
"/* on hover */\n", |
|
|
3767 |
"#sk-container-id-6 div.sk-estimator:hover {\n", |
|
|
3768 |
" /* unfitted */\n", |
|
|
3769 |
" background-color: var(--sklearn-color-unfitted-level-2);\n", |
|
|
3770 |
"}\n", |
|
|
3771 |
"\n", |
|
|
3772 |
"#sk-container-id-6 div.sk-estimator.fitted:hover {\n", |
|
|
3773 |
" /* fitted */\n", |
|
|
3774 |
" background-color: var(--sklearn-color-fitted-level-2);\n", |
|
|
3775 |
"}\n", |
|
|
3776 |
"\n", |
|
|
3777 |
"/* Specification for estimator info (e.g. \"i\" and \"?\") */\n", |
|
|
3778 |
"\n", |
|
|
3779 |
"/* Common style for \"i\" and \"?\" */\n", |
|
|
3780 |
"\n", |
|
|
3781 |
".sk-estimator-doc-link,\n", |
|
|
3782 |
"a:link.sk-estimator-doc-link,\n", |
|
|
3783 |
"a:visited.sk-estimator-doc-link {\n", |
|
|
3784 |
" float: right;\n", |
|
|
3785 |
" font-size: smaller;\n", |
|
|
3786 |
" line-height: 1em;\n", |
|
|
3787 |
" font-family: monospace;\n", |
|
|
3788 |
" background-color: var(--sklearn-color-background);\n", |
|
|
3789 |
" border-radius: 1em;\n", |
|
|
3790 |
" height: 1em;\n", |
|
|
3791 |
" width: 1em;\n", |
|
|
3792 |
" text-decoration: none !important;\n", |
|
|
3793 |
" margin-left: 1ex;\n", |
|
|
3794 |
" /* unfitted */\n", |
|
|
3795 |
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", |
|
|
3796 |
" color: var(--sklearn-color-unfitted-level-1);\n", |
|
|
3797 |
"}\n", |
|
|
3798 |
"\n", |
|
|
3799 |
".sk-estimator-doc-link.fitted,\n", |
|
|
3800 |
"a:link.sk-estimator-doc-link.fitted,\n", |
|
|
3801 |
"a:visited.sk-estimator-doc-link.fitted {\n", |
|
|
3802 |
" /* fitted */\n", |
|
|
3803 |
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", |
|
|
3804 |
" color: var(--sklearn-color-fitted-level-1);\n", |
|
|
3805 |
"}\n", |
|
|
3806 |
"\n", |
|
|
3807 |
"/* On hover */\n", |
|
|
3808 |
"div.sk-estimator:hover .sk-estimator-doc-link:hover,\n", |
|
|
3809 |
".sk-estimator-doc-link:hover,\n", |
|
|
3810 |
"div.sk-label-container:hover .sk-estimator-doc-link:hover,\n", |
|
|
3811 |
".sk-estimator-doc-link:hover {\n", |
|
|
3812 |
" /* unfitted */\n", |
|
|
3813 |
" background-color: var(--sklearn-color-unfitted-level-3);\n", |
|
|
3814 |
" color: var(--sklearn-color-background);\n", |
|
|
3815 |
" text-decoration: none;\n", |
|
|
3816 |
"}\n", |
|
|
3817 |
"\n", |
|
|
3818 |
"div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n", |
|
|
3819 |
".sk-estimator-doc-link.fitted:hover,\n", |
|
|
3820 |
"div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n", |
|
|
3821 |
".sk-estimator-doc-link.fitted:hover {\n", |
|
|
3822 |
" /* fitted */\n", |
|
|
3823 |
" background-color: var(--sklearn-color-fitted-level-3);\n", |
|
|
3824 |
" color: var(--sklearn-color-background);\n", |
|
|
3825 |
" text-decoration: none;\n", |
|
|
3826 |
"}\n", |
|
|
3827 |
"\n", |
|
|
3828 |
"/* Span, style for the box shown on hovering the info icon */\n", |
|
|
3829 |
".sk-estimator-doc-link span {\n", |
|
|
3830 |
" display: none;\n", |
|
|
3831 |
" z-index: 9999;\n", |
|
|
3832 |
" position: relative;\n", |
|
|
3833 |
" font-weight: normal;\n", |
|
|
3834 |
" right: .2ex;\n", |
|
|
3835 |
" padding: .5ex;\n", |
|
|
3836 |
" margin: .5ex;\n", |
|
|
3837 |
" width: min-content;\n", |
|
|
3838 |
" min-width: 20ex;\n", |
|
|
3839 |
" max-width: 50ex;\n", |
|
|
3840 |
" color: var(--sklearn-color-text);\n", |
|
|
3841 |
" box-shadow: 2pt 2pt 4pt #999;\n", |
|
|
3842 |
" /* unfitted */\n", |
|
|
3843 |
" background: var(--sklearn-color-unfitted-level-0);\n", |
|
|
3844 |
" border: .5pt solid var(--sklearn-color-unfitted-level-3);\n", |
|
|
3845 |
"}\n", |
|
|
3846 |
"\n", |
|
|
3847 |
".sk-estimator-doc-link.fitted span {\n", |
|
|
3848 |
" /* fitted */\n", |
|
|
3849 |
" background: var(--sklearn-color-fitted-level-0);\n", |
|
|
3850 |
" border: var(--sklearn-color-fitted-level-3);\n", |
|
|
3851 |
"}\n", |
|
|
3852 |
"\n", |
|
|
3853 |
".sk-estimator-doc-link:hover span {\n", |
|
|
3854 |
" display: block;\n", |
|
|
3855 |
"}\n", |
|
|
3856 |
"\n", |
|
|
3857 |
"/* \"?\"-specific style due to the `<a>` HTML tag */\n", |
|
|
3858 |
"\n", |
|
|
3859 |
"#sk-container-id-6 a.estimator_doc_link {\n", |
|
|
3860 |
" float: right;\n", |
|
|
3861 |
" font-size: 1rem;\n", |
|
|
3862 |
" line-height: 1em;\n", |
|
|
3863 |
" font-family: monospace;\n", |
|
|
3864 |
" background-color: var(--sklearn-color-background);\n", |
|
|
3865 |
" border-radius: 1rem;\n", |
|
|
3866 |
" height: 1rem;\n", |
|
|
3867 |
" width: 1rem;\n", |
|
|
3868 |
" text-decoration: none;\n", |
|
|
3869 |
" /* unfitted */\n", |
|
|
3870 |
" color: var(--sklearn-color-unfitted-level-1);\n", |
|
|
3871 |
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n", |
|
|
3872 |
"}\n", |
|
|
3873 |
"\n", |
|
|
3874 |
"#sk-container-id-6 a.estimator_doc_link.fitted {\n", |
|
|
3875 |
" /* fitted */\n", |
|
|
3876 |
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n", |
|
|
3877 |
" color: var(--sklearn-color-fitted-level-1);\n", |
|
|
3878 |
"}\n", |
|
|
3879 |
"\n", |
|
|
3880 |
"/* On hover */\n", |
|
|
3881 |
"#sk-container-id-6 a.estimator_doc_link:hover {\n", |
|
|
3882 |
" /* unfitted */\n", |
|
|
3883 |
" background-color: var(--sklearn-color-unfitted-level-3);\n", |
|
|
3884 |
" color: var(--sklearn-color-background);\n", |
|
|
3885 |
" text-decoration: none;\n", |
|
|
3886 |
"}\n", |
|
|
3887 |
"\n", |
|
|
3888 |
"#sk-container-id-6 a.estimator_doc_link.fitted:hover {\n", |
|
|
3889 |
" /* fitted */\n", |
|
|
3890 |
" background-color: var(--sklearn-color-fitted-level-3);\n", |
|
|
3891 |
"}\n", |
|
|
3892 |
"</style><div id=\"sk-container-id-6\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>DecisionTreeClassifier(criterion='entropy', max_depth=19, min_samples_leaf=4,\n", |
|
|
3893 |
" min_samples_split=6, splitter='random')</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-10\" type=\"checkbox\" checked><label for=\"sk-estimator-id-10\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\"> DecisionTreeClassifier<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.tree.DecisionTreeClassifier.html\">?<span>Documentation for DecisionTreeClassifier</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>DecisionTreeClassifier(criterion='entropy', max_depth=19, min_samples_leaf=4,\n", |
|
|
3894 |
" min_samples_split=6, splitter='random')</pre></div> </div></div></div></div>" |
|
|
3895 |
], |
|
|
3896 |
"text/plain": [ |
|
|
3897 |
"DecisionTreeClassifier(criterion='entropy', max_depth=19, min_samples_leaf=4,\n", |
|
|
3898 |
" min_samples_split=6, splitter='random')" |
|
|
3899 |
] |
|
|
3900 |
}, |
|
|
3901 |
"execution_count": 37, |
|
|
3902 |
"metadata": {}, |
|
|
3903 |
"output_type": "execute_result" |
|
|
3904 |
} |
|
|
3905 |
], |
|
|
3906 |
"source": [ |
|
|
3907 |
"dtc = DecisionTreeClassifier(criterion= 'entropy', max_depth= 19, min_samples_leaf= 4, min_samples_split= 6, splitter= 'random')\n", |
|
|
3908 |
"dtc.fit(X_train, y_train)" |
|
|
3909 |
] |
|
|
3910 |
}, |
|
|
3911 |
{ |
|
|
3912 |
"cell_type": "code", |
|
|
3913 |
"execution_count": 38, |
|
|
3914 |
"id": "682c5cf4-bc68-4751-ad34-6b21b24e232e", |
|
|
3915 |
"metadata": {}, |
|
|
3916 |
"outputs": [], |
|
|
3917 |
"source": [ |
|
|
3918 |
"y_pred = dtc.predict(X_test)" |
|
|
3919 |
] |
|
|
3920 |
}, |
|
|
3921 |
{ |
|
|
3922 |
"cell_type": "code", |
|
|
3923 |
"execution_count": 39, |
|
|
3924 |
"id": "c7c6d8a4-9c4e-4d9c-b1fc-b2e4cd93f224", |
|
|
3925 |
"metadata": {}, |
|
|
3926 |
"outputs": [ |
|
|
3927 |
{ |
|
|
3928 |
"name": "stdout", |
|
|
3929 |
"output_type": "stream", |
|
|
3930 |
"text": [ |
|
|
3931 |
"0.9673366834170855\n", |
|
|
3932 |
"0.9298245614035088\n", |
|
|
3933 |
"[[100 8]\n", |
|
|
3934 |
" [ 4 59]]\n", |
|
|
3935 |
" precision recall f1-score support\n", |
|
|
3936 |
"\n", |
|
|
3937 |
" 0 0.96 0.93 0.94 108\n", |
|
|
3938 |
" 1 0.88 0.94 0.91 63\n", |
|
|
3939 |
"\n", |
|
|
3940 |
" accuracy 0.93 171\n", |
|
|
3941 |
" macro avg 0.92 0.93 0.93 171\n", |
|
|
3942 |
"weighted avg 0.93 0.93 0.93 171\n", |
|
|
3943 |
"\n" |
|
|
3944 |
] |
|
|
3945 |
} |
|
|
3946 |
], |
|
|
3947 |
"source": [ |
|
|
3948 |
"# accuracy score\n", |
|
|
3949 |
"\n", |
|
|
3950 |
"print(accuracy_score(y_train, dtc.predict(X_train)))\n", |
|
|
3951 |
"\n", |
|
|
3952 |
"dtc_acc = accuracy_score(y_test, dtc.predict(X_test))\n", |
|
|
3953 |
"print(dtc_acc)\n", |
|
|
3954 |
"\n", |
|
|
3955 |
"# confusion matrix\n", |
|
|
3956 |
"\n", |
|
|
3957 |
"print(confusion_matrix(y_test, y_pred))\n", |
|
|
3958 |
"\n", |
|
|
3959 |
"# classification report\n", |
|
|
3960 |
"\n", |
|
|
3961 |
"print(classification_report(y_test, y_pred))" |
|
|
3962 |
] |
|
|
3963 |
}, |
|
|
3964 |
{ |
|
|
3965 |
"cell_type": "code", |
|
|
3966 |
"execution_count": 40, |
|
|
3967 |
"id": "6295c993-7685-4e18-90a7-ccc6864d2502", |
|
|
3968 |
"metadata": {}, |
|
|
3969 |
"outputs": [], |
|
|
3970 |
"source": [ |
|
|
3971 |
"#Model Comparison" |
|
|
3972 |
] |
|
|
3973 |
}, |
|
|
3974 |
{ |
|
|
3975 |
"cell_type": "code", |
|
|
3976 |
"execution_count": 41, |
|
|
3977 |
"id": "1c52303f-c9ca-46cc-833b-136d95546b1c", |
|
|
3978 |
"metadata": {}, |
|
|
3979 |
"outputs": [ |
|
|
3980 |
{ |
|
|
3981 |
"data": { |
|
|
3982 |
"text/html": [ |
|
|
3983 |
"<div>\n", |
|
|
3984 |
"<style scoped>\n", |
|
|
3985 |
" .dataframe tbody tr th:only-of-type {\n", |
|
|
3986 |
" vertical-align: middle;\n", |
|
|
3987 |
" }\n", |
|
|
3988 |
"\n", |
|
|
3989 |
" .dataframe tbody tr th {\n", |
|
|
3990 |
" vertical-align: top;\n", |
|
|
3991 |
" }\n", |
|
|
3992 |
"\n", |
|
|
3993 |
" .dataframe thead th {\n", |
|
|
3994 |
" text-align: right;\n", |
|
|
3995 |
" }\n", |
|
|
3996 |
"</style>\n", |
|
|
3997 |
"<table border=\"1\" class=\"dataframe\">\n", |
|
|
3998 |
" <thead>\n", |
|
|
3999 |
" <tr style=\"text-align: right;\">\n", |
|
|
4000 |
" <th></th>\n", |
|
|
4001 |
" <th>Model</th>\n", |
|
|
4002 |
" <th>Score</th>\n", |
|
|
4003 |
" </tr>\n", |
|
|
4004 |
" </thead>\n", |
|
|
4005 |
" <tbody>\n", |
|
|
4006 |
" <tr>\n", |
|
|
4007 |
" <th>2</th>\n", |
|
|
4008 |
" <td>SVM</td>\n", |
|
|
4009 |
" <td>97.66</td>\n", |
|
|
4010 |
" </tr>\n", |
|
|
4011 |
" <tr>\n", |
|
|
4012 |
" <th>0</th>\n", |
|
|
4013 |
" <td>Logistic Regression</td>\n", |
|
|
4014 |
" <td>95.91</td>\n", |
|
|
4015 |
" </tr>\n", |
|
|
4016 |
" <tr>\n", |
|
|
4017 |
" <th>1</th>\n", |
|
|
4018 |
" <td>KNN</td>\n", |
|
|
4019 |
" <td>93.57</td>\n", |
|
|
4020 |
" </tr>\n", |
|
|
4021 |
" <tr>\n", |
|
|
4022 |
" <th>3</th>\n", |
|
|
4023 |
" <td>Decision Tree Classifier</td>\n", |
|
|
4024 |
" <td>92.98</td>\n", |
|
|
4025 |
" </tr>\n", |
|
|
4026 |
" </tbody>\n", |
|
|
4027 |
"</table>\n", |
|
|
4028 |
"</div>" |
|
|
4029 |
], |
|
|
4030 |
"text/plain": [ |
|
|
4031 |
" Model Score\n", |
|
|
4032 |
"2 SVM 97.66\n", |
|
|
4033 |
"0 Logistic Regression 95.91\n", |
|
|
4034 |
"1 KNN 93.57\n", |
|
|
4035 |
"3 Decision Tree Classifier 92.98" |
|
|
4036 |
] |
|
|
4037 |
}, |
|
|
4038 |
"execution_count": 41, |
|
|
4039 |
"metadata": {}, |
|
|
4040 |
"output_type": "execute_result" |
|
|
4041 |
} |
|
|
4042 |
], |
|
|
4043 |
"source": [ |
|
|
4044 |
"models = pd.DataFrame({\n", |
|
|
4045 |
" 'Model': ['Logistic Regression', 'KNN', 'SVM', 'Decision Tree Classifier'],\n", |
|
|
4046 |
" 'Score': [100*round(log_reg_acc,4), 100*round(knn_acc,4), 100*round(svc_acc,4), 100*round(dtc_acc,4)]\n", |
|
|
4047 |
"})\n", |
|
|
4048 |
"models.sort_values(by = 'Score', ascending = False)" |
|
|
4049 |
] |
|
|
4050 |
}, |
|
|
4051 |
{ |
|
|
4052 |
"cell_type": "code", |
|
|
4053 |
"execution_count": 56, |
|
|
4054 |
"id": "54f350fc-845d-448c-b7ef-76ab096d9f94", |
|
|
4055 |
"metadata": {}, |
|
|
4056 |
"outputs": [ |
|
|
4057 |
{ |
|
|
4058 |
"name": "stdout", |
|
|
4059 |
"output_type": "stream", |
|
|
4060 |
"text": [ |
|
|
4061 |
"[1]\n", |
|
|
4062 |
"M\n" |
|
|
4063 |
] |
|
|
4064 |
} |
|
|
4065 |
], |
|
|
4066 |
"source": [ |
|
|
4067 |
"from sklearn.linear_model import LogisticRegression\n", |
|
|
4068 |
"input_data =(10.38, 0.1184, 0.2776, 0.1471, 0.2419, 0.07871, 0.9053, 153.4, 0.006399, 0.04904, 0.05373, 0.01587, 0.03003, 0.006193, 17.33, 2019.0, 0.1622, 0.6656, 0.7119, 0.2654, 0.4601, 0.1189\n", |
|
|
4069 |
")\n", |
|
|
4070 |
"#100,12,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,0,0,1) \n", |
|
|
4071 |
"\n", |
|
|
4072 |
"'''(14.36,0.09779,0.08129,0.04781,0.1885,0.05766,0.7886,23.56,0.008462,\n", |
|
|
4073 |
"0.0146,0.02387,0.01315,0.0198,0.0023,15.11,711.2,0.144,0.1773,0.239,0.1288,0.2977,0.07259\n", |
|
|
4074 |
")'''\n", |
|
|
4075 |
"\n", |
|
|
4076 |
"from sklearn import svm\n", |
|
|
4077 |
"# changing the input_data to numpy array\n", |
|
|
4078 |
"input_data_as_numpy_array = np.asarray(input_data)\n", |
|
|
4079 |
"model = LogisticRegression()\n", |
|
|
4080 |
"model.fit(X_test, y_test)\n", |
|
|
4081 |
"\n", |
|
|
4082 |
"# reshape the array as we are predicting for one instance\n", |
|
|
4083 |
"input_data_reshaped = input_data_as_numpy_array.reshape(1,-1)\n", |
|
|
4084 |
"predictions = model.predict(input_data_reshaped)\n", |
|
|
4085 |
"print(predictions)\n", |
|
|
4086 |
"if (predictions == 0):\n", |
|
|
4087 |
" print('B')\n", |
|
|
4088 |
"else:\n", |
|
|
4089 |
" print('M')" |
|
|
4090 |
] |
|
|
4091 |
}, |
|
|
4092 |
{ |
|
|
4093 |
"cell_type": "code", |
|
|
4094 |
"execution_count": 43, |
|
|
4095 |
"id": "06e06ade-cff3-45ae-95cd-c8eb82bd21fd", |
|
|
4096 |
"metadata": {}, |
|
|
4097 |
"outputs": [ |
|
|
4098 |
{ |
|
|
4099 |
"name": "stdout", |
|
|
4100 |
"output_type": "stream", |
|
|
4101 |
"text": [ |
|
|
4102 |
"Model: LR\n", |
|
|
4103 |
"Mean Accuracy: 95.91%\n", |
|
|
4104 |
"Mean ROC AUC: 99.37%\n", |
|
|
4105 |
"------------------------------\n", |
|
|
4106 |
"Model: DT\n", |
|
|
4107 |
"Mean Accuracy: 92.98%\n", |
|
|
4108 |
"Mean ROC AUC: 95.06%\n", |
|
|
4109 |
"------------------------------\n", |
|
|
4110 |
"Model: SVM\n", |
|
|
4111 |
"Mean Accuracy: 97.66%\n", |
|
|
4112 |
"Mean ROC AUC: 99.81%\n", |
|
|
4113 |
"------------------------------\n", |
|
|
4114 |
"Model: KNN\n", |
|
|
4115 |
"Mean Accuracy: 93.57%\n", |
|
|
4116 |
"Mean ROC AUC: 97.02%\n", |
|
|
4117 |
"------------------------------\n" |
|
|
4118 |
] |
|
|
4119 |
}, |
|
|
4120 |
{ |
|
|
4121 |
"data": { |
|
|
4122 |
"image/png": "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pjtqERWHvtoWwy4REREViYWFBVJTUxl4Se9UKhVSU1NhYWFR7HXxAjUiIiIqEplMBktLS6SlpZXYNhS5QMpzZYmt3yAkQI4CeP40BWIaytnIVAFjM6ne1mdpaQmZrPhRlWGXiIiIikwmk5XojSUykqW4eKZ83XzhbdQ3Lvlr0zVR3bik92R/2DiXvRvjsBsDEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiZbM0AUUhlKpxLZt2xAZGYm0tDR4eHhg4MCBkMvlAIDY2FisWbMG0dHRsLGxQefOndGpUycDV01EREREhlYuzuyGhYUhIiICI0eOxNdff43KlStj7ty5SEpKQmpqKmbNmoVKlSph3rx56N27NzZs2IAjR44YumwiIiIiMrBycWb37NmzCAwMRL169QAAgwcPxuHDh3Hr1i08evQIMpkMH3zwAaRSKVxdXfH48WPs2LEDbdq0MXDlRERERGRI5eLMrq2tLc6fP49nz55BpVLh0KFDMDY2hpubG6KiouDj4wOpVKpZ3tfXF48fP0ZycrLhiiYiIiIigysXZ3aHDBmCRYsWYezYsTAyMoKRkREmT56MSpUqISEhAVWrVtVa3sHBAQCQkJAAOzu7Im1TJiu9p0YiESCRSEpte6VBvTsSSAAR7ZpEIoGxsbGhy9CZ2NoY21fZwvZVfpTHNia29gWIt42VZvvSJaeVi7D78OFDWFhYYMqUKXBwcEBERASWLFmCr776CtnZ2XmeWPXfubm5Rd6mvb19sWrWRdaLpFIN16VHAalM+vbFyhETExM4OTkZugydibONsX2VFWxf5Ud5bGPibF+AGNtYWW1fZb71PH/+HEuWLMGMGTNQq1YtAICXlxcePnyI33//HSYmJnlCrfpvU1PTIm83KSkJCoWi6IXrICdXKLVtlRb1t1alQgkBgmGL0aOcnBzEx8cbugydia2NsX2VLWxf5Ud5bGNia1+AeNtYabYvmUxW6BOTZT7s3rlzBwqFAl5eXlrTa9SogQsXLsDJyQlJSUla8xITEwH8252hKBQKRbHODOtCEKQQBPE09pdeHskCBFHtmyAIpdYu9El8bYztqyxh+yo/ymMbE1/7AsTaxspq+yrzF6ipA+v9+/e1pt+/fx+VK1dGrVq1EBUVBZVKpZl39epVVKlSBba2tqVaKxERERGVLWU+7FavXh01a9bEsmXLcPXqVTx+/BibN2/GlStX0KNHD7Rp0wYZGRlYsWIFHj58iKNHj2LPnj3o0aOHoUsnIiIiIgMr890YjIyMMHXqVGzevBnLly9Heno6qlWrhi+++AI1atQAAHz++edYs2YNpk2bBjs7O4SGhqJ169aGLZyIiIiIDK7Mh10AsLKywvvvv1/g/OrVq2POnDmlWBERERERlQdlvhsDEREREVFRMewSERERkWgx7BIRERGRaDHsEhEREZFoMewSERERkWgx7BIRERGRaDHsEhEREZFoMewSERERkWgx7BIRERGRaDHsEhEREZFoMewSERERkWgx7BIRERGRaDHsEhEREZFoMewSERERkWgx7BIRERGRaDHsEhEREZFoMewSERERkWgx7BIRERGRaDHsEhEREZFoMewSERERkWgx7BIRERGRaDHsEhEREZFoMewSERERkWgx7BIRERGRaDHsEhEREZFoMewSERERkWgx7BIRERGRaDHsEhEREZFoMewSERERkWgx7BIRERGRaDHsEhEREZFoMewSERERkWgx7BIRERGRaMmK+sCsrCwkJCQgIyMD1tbWcHBwgImJiT5rIyIiIiIqFp3Cbm5uLo4cOYLjx4/jzp07UKlUmnlGRkbw8fFBs2bN0KpVKxgbG+u9WCIiIiIiXRQ67B49ehQbNmxAbm4uGjZsiGbNmsHZ2RmmpqZIT09HQkICoqKisHHjRmzduhUhISF45513SrJ2IiIiIqI3KlTYnT9/PpKTkzF8+HA0bNiwwLO2nTt3Rm5uLk6dOoVdu3bhzJkz+PTTT/VaMBERERFRYRUq7DZp0gRt2rQp1AqNjY3RsmVLtGjRAkeOHClWcURERERExVGo0RgKG3RfJZFIEBQUpPPjiIiIiIj0pcijMQCAQqHA7du3kZycDFtbW9SoUYMXphER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zg6LFy/GvXv3cPbsWWzcuBFdunQRaR8fIiIiIiosndNgrVq1MH36dGzatAk7d+4EAOzevRuenp749NNP4evrq/cie/XqBVNTU2zevBmJiYlwcXHBxx9/jNq1awN4OQzZzz//jM8++wxWVlZ499130atXL73XQURERETlS5FOffr4+GDWrFnIyclBWloaLCwsinUxWGF06dIFXbp0yXdepUqVMH369BLdPhERERGVPzp3YwCAHTt2YN68eTAxMYGDgwPu3r2LDz74APv27dN3fURERERERaZz2N21axc2b96MypUra6ZVrFgRzZo1w2+//YaIiAi9FkhEREREVFQ6d2M4ePAg+vXrhx49emimVahQAUOHDoWtrS327NmDd955R581EhEREREVic5ndhMTE1G9evV858nlcjx79qzYRRERERER6YPOYdfJyQmXL1/Od97169fh6OhY7KKIiIiIiPRB524M77zzDjZs2ACFQoHGjRvD1tYWKSkpOH/+PHbv3o0BAwaURJ1ERERERDrTOex26dIFSUlJ2Lt3L/bs2aOZLpVK0alTpwKHByMiIiIiKm1FGmc3NDQUvXr1wq1btzTj7NaoUQPW1tb6ro+IiIiIqMiKfD9dCwsL+Pn56bEUIiIiIiL90jns5uTkICwsDP/88w+ysrIgCILWfIlEgh9++EFvBRIRERERFZXOYXfNmjU4fPgwateuDTc3NxgZFekmbEREREREJU7nsPv333+jf//+WjeVICIiIiIqi3Q+LatUKgu8qQQRERERUVmic9itV68eLl68WAKlEBERERHpl87dGAICArBq1Sq8ePECNWrUgKmpaZ5lWrVqpZfiiIiIiIiKQ+ewu2jRIgDAsWPHcOzYsXyXYdglIiIiorJA57C7dOnSkqiDiIiIiEjvdA67Tk5Ob5z/+ri7RERERESGUqQ7qJ08eRLXr19Hbm6uJtwKgoDs7GzcunULK1eu1GuRRERERERFoXPY3bp1K7Zt2wYLCwsolUpIpVLIZDKkpKRAIpHgnXfeKYk6iYiIiIh0pvPQY5GRkWjZsiVWr16Nzp07o2HDhli1ahXmzZsHa2trVK1atSTqJCIiIiLSmc5hNzExES1atIBEIoG7uztu3boFAPD09ERwcDAiIiL0XiQRERERUVHoHHZfHVe3cuXKePbsGXJycgAA7u7uePbsmf6q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9OgR1qxZg8aNGyM4OBgvXrxAcnIykpOTkZGRgY4dO+L27dvYsGED4uLisGvXLpw+fRrdu3c3dOlEREREZGBl/szu6dOnoVQqcebMGZw5c0ZrXqtWrTBmzBhMmzYN69evx969e+Hs7Ixx48blGY6MiIiIiP57ynzY7dmzJ3r27PnGZfz8/ODn51c6BRERERFRuVHmuzEQERERERUVwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiRbDLhERERGJFsMuEREREYkWwy4RERERiZbM0AXog0qlwrZt2xAREYGMjAz4+Phg+PDhcHZ2NnRpRERERGRAojizGxYWhv3792PkyJGYNWsWVCoV5syZA4VCYejSiIiIiMiAyn3YVSgU2L17N/r27YsGDRrA3d0dEydOREJCAk6fPm3o8oiIiIjIgMp9N4bY2FhkZmbC19dXM83S0hIeHh64ceMGAgMDi7ReU1NTyGSl8/QoswU4VDItlW2VFokEMLMAKrvbQ4Bg6HL0xtzSFObm5oYuQ2dia2NsX2UL21f5UR7bmNjaFyDeNlaa7UsqlRZ62XIfdhMSEgAAFSpU0Jpub2+vmVcUNjY2xapLF/b2QFWPUttcqapR18XQJRDE28bYvsoGti8qSWJtXwDbWGkp990YsrOzASDPWVgTExPk5uYaoiQiIiIiKiPKfdg1MTEBgDwXo+Xk5MDUVFw/exARERGRbsp92FV3X0hMTNSanpSUBAcHB0OURERERERlRLkPu25ubjA3N8f169c109LT0xETE4NatWoZsDIiIiIiMrRyf4GasbExOnTogA0bNsDGxgZOTk5Yv349HB0d0aRJE0OXR0REREQGJBEEodyPeaFSqbBx40YcPXoUOTk5qFWrFu+gRkRERETiCLtERERERPkp9312iYiIiIgKwrBLRERERKLFsEtEREREosWwS0RERESixbBLRERERKLFsEtEREREosWwS0RERESixbBLRERUBBymnqh8YNglonLr8OHDOHfunKHLoP+QlStX4uDBgwAAiURi4GpIrFQqlaFLEBWGXSoRR44cwb59+3DmzBketFQiNm/ejB9//BFZWVmGLoX+Iw4cOIAjR45g7969uHDhAgCe3SX9SUtLw4YNGwAARkZGbFt6JDN0ASQuWVlZmDVrFpKSkpCbm4uUlBR06NABISEhsLS0NHR5JBKLFy/G1atXMX/+fHh4eBi6HPqPcHZ2ho2NDczNzbF9+3bY2trC09MTKpUKRkY8d0TFc/bsWYSHh0OlUiE0NJS/HOgRj07Sm/v372PMmDGws7PDrFmzMHv2bAwdOhT79+9HXFycocsjEcjKysLMmTNx6tQpfPDBB5qgyzMgVBr8/PxQoUIFKJVK2NjYYPPmzUhKSoKRkRF/waJi8/f3R3BwMP766y+Eh4cbuhxRYdglvTh16hSmTZuG1q1bY8qUKXB0dETFihXRuHFjmJubIyYmxtAlUjl37949jBkzBpaWlqhYsSL27NmD2NhYAOw7SSVPqVQCALp3746KFSuiWrVqSElJwYYNG6BQKPizMxWJ+kuSSqWCtbU1WrZsiUaNGmHHjh34559/tJahomPYpWI7efIkFi9ejEmTJiE0NBSCICA3N1czv0KFCqhevTqAfw9afiiQLm7duoXp06ejZcuWmDJlCr788ktER0djx44diI+PN3R5JEK7d+9GVFSU5m+pVAoAsLOzQ0ZGBgICAtCyZUvcvXsXmzdvBvDySxff26iwMjIyNN1f1P91cnLCO++8A29vb6xZswb379/nLwd6wLBLxaJQKJCSkgIASExM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6dOn0aVLF615J0+eRNOmTXHhwgXNtJycHOzcuRN//fUX4uPj4ejoiKCgIHTr1g1GRv+exzh48CB2796N58+fo3r16mjTpk2ebT9//hzr16/HpUuXkJubC7lcjtDQUHh4eORba05ODn777TecO3cOKSkpcHZ21mybiKis4ZldIqIyIiAgIE9XhoyMDFy8eBHNmzfXTBMEAQsWLMDOnTsRFBSEadOmoWnTpti8eTNWrVqlWW7fvn1YtWoV6tevj6lTp6JGjRr46aeftLaZkpKC6dOnIyYmBsOHD8eECRMgCAK+/PJLPHz4MN86165diwsXLiA0NBSff/45/P39sX79ehw5ckTPzwgRUfHxzC4RURnRoEEDmJqa4tSpU5qzu2fOnIGNjQ1q1qypWe7ixYu4cuUKJkyYoAnBdevWhampKbZs2YJOnTrB1dUVYWFhCAgIwJAhQwAA9erVQ2ZmJg4ePKhZ1549e5CamopZs2bByckJAFC/fn1MmjQJv//+Oz766KM8dV6/fh1169bVbLt27dowMzODra1tiTwvRETFwTO7RERlhImJCRo2bIjTp09rpp08eRIBAQGQSCSaadeuXYNUKkWzZs20Ht+iRQsAL8Poo0eP8OLFCzRs2FBrmdcfc/XqVbi7u8PBwQFKpRJKpRISiQR+fn64fPlyvnXWrl0bERERmDdvHvbt24dnz56hd+/eaNCgQbH2n4ioJPDMLhFRGRIQEICFCxciISEBJiYmuHLlCvr166e1TFpaGqytrbX65gKAnZ0dACA9PR1paWkAAGtra61l7O3ttf5OTU3FkydP0L9//3zryc7OzjNtyJAhcHR0xPHjx7F69WqsXr0acrkc77//Ptzd3XXZXSKiEsewS0RUhvj5+cHMzAynT5+GqakpnJ2d4enpqbWMlZUVUlNToVKptAJvcnIyAMDGxkYTcl+8eKH12NTUVK2/LS0t4ePjg9DQ0HzrMTY2zndaz5490bNnTzx//hznzp1DWFgYlixZgu+++07nfSYiKknsxkBEVIYYGxujUaNGOH36NE6dOqV1YZqaj48PlEplnmHKjh07BgCoWbMmKleuDEdHxzzLvD5eb61atfDo0SNUrlwZXl5emn/Hjh3D4cOH85w9zsnJwYQJE7Br1y4AQIUKFdChQwc0b94c8fHxxd5/IiJ945ldIqIyJiAgAAsWLIBEIsGwYcPyzK9fvz5q166NH3/8EYmJiXBzc8P169fx559/olWrVnB1dQUADBw4EEuWLMHKlSvRrFkz3Lp1CwcOHNBaV5cuXXD8+HHMmjULXbt2hbW1NU6ePImIiAi89957ebZtYmICDw8PbNu2DTKZDG5ubnj06BEiIyPRtGnTknlCiIiKgWGXiKiMqVu3LiwsLFChQgW4uLjkmS+RSPDJJ59gy5Yt2LNnj2as2/79+2uN0RsYGAgjIyOEhYXh+PHjqFatGj744AN8//33mmUcHBwwa9YsbNy4EatWrUJubi4qV66MDz/8EEFBQfnWN3LkSGzevBm7du1CcnIybG1tERQUhL59++r/ySAiKiaJIAiCoYsgIiIiIioJ7LNLRERERKLFsEtEREREosWwS0RERESixbBLRERERKLFsEtEREREosWwS0RERESixbBLRERERKLFsEtEREREosWwS0RERESixbBLRERERKLFsEtEREREovV/oR6LB+OKB0kAAAAASUVORK5CYII=", |
|
|
4123 |
"text/plain": [ |
|
|
4124 |
"<Figure size 800x500 with 1 Axes>" |
|
|
4125 |
] |
|
|
4126 |
}, |
|
|
4127 |
"metadata": {}, |
|
|
4128 |
"output_type": "display_data" |
|
|
4129 |
} |
|
|
4130 |
], |
|
|
4131 |
"source": [ |
|
|
4132 |
"from sklearn import metrics\n", |
|
|
4133 |
"import numpy as np\n", |
|
|
4134 |
"import matplotlib.pyplot as plt\n", |
|
|
4135 |
"\n", |
|
|
4136 |
"# Define models with labels\n", |
|
|
4137 |
"models = [\n", |
|
|
4138 |
" {'label': 'LR', 'model': log_reg},\n", |
|
|
4139 |
" {'label': 'DT', 'model': dtc},\n", |
|
|
4140 |
" {'label': 'SVM', 'model': svc},\n", |
|
|
4141 |
" {'label': 'KNN', 'model': knn}\n", |
|
|
4142 |
"]\n", |
|
|
4143 |
"\n", |
|
|
4144 |
"# Performance metrics\n", |
|
|
4145 |
"means_roc = []\n", |
|
|
4146 |
"means_accuracy = []\n", |
|
|
4147 |
"\n", |
|
|
4148 |
"# Evaluate each model\n", |
|
|
4149 |
"for m in models:\n", |
|
|
4150 |
" model = m['model']\n", |
|
|
4151 |
" label = m['label']\n", |
|
|
4152 |
" \n", |
|
|
4153 |
" # Calculate predictions and probabilities\n", |
|
|
4154 |
" y_pred = model.predict(X_test)\n", |
|
|
4155 |
" y_pred_prob = model.predict_proba(X_test)[:,1] if hasattr(model, 'predict_proba') else None\n", |
|
|
4156 |
" \n", |
|
|
4157 |
" # Calculate accuracy\n", |
|
|
4158 |
" accuracy = metrics.accuracy_score(y_test, y_pred)\n", |
|
|
4159 |
" mean_accuracy = 100 * round(accuracy, 4)\n", |
|
|
4160 |
" means_accuracy.append(mean_accuracy)\n", |
|
|
4161 |
" \n", |
|
|
4162 |
" # Calculate ROC AUC\n", |
|
|
4163 |
" if y_pred_prob is not None:\n", |
|
|
4164 |
" auc = metrics.roc_auc_score(y_test, y_pred_prob)\n", |
|
|
4165 |
" mean_roc = 100 * round(auc, 4)\n", |
|
|
4166 |
" else:\n", |
|
|
4167 |
" mean_roc = np.nan # Append NaN if predict_proba is not available\n", |
|
|
4168 |
" \n", |
|
|
4169 |
" means_roc.append(mean_roc)\n", |
|
|
4170 |
" \n", |
|
|
4171 |
" # Display mean accuracy and mean ROC for each model\n", |
|
|
4172 |
" print(f\"Model: {label}\")\n", |
|
|
4173 |
" print(f\"Mean Accuracy: {mean_accuracy:.2f}%\")\n", |
|
|
4174 |
" print(f\"Mean ROC AUC: {mean_roc:.2f}%\")\n", |
|
|
4175 |
" print(\"-\" * 30)\n", |
|
|
4176 |
"\n", |
|
|
4177 |
"# Plotting\n", |
|
|
4178 |
"index = np.arange(len(models))\n", |
|
|
4179 |
"bar_width = 0.35\n", |
|
|
4180 |
"\n", |
|
|
4181 |
"# Create plot\n", |
|
|
4182 |
"fig, ax = plt.subplots(figsize=(8, 5))\n", |
|
|
4183 |
"\n", |
|
|
4184 |
"rects1 = plt.bar(index, means_accuracy, bar_width, alpha=0.8, color='mediumpurple', label='Accuracy (%)')\n", |
|
|
4185 |
"rects2 = plt.bar(index + bar_width, means_roc, bar_width, alpha=0.8, color='rebeccapurple', label='ROC AUC (%)')\n", |
|
|
4186 |
"\n", |
|
|
4187 |
"# Labeling\n", |
|
|
4188 |
"ax.set_xlabel('Models')\n", |
|
|
4189 |
"ax.set_ylabel('Performance (%)')\n", |
|
|
4190 |
"ax.set_title('Performance Evaluation - Breast Cancer Prediction')\n", |
|
|
4191 |
"ax.set_xticks(index + bar_width / 2)\n", |
|
|
4192 |
"ax.set_xticklabels([m['label'] for m in models], rotation=40, ha='center')\n", |
|
|
4193 |
"ax.legend()\n", |
|
|
4194 |
"\n", |
|
|
4195 |
"# Display plot\n", |
|
|
4196 |
"plt.show()\n" |
|
|
4197 |
] |
|
|
4198 |
}, |
|
|
4199 |
{ |
|
|
4200 |
"cell_type": "code", |
|
|
4201 |
"execution_count": 58, |
|
|
4202 |
"id": "cff6a609-fd28-43b7-bf32-879226455388", |
|
|
4203 |
"metadata": {}, |
|
|
4204 |
"outputs": [], |
|
|
4205 |
"source": [ |
|
|
4206 |
"\n", |
|
|
4207 |
"import pickle\n", |
|
|
4208 |
"model = log_reg\n", |
|
|
4209 |
"filename = r'C:\\Users\\Pranshu Saini\\Desktop\\disease-prediction-main\\docpat\\model\\breast_cancer_svm_model.pkl'\n", |
|
|
4210 |
"pickle.dump(model, open(filename,'wb'))" |
|
|
4211 |
] |
|
|
4212 |
}, |
|
|
4213 |
{ |
|
|
4214 |
"cell_type": "code", |
|
|
4215 |
"execution_count": null, |
|
|
4216 |
"id": "38d0b155-68d7-4b66-850d-5eefedf09eae", |
|
|
4217 |
"metadata": {}, |
|
|
4218 |
"outputs": [ |
|
|
4219 |
{ |
|
|
4220 |
"ename": "SyntaxError", |
|
|
4221 |
"evalue": "(unicode error) 'unicodeescape' codec can't decode bytes in position 159-160: truncated \\UXXXXXXXX escape (1223555901.py, line 8)", |
|
|
4222 |
"output_type": "error", |
|
|
4223 |
"traceback": [ |
|
|
4224 |
"\u001b[1;36m Cell \u001b[1;32mIn[57], line 8\u001b[1;36m\u001b[0m\n\u001b[1;33m return breast_cancer_model.predict(inputs)'''\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m (unicode error) 'unicodeescape' codec can't decode bytes in position 159-160: truncated \\UXXXXXXXX escape\n" |
|
|
4225 |
] |
|
|
4226 |
} |
|
|
4227 |
], |
|
|
4228 |
"source": [ |
|
|
4229 |
"'''import pickle\n", |
|
|
4230 |
"def load_model(path):\n", |
|
|
4231 |
" with open(path, 'rb') as file:\n", |
|
|
4232 |
" model = pickle.load(file)\n", |
|
|
4233 |
" return model\n", |
|
|
4234 |
"breast_cancer_model = load_model(r'C:\\Users\\DELL\\Desktop\\app\\breast_cancer.pkl')\n", |
|
|
4235 |
"def predict(inputs):\n", |
|
|
4236 |
" return breast_cancer_model.predict(inputs)'''" |
|
|
4237 |
] |
|
|
4238 |
}, |
|
|
4239 |
{ |
|
|
4240 |
"cell_type": "code", |
|
|
4241 |
"execution_count": null, |
|
|
4242 |
"id": "29b7193c-5ee9-4324-be94-85c758937ff3", |
|
|
4243 |
"metadata": {}, |
|
|
4244 |
"outputs": [], |
|
|
4245 |
"source": [] |
|
|
4246 |
}, |
|
|
4247 |
{ |
|
|
4248 |
"cell_type": "code", |
|
|
4249 |
"execution_count": null, |
|
|
4250 |
"id": "5d00dae6-9852-45c0-bddd-828316c8b1df", |
|
|
4251 |
"metadata": {}, |
|
|
4252 |
"outputs": [], |
|
|
4253 |
"source": [] |
|
|
4254 |
}, |
|
|
4255 |
{ |
|
|
4256 |
"cell_type": "code", |
|
|
4257 |
"execution_count": null, |
|
|
4258 |
"id": "e8cb62fc-c2ba-4f52-8d41-a88f89ef09b6", |
|
|
4259 |
"metadata": {}, |
|
|
4260 |
"outputs": [], |
|
|
4261 |
"source": [] |
|
|
4262 |
} |
|
|
4263 |
], |
|
|
4264 |
"metadata": { |
|
|
4265 |
"kernelspec": { |
|
|
4266 |
"display_name": "Python 3", |
|
|
4267 |
"language": "python", |
|
|
4268 |
"name": "python3" |
|
|
4269 |
}, |
|
|
4270 |
"language_info": { |
|
|
4271 |
"codemirror_mode": { |
|
|
4272 |
"name": "ipython", |
|
|
4273 |
"version": 3 |
|
|
4274 |
}, |
|
|
4275 |
"file_extension": ".py", |
|
|
4276 |
"mimetype": "text/x-python", |
|
|
4277 |
"name": "python", |
|
|
4278 |
"nbconvert_exporter": "python", |
|
|
4279 |
"pygments_lexer": "ipython3", |
|
|
4280 |
"version": "3.12.3" |
|
|
4281 |
} |
|
|
4282 |
}, |
|
|
4283 |
"nbformat": 4, |
|
|
4284 |
"nbformat_minor": 5 |
|
|
4285 |
} |