|
a |
|
b/Obesity_risk_detection.ipynb |
|
|
1 |
{ |
|
|
2 |
"nbformat": 4, |
|
|
3 |
"nbformat_minor": 0, |
|
|
4 |
"metadata": { |
|
|
5 |
"colab": { |
|
|
6 |
"provenance": [] |
|
|
7 |
}, |
|
|
8 |
"kernelspec": { |
|
|
9 |
"name": "python3", |
|
|
10 |
"display_name": "Python 3" |
|
|
11 |
}, |
|
|
12 |
"language_info": { |
|
|
13 |
"name": "python" |
|
|
14 |
} |
|
|
15 |
}, |
|
|
16 |
"cells": [ |
|
|
17 |
{ |
|
|
18 |
"cell_type": "markdown", |
|
|
19 |
"source": [ |
|
|
20 |
"# **IMPORTING** **LIBRARIES**" |
|
|
21 |
], |
|
|
22 |
"metadata": { |
|
|
23 |
"id": "SQmJcBR7rAAp" |
|
|
24 |
} |
|
|
25 |
}, |
|
|
26 |
{ |
|
|
27 |
"cell_type": "code", |
|
|
28 |
"execution_count": 1, |
|
|
29 |
"metadata": { |
|
|
30 |
"colab": { |
|
|
31 |
"base_uri": "https://localhost:8080/" |
|
|
32 |
}, |
|
|
33 |
"id": "j-x0sLq3Z26i", |
|
|
34 |
"outputId": "64087c55-4a13-4324-bb15-bf8a3d4553d7" |
|
|
35 |
}, |
|
|
36 |
"outputs": [ |
|
|
37 |
{ |
|
|
38 |
"output_type": "stream", |
|
|
39 |
"name": "stdout", |
|
|
40 |
"text": [ |
|
|
41 |
"2.15.0\n" |
|
|
42 |
] |
|
|
43 |
} |
|
|
44 |
], |
|
|
45 |
"source": [ |
|
|
46 |
"import tensorflow as tf\n", |
|
|
47 |
"print(tf.__version__)" |
|
|
48 |
] |
|
|
49 |
}, |
|
|
50 |
{ |
|
|
51 |
"cell_type": "code", |
|
|
52 |
"source": [ |
|
|
53 |
"import numpy as np\n", |
|
|
54 |
"import pandas as pd\n", |
|
|
55 |
"import matplotlib.pyplot as plt\n" |
|
|
56 |
], |
|
|
57 |
"metadata": { |
|
|
58 |
"id": "XUAfgXejbQCu" |
|
|
59 |
}, |
|
|
60 |
"execution_count": 2, |
|
|
61 |
"outputs": [] |
|
|
62 |
}, |
|
|
63 |
{ |
|
|
64 |
"cell_type": "markdown", |
|
|
65 |
"source": [ |
|
|
66 |
"# **DATASET** **IMPORTATION**" |
|
|
67 |
], |
|
|
68 |
"metadata": { |
|
|
69 |
"id": "1qqD_LhGrgf8" |
|
|
70 |
} |
|
|
71 |
}, |
|
|
72 |
{ |
|
|
73 |
"cell_type": "code", |
|
|
74 |
"source": [ |
|
|
75 |
"! mkdir -p ~/.kaggle" |
|
|
76 |
], |
|
|
77 |
"metadata": { |
|
|
78 |
"id": "fZxb_L5AUiYC" |
|
|
79 |
}, |
|
|
80 |
"execution_count": 3, |
|
|
81 |
"outputs": [] |
|
|
82 |
}, |
|
|
83 |
{ |
|
|
84 |
"cell_type": "code", |
|
|
85 |
"source": [ |
|
|
86 |
"from google.colab import files\n", |
|
|
87 |
"upload = files.upload()" |
|
|
88 |
], |
|
|
89 |
"metadata": { |
|
|
90 |
"colab": { |
|
|
91 |
"base_uri": "https://localhost:8080/", |
|
|
92 |
"height": 73 |
|
|
93 |
}, |
|
|
94 |
"id": "ywSHkRFDV1MI", |
|
|
95 |
"outputId": "0075ce0f-aede-4c97-da7b-7841975f3f04" |
|
|
96 |
}, |
|
|
97 |
"execution_count": 4, |
|
|
98 |
"outputs": [ |
|
|
99 |
{ |
|
|
100 |
"output_type": "display_data", |
|
|
101 |
"data": { |
|
|
102 |
"text/plain": [ |
|
|
103 |
"<IPython.core.display.HTML object>" |
|
|
104 |
], |
|
|
105 |
"text/html": [ |
|
|
106 |
"\n", |
|
|
107 |
" <input type=\"file\" id=\"files-4bb4f943-b662-4ca1-97d6-9710445a9eb3\" name=\"files[]\" multiple disabled\n", |
|
|
108 |
" style=\"border:none\" />\n", |
|
|
109 |
" <output id=\"result-4bb4f943-b662-4ca1-97d6-9710445a9eb3\">\n", |
|
|
110 |
" Upload widget is only available when the cell has been executed in the\n", |
|
|
111 |
" current browser session. Please rerun this cell to enable.\n", |
|
|
112 |
" </output>\n", |
|
|
113 |
" <script>// Copyright 2017 Google LLC\n", |
|
|
114 |
"//\n", |
|
|
115 |
"// Licensed under the Apache License, Version 2.0 (the \"License\");\n", |
|
|
116 |
"// you may not use this file except in compliance with the License.\n", |
|
|
117 |
"// You may obtain a copy of the License at\n", |
|
|
118 |
"//\n", |
|
|
119 |
"// http://www.apache.org/licenses/LICENSE-2.0\n", |
|
|
120 |
"//\n", |
|
|
121 |
"// Unless required by applicable law or agreed to in writing, software\n", |
|
|
122 |
"// distributed under the License is distributed on an \"AS IS\" BASIS,\n", |
|
|
123 |
"// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n", |
|
|
124 |
"// See the License for the specific language governing permissions and\n", |
|
|
125 |
"// limitations under the License.\n", |
|
|
126 |
"\n", |
|
|
127 |
"/**\n", |
|
|
128 |
" * @fileoverview Helpers for google.colab Python module.\n", |
|
|
129 |
" */\n", |
|
|
130 |
"(function(scope) {\n", |
|
|
131 |
"function span(text, styleAttributes = {}) {\n", |
|
|
132 |
" const element = document.createElement('span');\n", |
|
|
133 |
" element.textContent = text;\n", |
|
|
134 |
" for (const key of Object.keys(styleAttributes)) {\n", |
|
|
135 |
" element.style[key] = styleAttributes[key];\n", |
|
|
136 |
" }\n", |
|
|
137 |
" return element;\n", |
|
|
138 |
"}\n", |
|
|
139 |
"\n", |
|
|
140 |
"// Max number of bytes which will be uploaded at a time.\n", |
|
|
141 |
"const MAX_PAYLOAD_SIZE = 100 * 1024;\n", |
|
|
142 |
"\n", |
|
|
143 |
"function _uploadFiles(inputId, outputId) {\n", |
|
|
144 |
" const steps = uploadFilesStep(inputId, outputId);\n", |
|
|
145 |
" const outputElement = document.getElementById(outputId);\n", |
|
|
146 |
" // Cache steps on the outputElement to make it available for the next call\n", |
|
|
147 |
" // to uploadFilesContinue from Python.\n", |
|
|
148 |
" outputElement.steps = steps;\n", |
|
|
149 |
"\n", |
|
|
150 |
" return _uploadFilesContinue(outputId);\n", |
|
|
151 |
"}\n", |
|
|
152 |
"\n", |
|
|
153 |
"// This is roughly an async generator (not supported in the browser yet),\n", |
|
|
154 |
"// where there are multiple asynchronous steps and the Python side is going\n", |
|
|
155 |
"// to poll for completion of each step.\n", |
|
|
156 |
"// This uses a Promise to block the python side on completion of each step,\n", |
|
|
157 |
"// then passes the result of the previous step as the input to the next step.\n", |
|
|
158 |
"function _uploadFilesContinue(outputId) {\n", |
|
|
159 |
" const outputElement = document.getElementById(outputId);\n", |
|
|
160 |
" const steps = outputElement.steps;\n", |
|
|
161 |
"\n", |
|
|
162 |
" const next = steps.next(outputElement.lastPromiseValue);\n", |
|
|
163 |
" return Promise.resolve(next.value.promise).then((value) => {\n", |
|
|
164 |
" // Cache the last promise value to make it available to the next\n", |
|
|
165 |
" // step of the generator.\n", |
|
|
166 |
" outputElement.lastPromiseValue = value;\n", |
|
|
167 |
" return next.value.response;\n", |
|
|
168 |
" });\n", |
|
|
169 |
"}\n", |
|
|
170 |
"\n", |
|
|
171 |
"/**\n", |
|
|
172 |
" * Generator function which is called between each async step of the upload\n", |
|
|
173 |
" * process.\n", |
|
|
174 |
" * @param {string} inputId Element ID of the input file picker element.\n", |
|
|
175 |
" * @param {string} outputId Element ID of the output display.\n", |
|
|
176 |
" * @return {!Iterable<!Object>} Iterable of next steps.\n", |
|
|
177 |
" */\n", |
|
|
178 |
"function* uploadFilesStep(inputId, outputId) {\n", |
|
|
179 |
" const inputElement = document.getElementById(inputId);\n", |
|
|
180 |
" inputElement.disabled = false;\n", |
|
|
181 |
"\n", |
|
|
182 |
" const outputElement = document.getElementById(outputId);\n", |
|
|
183 |
" outputElement.innerHTML = '';\n", |
|
|
184 |
"\n", |
|
|
185 |
" const pickedPromise = new Promise((resolve) => {\n", |
|
|
186 |
" inputElement.addEventListener('change', (e) => {\n", |
|
|
187 |
" resolve(e.target.files);\n", |
|
|
188 |
" });\n", |
|
|
189 |
" });\n", |
|
|
190 |
"\n", |
|
|
191 |
" const cancel = document.createElement('button');\n", |
|
|
192 |
" inputElement.parentElement.appendChild(cancel);\n", |
|
|
193 |
" cancel.textContent = 'Cancel upload';\n", |
|
|
194 |
" const cancelPromise = new Promise((resolve) => {\n", |
|
|
195 |
" cancel.onclick = () => {\n", |
|
|
196 |
" resolve(null);\n", |
|
|
197 |
" };\n", |
|
|
198 |
" });\n", |
|
|
199 |
"\n", |
|
|
200 |
" // Wait for the user to pick the files.\n", |
|
|
201 |
" const files = yield {\n", |
|
|
202 |
" promise: Promise.race([pickedPromise, cancelPromise]),\n", |
|
|
203 |
" response: {\n", |
|
|
204 |
" action: 'starting',\n", |
|
|
205 |
" }\n", |
|
|
206 |
" };\n", |
|
|
207 |
"\n", |
|
|
208 |
" cancel.remove();\n", |
|
|
209 |
"\n", |
|
|
210 |
" // Disable the input element since further picks are not allowed.\n", |
|
|
211 |
" inputElement.disabled = true;\n", |
|
|
212 |
"\n", |
|
|
213 |
" if (!files) {\n", |
|
|
214 |
" return {\n", |
|
|
215 |
" response: {\n", |
|
|
216 |
" action: 'complete',\n", |
|
|
217 |
" }\n", |
|
|
218 |
" };\n", |
|
|
219 |
" }\n", |
|
|
220 |
"\n", |
|
|
221 |
" for (const file of files) {\n", |
|
|
222 |
" const li = document.createElement('li');\n", |
|
|
223 |
" li.append(span(file.name, {fontWeight: 'bold'}));\n", |
|
|
224 |
" li.append(span(\n", |
|
|
225 |
" `(${file.type || 'n/a'}) - ${file.size} bytes, ` +\n", |
|
|
226 |
" `last modified: ${\n", |
|
|
227 |
" file.lastModifiedDate ? file.lastModifiedDate.toLocaleDateString() :\n", |
|
|
228 |
" 'n/a'} - `));\n", |
|
|
229 |
" const percent = span('0% done');\n", |
|
|
230 |
" li.appendChild(percent);\n", |
|
|
231 |
"\n", |
|
|
232 |
" outputElement.appendChild(li);\n", |
|
|
233 |
"\n", |
|
|
234 |
" const fileDataPromise = new Promise((resolve) => {\n", |
|
|
235 |
" const reader = new FileReader();\n", |
|
|
236 |
" reader.onload = (e) => {\n", |
|
|
237 |
" resolve(e.target.result);\n", |
|
|
238 |
" };\n", |
|
|
239 |
" reader.readAsArrayBuffer(file);\n", |
|
|
240 |
" });\n", |
|
|
241 |
" // Wait for the data to be ready.\n", |
|
|
242 |
" let fileData = yield {\n", |
|
|
243 |
" promise: fileDataPromise,\n", |
|
|
244 |
" response: {\n", |
|
|
245 |
" action: 'continue',\n", |
|
|
246 |
" }\n", |
|
|
247 |
" };\n", |
|
|
248 |
"\n", |
|
|
249 |
" // Use a chunked sending to avoid message size limits. See b/62115660.\n", |
|
|
250 |
" let position = 0;\n", |
|
|
251 |
" do {\n", |
|
|
252 |
" const length = Math.min(fileData.byteLength - position, MAX_PAYLOAD_SIZE);\n", |
|
|
253 |
" const chunk = new Uint8Array(fileData, position, length);\n", |
|
|
254 |
" position += length;\n", |
|
|
255 |
"\n", |
|
|
256 |
" const base64 = btoa(String.fromCharCode.apply(null, chunk));\n", |
|
|
257 |
" yield {\n", |
|
|
258 |
" response: {\n", |
|
|
259 |
" action: 'append',\n", |
|
|
260 |
" file: file.name,\n", |
|
|
261 |
" data: base64,\n", |
|
|
262 |
" },\n", |
|
|
263 |
" };\n", |
|
|
264 |
"\n", |
|
|
265 |
" let percentDone = fileData.byteLength === 0 ?\n", |
|
|
266 |
" 100 :\n", |
|
|
267 |
" Math.round((position / fileData.byteLength) * 100);\n", |
|
|
268 |
" percent.textContent = `${percentDone}% done`;\n", |
|
|
269 |
"\n", |
|
|
270 |
" } while (position < fileData.byteLength);\n", |
|
|
271 |
" }\n", |
|
|
272 |
"\n", |
|
|
273 |
" // All done.\n", |
|
|
274 |
" yield {\n", |
|
|
275 |
" response: {\n", |
|
|
276 |
" action: 'complete',\n", |
|
|
277 |
" }\n", |
|
|
278 |
" };\n", |
|
|
279 |
"}\n", |
|
|
280 |
"\n", |
|
|
281 |
"scope.google = scope.google || {};\n", |
|
|
282 |
"scope.google.colab = scope.google.colab || {};\n", |
|
|
283 |
"scope.google.colab._files = {\n", |
|
|
284 |
" _uploadFiles,\n", |
|
|
285 |
" _uploadFilesContinue,\n", |
|
|
286 |
"};\n", |
|
|
287 |
"})(self);\n", |
|
|
288 |
"</script> " |
|
|
289 |
] |
|
|
290 |
}, |
|
|
291 |
"metadata": {} |
|
|
292 |
}, |
|
|
293 |
{ |
|
|
294 |
"output_type": "stream", |
|
|
295 |
"name": "stdout", |
|
|
296 |
"text": [ |
|
|
297 |
"Saving kaggle.json to kaggle.json\n" |
|
|
298 |
] |
|
|
299 |
} |
|
|
300 |
] |
|
|
301 |
}, |
|
|
302 |
{ |
|
|
303 |
"cell_type": "code", |
|
|
304 |
"source": [ |
|
|
305 |
"! cp kaggle.json ~/.kaggle" |
|
|
306 |
], |
|
|
307 |
"metadata": { |
|
|
308 |
"id": "v7Jcc3tJV9aI" |
|
|
309 |
}, |
|
|
310 |
"execution_count": 5, |
|
|
311 |
"outputs": [] |
|
|
312 |
}, |
|
|
313 |
{ |
|
|
314 |
"cell_type": "code", |
|
|
315 |
"source": [ |
|
|
316 |
"! chmod 600 /root/.kaggle/kaggle.json" |
|
|
317 |
], |
|
|
318 |
"metadata": { |
|
|
319 |
"id": "4VgFoXLfWJfU" |
|
|
320 |
}, |
|
|
321 |
"execution_count": 6, |
|
|
322 |
"outputs": [] |
|
|
323 |
}, |
|
|
324 |
{ |
|
|
325 |
"cell_type": "code", |
|
|
326 |
"source": [ |
|
|
327 |
"! kaggle competitions download -c playground-series-s4e2" |
|
|
328 |
], |
|
|
329 |
"metadata": { |
|
|
330 |
"colab": { |
|
|
331 |
"base_uri": "https://localhost:8080/" |
|
|
332 |
}, |
|
|
333 |
"id": "5OSmwek8WQ7l", |
|
|
334 |
"outputId": "32afb11f-5339-42f0-e9a9-07b86a17a045" |
|
|
335 |
}, |
|
|
336 |
"execution_count": 7, |
|
|
337 |
"outputs": [ |
|
|
338 |
{ |
|
|
339 |
"output_type": "stream", |
|
|
340 |
"name": "stdout", |
|
|
341 |
"text": [ |
|
|
342 |
"Downloading playground-series-s4e2.zip to /content\n", |
|
|
343 |
"\r 0% 0.00/917k [00:00<?, ?B/s]\n", |
|
|
344 |
"\r100% 917k/917k [00:00<00:00, 17.2MB/s]\n" |
|
|
345 |
] |
|
|
346 |
} |
|
|
347 |
] |
|
|
348 |
}, |
|
|
349 |
{ |
|
|
350 |
"cell_type": "code", |
|
|
351 |
"source": [ |
|
|
352 |
"! unzip /content/playground-series-s4e2.zip" |
|
|
353 |
], |
|
|
354 |
"metadata": { |
|
|
355 |
"colab": { |
|
|
356 |
"base_uri": "https://localhost:8080/" |
|
|
357 |
}, |
|
|
358 |
"id": "D7mNC0iWWZrb", |
|
|
359 |
"outputId": "a8341238-c0ad-44a6-c136-3fbf11a5b918" |
|
|
360 |
}, |
|
|
361 |
"execution_count": 8, |
|
|
362 |
"outputs": [ |
|
|
363 |
{ |
|
|
364 |
"output_type": "stream", |
|
|
365 |
"name": "stdout", |
|
|
366 |
"text": [ |
|
|
367 |
"Archive: /content/playground-series-s4e2.zip\n", |
|
|
368 |
" inflating: sample_submission.csv \n", |
|
|
369 |
" inflating: test.csv \n", |
|
|
370 |
" inflating: train.csv \n" |
|
|
371 |
] |
|
|
372 |
} |
|
|
373 |
] |
|
|
374 |
}, |
|
|
375 |
{ |
|
|
376 |
"cell_type": "code", |
|
|
377 |
"source": [ |
|
|
378 |
"obesity = pd.read_csv(\"train.csv\")\n", |
|
|
379 |
"obesity.head()" |
|
|
380 |
], |
|
|
381 |
"metadata": { |
|
|
382 |
"colab": { |
|
|
383 |
"base_uri": "https://localhost:8080/", |
|
|
384 |
"height": 226 |
|
|
385 |
}, |
|
|
386 |
"id": "_8IuRB0GWokp", |
|
|
387 |
"outputId": "78f12a72-da77-4667-c2b3-f9774db80e73" |
|
|
388 |
}, |
|
|
389 |
"execution_count": 9, |
|
|
390 |
"outputs": [ |
|
|
391 |
{ |
|
|
392 |
"output_type": "execute_result", |
|
|
393 |
"data": { |
|
|
394 |
"text/plain": [ |
|
|
395 |
" id Gender Age Height Weight family_history_with_overweight \\\n", |
|
|
396 |
"0 0 Male 24.443011 1.699998 81.669950 yes \n", |
|
|
397 |
"1 1 Female 18.000000 1.560000 57.000000 yes \n", |
|
|
398 |
"2 2 Female 18.000000 1.711460 50.165754 yes \n", |
|
|
399 |
"3 3 Female 20.952737 1.710730 131.274851 yes \n", |
|
|
400 |
"4 4 Male 31.641081 1.914186 93.798055 yes \n", |
|
|
401 |
"\n", |
|
|
402 |
" FAVC FCVC NCP CAEC SMOKE CH2O SCC FAF \\\n", |
|
|
403 |
"0 yes 2.000000 2.983297 Sometimes no 2.763573 no 0.000000 \n", |
|
|
404 |
"1 yes 2.000000 3.000000 Frequently no 2.000000 no 1.000000 \n", |
|
|
405 |
"2 yes 1.880534 1.411685 Sometimes no 1.910378 no 0.866045 \n", |
|
|
406 |
"3 yes 3.000000 3.000000 Sometimes no 1.674061 no 1.467863 \n", |
|
|
407 |
"4 yes 2.679664 1.971472 Sometimes no 1.979848 no 1.967973 \n", |
|
|
408 |
"\n", |
|
|
409 |
" TUE CALC MTRANS NObeyesdad \n", |
|
|
410 |
"0 0.976473 Sometimes Public_Transportation Overweight_Level_II \n", |
|
|
411 |
"1 1.000000 no Automobile Normal_Weight \n", |
|
|
412 |
"2 1.673584 no Public_Transportation Insufficient_Weight \n", |
|
|
413 |
"3 0.780199 Sometimes Public_Transportation Obesity_Type_III \n", |
|
|
414 |
"4 0.931721 Sometimes Public_Transportation Overweight_Level_II " |
|
|
415 |
], |
|
|
416 |
"text/html": [ |
|
|
417 |
"\n", |
|
|
418 |
" <div id=\"df-7d0d80a3-508a-4d31-81b1-b74d0c8dc4e7\" class=\"colab-df-container\">\n", |
|
|
419 |
" <div>\n", |
|
|
420 |
"<style scoped>\n", |
|
|
421 |
" .dataframe tbody tr th:only-of-type {\n", |
|
|
422 |
" vertical-align: middle;\n", |
|
|
423 |
" }\n", |
|
|
424 |
"\n", |
|
|
425 |
" .dataframe tbody tr th {\n", |
|
|
426 |
" vertical-align: top;\n", |
|
|
427 |
" }\n", |
|
|
428 |
"\n", |
|
|
429 |
" .dataframe thead th {\n", |
|
|
430 |
" text-align: right;\n", |
|
|
431 |
" }\n", |
|
|
432 |
"</style>\n", |
|
|
433 |
"<table border=\"1\" class=\"dataframe\">\n", |
|
|
434 |
" <thead>\n", |
|
|
435 |
" <tr style=\"text-align: right;\">\n", |
|
|
436 |
" <th></th>\n", |
|
|
437 |
" <th>id</th>\n", |
|
|
438 |
" <th>Gender</th>\n", |
|
|
439 |
" <th>Age</th>\n", |
|
|
440 |
" <th>Height</th>\n", |
|
|
441 |
" <th>Weight</th>\n", |
|
|
442 |
" <th>family_history_with_overweight</th>\n", |
|
|
443 |
" <th>FAVC</th>\n", |
|
|
444 |
" <th>FCVC</th>\n", |
|
|
445 |
" <th>NCP</th>\n", |
|
|
446 |
" <th>CAEC</th>\n", |
|
|
447 |
" <th>SMOKE</th>\n", |
|
|
448 |
" <th>CH2O</th>\n", |
|
|
449 |
" <th>SCC</th>\n", |
|
|
450 |
" <th>FAF</th>\n", |
|
|
451 |
" <th>TUE</th>\n", |
|
|
452 |
" <th>CALC</th>\n", |
|
|
453 |
" <th>MTRANS</th>\n", |
|
|
454 |
" <th>NObeyesdad</th>\n", |
|
|
455 |
" </tr>\n", |
|
|
456 |
" </thead>\n", |
|
|
457 |
" <tbody>\n", |
|
|
458 |
" <tr>\n", |
|
|
459 |
" <th>0</th>\n", |
|
|
460 |
" <td>0</td>\n", |
|
|
461 |
" <td>Male</td>\n", |
|
|
462 |
" <td>24.443011</td>\n", |
|
|
463 |
" <td>1.699998</td>\n", |
|
|
464 |
" <td>81.669950</td>\n", |
|
|
465 |
" <td>yes</td>\n", |
|
|
466 |
" <td>yes</td>\n", |
|
|
467 |
" <td>2.000000</td>\n", |
|
|
468 |
" <td>2.983297</td>\n", |
|
|
469 |
" <td>Sometimes</td>\n", |
|
|
470 |
" <td>no</td>\n", |
|
|
471 |
" <td>2.763573</td>\n", |
|
|
472 |
" <td>no</td>\n", |
|
|
473 |
" <td>0.000000</td>\n", |
|
|
474 |
" <td>0.976473</td>\n", |
|
|
475 |
" <td>Sometimes</td>\n", |
|
|
476 |
" <td>Public_Transportation</td>\n", |
|
|
477 |
" <td>Overweight_Level_II</td>\n", |
|
|
478 |
" </tr>\n", |
|
|
479 |
" <tr>\n", |
|
|
480 |
" <th>1</th>\n", |
|
|
481 |
" <td>1</td>\n", |
|
|
482 |
" <td>Female</td>\n", |
|
|
483 |
" <td>18.000000</td>\n", |
|
|
484 |
" <td>1.560000</td>\n", |
|
|
485 |
" <td>57.000000</td>\n", |
|
|
486 |
" <td>yes</td>\n", |
|
|
487 |
" <td>yes</td>\n", |
|
|
488 |
" <td>2.000000</td>\n", |
|
|
489 |
" <td>3.000000</td>\n", |
|
|
490 |
" <td>Frequently</td>\n", |
|
|
491 |
" <td>no</td>\n", |
|
|
492 |
" <td>2.000000</td>\n", |
|
|
493 |
" <td>no</td>\n", |
|
|
494 |
" <td>1.000000</td>\n", |
|
|
495 |
" <td>1.000000</td>\n", |
|
|
496 |
" <td>no</td>\n", |
|
|
497 |
" <td>Automobile</td>\n", |
|
|
498 |
" <td>Normal_Weight</td>\n", |
|
|
499 |
" </tr>\n", |
|
|
500 |
" <tr>\n", |
|
|
501 |
" <th>2</th>\n", |
|
|
502 |
" <td>2</td>\n", |
|
|
503 |
" <td>Female</td>\n", |
|
|
504 |
" <td>18.000000</td>\n", |
|
|
505 |
" <td>1.711460</td>\n", |
|
|
506 |
" <td>50.165754</td>\n", |
|
|
507 |
" <td>yes</td>\n", |
|
|
508 |
" <td>yes</td>\n", |
|
|
509 |
" <td>1.880534</td>\n", |
|
|
510 |
" <td>1.411685</td>\n", |
|
|
511 |
" <td>Sometimes</td>\n", |
|
|
512 |
" <td>no</td>\n", |
|
|
513 |
" <td>1.910378</td>\n", |
|
|
514 |
" <td>no</td>\n", |
|
|
515 |
" <td>0.866045</td>\n", |
|
|
516 |
" <td>1.673584</td>\n", |
|
|
517 |
" <td>no</td>\n", |
|
|
518 |
" <td>Public_Transportation</td>\n", |
|
|
519 |
" <td>Insufficient_Weight</td>\n", |
|
|
520 |
" </tr>\n", |
|
|
521 |
" <tr>\n", |
|
|
522 |
" <th>3</th>\n", |
|
|
523 |
" <td>3</td>\n", |
|
|
524 |
" <td>Female</td>\n", |
|
|
525 |
" <td>20.952737</td>\n", |
|
|
526 |
" <td>1.710730</td>\n", |
|
|
527 |
" <td>131.274851</td>\n", |
|
|
528 |
" <td>yes</td>\n", |
|
|
529 |
" <td>yes</td>\n", |
|
|
530 |
" <td>3.000000</td>\n", |
|
|
531 |
" <td>3.000000</td>\n", |
|
|
532 |
" <td>Sometimes</td>\n", |
|
|
533 |
" <td>no</td>\n", |
|
|
534 |
" <td>1.674061</td>\n", |
|
|
535 |
" <td>no</td>\n", |
|
|
536 |
" <td>1.467863</td>\n", |
|
|
537 |
" <td>0.780199</td>\n", |
|
|
538 |
" <td>Sometimes</td>\n", |
|
|
539 |
" <td>Public_Transportation</td>\n", |
|
|
540 |
" <td>Obesity_Type_III</td>\n", |
|
|
541 |
" </tr>\n", |
|
|
542 |
" <tr>\n", |
|
|
543 |
" <th>4</th>\n", |
|
|
544 |
" <td>4</td>\n", |
|
|
545 |
" <td>Male</td>\n", |
|
|
546 |
" <td>31.641081</td>\n", |
|
|
547 |
" <td>1.914186</td>\n", |
|
|
548 |
" <td>93.798055</td>\n", |
|
|
549 |
" <td>yes</td>\n", |
|
|
550 |
" <td>yes</td>\n", |
|
|
551 |
" <td>2.679664</td>\n", |
|
|
552 |
" <td>1.971472</td>\n", |
|
|
553 |
" <td>Sometimes</td>\n", |
|
|
554 |
" <td>no</td>\n", |
|
|
555 |
" <td>1.979848</td>\n", |
|
|
556 |
" <td>no</td>\n", |
|
|
557 |
" <td>1.967973</td>\n", |
|
|
558 |
" <td>0.931721</td>\n", |
|
|
559 |
" <td>Sometimes</td>\n", |
|
|
560 |
" <td>Public_Transportation</td>\n", |
|
|
561 |
" <td>Overweight_Level_II</td>\n", |
|
|
562 |
" </tr>\n", |
|
|
563 |
" </tbody>\n", |
|
|
564 |
"</table>\n", |
|
|
565 |
"</div>\n", |
|
|
566 |
" <div class=\"colab-df-buttons\">\n", |
|
|
567 |
"\n", |
|
|
568 |
" <div class=\"colab-df-container\">\n", |
|
|
569 |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-7d0d80a3-508a-4d31-81b1-b74d0c8dc4e7')\"\n", |
|
|
570 |
" title=\"Convert this dataframe to an interactive table.\"\n", |
|
|
571 |
" style=\"display:none;\">\n", |
|
|
572 |
"\n", |
|
|
573 |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", |
|
|
574 |
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", |
|
|
575 |
" </svg>\n", |
|
|
576 |
" </button>\n", |
|
|
577 |
"\n", |
|
|
578 |
" <style>\n", |
|
|
579 |
" .colab-df-container {\n", |
|
|
580 |
" display:flex;\n", |
|
|
581 |
" gap: 12px;\n", |
|
|
582 |
" }\n", |
|
|
583 |
"\n", |
|
|
584 |
" .colab-df-convert {\n", |
|
|
585 |
" background-color: #E8F0FE;\n", |
|
|
586 |
" border: none;\n", |
|
|
587 |
" border-radius: 50%;\n", |
|
|
588 |
" cursor: pointer;\n", |
|
|
589 |
" display: none;\n", |
|
|
590 |
" fill: #1967D2;\n", |
|
|
591 |
" height: 32px;\n", |
|
|
592 |
" padding: 0 0 0 0;\n", |
|
|
593 |
" width: 32px;\n", |
|
|
594 |
" }\n", |
|
|
595 |
"\n", |
|
|
596 |
" .colab-df-convert:hover {\n", |
|
|
597 |
" background-color: #E2EBFA;\n", |
|
|
598 |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", |
|
|
599 |
" fill: #174EA6;\n", |
|
|
600 |
" }\n", |
|
|
601 |
"\n", |
|
|
602 |
" .colab-df-buttons div {\n", |
|
|
603 |
" margin-bottom: 4px;\n", |
|
|
604 |
" }\n", |
|
|
605 |
"\n", |
|
|
606 |
" [theme=dark] .colab-df-convert {\n", |
|
|
607 |
" background-color: #3B4455;\n", |
|
|
608 |
" fill: #D2E3FC;\n", |
|
|
609 |
" }\n", |
|
|
610 |
"\n", |
|
|
611 |
" [theme=dark] .colab-df-convert:hover {\n", |
|
|
612 |
" background-color: #434B5C;\n", |
|
|
613 |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", |
|
|
614 |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", |
|
|
615 |
" fill: #FFFFFF;\n", |
|
|
616 |
" }\n", |
|
|
617 |
" </style>\n", |
|
|
618 |
"\n", |
|
|
619 |
" <script>\n", |
|
|
620 |
" const buttonEl =\n", |
|
|
621 |
" document.querySelector('#df-7d0d80a3-508a-4d31-81b1-b74d0c8dc4e7 button.colab-df-convert');\n", |
|
|
622 |
" buttonEl.style.display =\n", |
|
|
623 |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", |
|
|
624 |
"\n", |
|
|
625 |
" async function convertToInteractive(key) {\n", |
|
|
626 |
" const element = document.querySelector('#df-7d0d80a3-508a-4d31-81b1-b74d0c8dc4e7');\n", |
|
|
627 |
" const dataTable =\n", |
|
|
628 |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", |
|
|
629 |
" [key], {});\n", |
|
|
630 |
" if (!dataTable) return;\n", |
|
|
631 |
"\n", |
|
|
632 |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", |
|
|
633 |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", |
|
|
634 |
" + ' to learn more about interactive tables.';\n", |
|
|
635 |
" element.innerHTML = '';\n", |
|
|
636 |
" dataTable['output_type'] = 'display_data';\n", |
|
|
637 |
" await google.colab.output.renderOutput(dataTable, element);\n", |
|
|
638 |
" const docLink = document.createElement('div');\n", |
|
|
639 |
" docLink.innerHTML = docLinkHtml;\n", |
|
|
640 |
" element.appendChild(docLink);\n", |
|
|
641 |
" }\n", |
|
|
642 |
" </script>\n", |
|
|
643 |
" </div>\n", |
|
|
644 |
"\n", |
|
|
645 |
"\n", |
|
|
646 |
"<div id=\"df-809ff325-3488-49b1-ba83-312cc0f4f8d4\">\n", |
|
|
647 |
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-809ff325-3488-49b1-ba83-312cc0f4f8d4')\"\n", |
|
|
648 |
" title=\"Suggest charts\"\n", |
|
|
649 |
" style=\"display:none;\">\n", |
|
|
650 |
"\n", |
|
|
651 |
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", |
|
|
652 |
" width=\"24px\">\n", |
|
|
653 |
" <g>\n", |
|
|
654 |
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", |
|
|
655 |
" </g>\n", |
|
|
656 |
"</svg>\n", |
|
|
657 |
" </button>\n", |
|
|
658 |
"\n", |
|
|
659 |
"<style>\n", |
|
|
660 |
" .colab-df-quickchart {\n", |
|
|
661 |
" --bg-color: #E8F0FE;\n", |
|
|
662 |
" --fill-color: #1967D2;\n", |
|
|
663 |
" --hover-bg-color: #E2EBFA;\n", |
|
|
664 |
" --hover-fill-color: #174EA6;\n", |
|
|
665 |
" --disabled-fill-color: #AAA;\n", |
|
|
666 |
" --disabled-bg-color: #DDD;\n", |
|
|
667 |
" }\n", |
|
|
668 |
"\n", |
|
|
669 |
" [theme=dark] .colab-df-quickchart {\n", |
|
|
670 |
" --bg-color: #3B4455;\n", |
|
|
671 |
" --fill-color: #D2E3FC;\n", |
|
|
672 |
" --hover-bg-color: #434B5C;\n", |
|
|
673 |
" --hover-fill-color: #FFFFFF;\n", |
|
|
674 |
" --disabled-bg-color: #3B4455;\n", |
|
|
675 |
" --disabled-fill-color: #666;\n", |
|
|
676 |
" }\n", |
|
|
677 |
"\n", |
|
|
678 |
" .colab-df-quickchart {\n", |
|
|
679 |
" background-color: var(--bg-color);\n", |
|
|
680 |
" border: none;\n", |
|
|
681 |
" border-radius: 50%;\n", |
|
|
682 |
" cursor: pointer;\n", |
|
|
683 |
" display: none;\n", |
|
|
684 |
" fill: var(--fill-color);\n", |
|
|
685 |
" height: 32px;\n", |
|
|
686 |
" padding: 0;\n", |
|
|
687 |
" width: 32px;\n", |
|
|
688 |
" }\n", |
|
|
689 |
"\n", |
|
|
690 |
" .colab-df-quickchart:hover {\n", |
|
|
691 |
" background-color: var(--hover-bg-color);\n", |
|
|
692 |
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", |
|
|
693 |
" fill: var(--button-hover-fill-color);\n", |
|
|
694 |
" }\n", |
|
|
695 |
"\n", |
|
|
696 |
" .colab-df-quickchart-complete:disabled,\n", |
|
|
697 |
" .colab-df-quickchart-complete:disabled:hover {\n", |
|
|
698 |
" background-color: var(--disabled-bg-color);\n", |
|
|
699 |
" fill: var(--disabled-fill-color);\n", |
|
|
700 |
" box-shadow: none;\n", |
|
|
701 |
" }\n", |
|
|
702 |
"\n", |
|
|
703 |
" .colab-df-spinner {\n", |
|
|
704 |
" border: 2px solid var(--fill-color);\n", |
|
|
705 |
" border-color: transparent;\n", |
|
|
706 |
" border-bottom-color: var(--fill-color);\n", |
|
|
707 |
" animation:\n", |
|
|
708 |
" spin 1s steps(1) infinite;\n", |
|
|
709 |
" }\n", |
|
|
710 |
"\n", |
|
|
711 |
" @keyframes spin {\n", |
|
|
712 |
" 0% {\n", |
|
|
713 |
" border-color: transparent;\n", |
|
|
714 |
" border-bottom-color: var(--fill-color);\n", |
|
|
715 |
" border-left-color: var(--fill-color);\n", |
|
|
716 |
" }\n", |
|
|
717 |
" 20% {\n", |
|
|
718 |
" border-color: transparent;\n", |
|
|
719 |
" border-left-color: var(--fill-color);\n", |
|
|
720 |
" border-top-color: var(--fill-color);\n", |
|
|
721 |
" }\n", |
|
|
722 |
" 30% {\n", |
|
|
723 |
" border-color: transparent;\n", |
|
|
724 |
" border-left-color: var(--fill-color);\n", |
|
|
725 |
" border-top-color: var(--fill-color);\n", |
|
|
726 |
" border-right-color: var(--fill-color);\n", |
|
|
727 |
" }\n", |
|
|
728 |
" 40% {\n", |
|
|
729 |
" border-color: transparent;\n", |
|
|
730 |
" border-right-color: var(--fill-color);\n", |
|
|
731 |
" border-top-color: var(--fill-color);\n", |
|
|
732 |
" }\n", |
|
|
733 |
" 60% {\n", |
|
|
734 |
" border-color: transparent;\n", |
|
|
735 |
" border-right-color: var(--fill-color);\n", |
|
|
736 |
" }\n", |
|
|
737 |
" 80% {\n", |
|
|
738 |
" border-color: transparent;\n", |
|
|
739 |
" border-right-color: var(--fill-color);\n", |
|
|
740 |
" border-bottom-color: var(--fill-color);\n", |
|
|
741 |
" }\n", |
|
|
742 |
" 90% {\n", |
|
|
743 |
" border-color: transparent;\n", |
|
|
744 |
" border-bottom-color: var(--fill-color);\n", |
|
|
745 |
" }\n", |
|
|
746 |
" }\n", |
|
|
747 |
"</style>\n", |
|
|
748 |
"\n", |
|
|
749 |
" <script>\n", |
|
|
750 |
" async function quickchart(key) {\n", |
|
|
751 |
" const quickchartButtonEl =\n", |
|
|
752 |
" document.querySelector('#' + key + ' button');\n", |
|
|
753 |
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", |
|
|
754 |
" quickchartButtonEl.classList.add('colab-df-spinner');\n", |
|
|
755 |
" try {\n", |
|
|
756 |
" const charts = await google.colab.kernel.invokeFunction(\n", |
|
|
757 |
" 'suggestCharts', [key], {});\n", |
|
|
758 |
" } catch (error) {\n", |
|
|
759 |
" console.error('Error during call to suggestCharts:', error);\n", |
|
|
760 |
" }\n", |
|
|
761 |
" quickchartButtonEl.classList.remove('colab-df-spinner');\n", |
|
|
762 |
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", |
|
|
763 |
" }\n", |
|
|
764 |
" (() => {\n", |
|
|
765 |
" let quickchartButtonEl =\n", |
|
|
766 |
" document.querySelector('#df-809ff325-3488-49b1-ba83-312cc0f4f8d4 button');\n", |
|
|
767 |
" quickchartButtonEl.style.display =\n", |
|
|
768 |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", |
|
|
769 |
" })();\n", |
|
|
770 |
" </script>\n", |
|
|
771 |
"</div>\n", |
|
|
772 |
"\n", |
|
|
773 |
" </div>\n", |
|
|
774 |
" </div>\n" |
|
|
775 |
], |
|
|
776 |
"application/vnd.google.colaboratory.intrinsic+json": { |
|
|
777 |
"type": "dataframe", |
|
|
778 |
"variable_name": "obesity", |
|
|
779 |
"summary": "{\n \"name\": \"obesity\",\n \"rows\": 20758,\n \"fields\": [\n {\n \"column\": \"id\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 5992,\n \"min\": 0,\n \"max\": 20757,\n \"num_unique_values\": 20758,\n \"samples\": [\n 10317,\n 4074,\n 9060\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Gender\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"Female\",\n \"Male\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Age\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 5.688071958787075,\n \"min\": 14.0,\n \"max\": 61.0,\n \"num_unique_values\": 1703,\n \"samples\": [\n 25.902283,\n 17.412629\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Height\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.08731190569718149,\n \"min\": 1.45,\n \"max\": 1.975663,\n \"num_unique_values\": 1833,\n \"samples\": [\n 1.685127,\n 1.919241\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Weight\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 26.379443076406236,\n \"min\": 39.0,\n \"max\": 165.057269,\n \"num_unique_values\": 1979,\n \"samples\": [\n 110.804337,\n 96.875502\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"family_history_with_overweight\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"no\",\n \"yes\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"FAVC\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"no\",\n \"yes\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"FCVC\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5332181544582983,\n \"min\": 1.0,\n \"max\": 3.0,\n \"num_unique_values\": 934,\n \"samples\": [\n 2.444599,\n 2.191429\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"NCP\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.7053745958837867,\n \"min\": 1.0,\n \"max\": 4.0,\n \"num_unique_values\": 689,\n \"samples\": [\n 1.193589,\n 2.814518\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"CAEC\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 4,\n \"samples\": [\n \"Frequently\",\n \"Always\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SMOKE\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"yes\",\n \"no\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"CH2O\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.6084670184548745,\n \"min\": 1.0,\n \"max\": 3.0,\n \"num_unique_values\": 1506,\n \"samples\": [\n 2.495851,\n 2.15157\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SCC\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 2,\n \"samples\": [\n \"yes\",\n \"no\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"FAF\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.8383019759696896,\n \"min\": 0.0,\n \"max\": 3.0,\n \"num_unique_values\": 1360,\n \"samples\": [\n 1.079524,\n 1.456369\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"TUE\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.6021134769922342,\n \"min\": 0.0,\n \"max\": 2.0,\n \"num_unique_values\": 1297,\n \"samples\": [\n 0.076654,\n 0.586163\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"CALC\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Sometimes\",\n \"no\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"MTRANS\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"Automobile\",\n \"Bike\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"NObeyesdad\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 7,\n \"samples\": [\n \"Overweight_Level_II\",\n \"Normal_Weight\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" |
|
|
780 |
} |
|
|
781 |
}, |
|
|
782 |
"metadata": {}, |
|
|
783 |
"execution_count": 9 |
|
|
784 |
} |
|
|
785 |
] |
|
|
786 |
}, |
|
|
787 |
{ |
|
|
788 |
"cell_type": "markdown", |
|
|
789 |
"source": [ |
|
|
790 |
"# **DATA** **PREPROCESSING**" |
|
|
791 |
], |
|
|
792 |
"metadata": { |
|
|
793 |
"id": "G4Cb4mgPrp3H" |
|
|
794 |
} |
|
|
795 |
}, |
|
|
796 |
{ |
|
|
797 |
"cell_type": "code", |
|
|
798 |
"source": [ |
|
|
799 |
"obesity = obesity.drop('id', axis=1)" |
|
|
800 |
], |
|
|
801 |
"metadata": { |
|
|
802 |
"id": "aH0zcZzDduHW" |
|
|
803 |
}, |
|
|
804 |
"execution_count": 10, |
|
|
805 |
"outputs": [] |
|
|
806 |
}, |
|
|
807 |
{ |
|
|
808 |
"cell_type": "code", |
|
|
809 |
"source": [ |
|
|
810 |
"obesity.describe(include='all')" |
|
|
811 |
], |
|
|
812 |
"metadata": { |
|
|
813 |
"colab": { |
|
|
814 |
"base_uri": "https://localhost:8080/", |
|
|
815 |
"height": 414 |
|
|
816 |
}, |
|
|
817 |
"id": "0yxsCN3qjpcR", |
|
|
818 |
"outputId": "7cd9383e-0176-41be-e258-9e7d1f19159f" |
|
|
819 |
}, |
|
|
820 |
"execution_count": 11, |
|
|
821 |
"outputs": [ |
|
|
822 |
{ |
|
|
823 |
"output_type": "execute_result", |
|
|
824 |
"data": { |
|
|
825 |
"text/plain": [ |
|
|
826 |
" Gender Age Height Weight \\\n", |
|
|
827 |
"count 20758 20758.000000 20758.000000 20758.000000 \n", |
|
|
828 |
"unique 2 NaN NaN NaN \n", |
|
|
829 |
"top Female NaN NaN NaN \n", |
|
|
830 |
"freq 10422 NaN NaN NaN \n", |
|
|
831 |
"mean NaN 23.841804 1.700245 87.887768 \n", |
|
|
832 |
"std NaN 5.688072 0.087312 26.379443 \n", |
|
|
833 |
"min NaN 14.000000 1.450000 39.000000 \n", |
|
|
834 |
"25% NaN 20.000000 1.631856 66.000000 \n", |
|
|
835 |
"50% NaN 22.815416 1.700000 84.064875 \n", |
|
|
836 |
"75% NaN 26.000000 1.762887 111.600553 \n", |
|
|
837 |
"max NaN 61.000000 1.975663 165.057269 \n", |
|
|
838 |
"\n", |
|
|
839 |
" family_history_with_overweight FAVC FCVC NCP \\\n", |
|
|
840 |
"count 20758 20758 20758.000000 20758.000000 \n", |
|
|
841 |
"unique 2 2 NaN NaN \n", |
|
|
842 |
"top yes yes NaN NaN \n", |
|
|
843 |
"freq 17014 18982 NaN NaN \n", |
|
|
844 |
"mean NaN NaN 2.445908 2.761332 \n", |
|
|
845 |
"std NaN NaN 0.533218 0.705375 \n", |
|
|
846 |
"min NaN NaN 1.000000 1.000000 \n", |
|
|
847 |
"25% NaN NaN 2.000000 3.000000 \n", |
|
|
848 |
"50% NaN NaN 2.393837 3.000000 \n", |
|
|
849 |
"75% NaN NaN 3.000000 3.000000 \n", |
|
|
850 |
"max NaN NaN 3.000000 4.000000 \n", |
|
|
851 |
"\n", |
|
|
852 |
" CAEC SMOKE CH2O SCC FAF TUE \\\n", |
|
|
853 |
"count 20758 20758 20758.000000 20758 20758.000000 20758.000000 \n", |
|
|
854 |
"unique 4 2 NaN 2 NaN NaN \n", |
|
|
855 |
"top Sometimes no NaN no NaN NaN \n", |
|
|
856 |
"freq 17529 20513 NaN 20071 NaN NaN \n", |
|
|
857 |
"mean NaN NaN 2.029418 NaN 0.981747 0.616756 \n", |
|
|
858 |
"std NaN NaN 0.608467 NaN 0.838302 0.602113 \n", |
|
|
859 |
"min NaN NaN 1.000000 NaN 0.000000 0.000000 \n", |
|
|
860 |
"25% NaN NaN 1.792022 NaN 0.008013 0.000000 \n", |
|
|
861 |
"50% NaN NaN 2.000000 NaN 1.000000 0.573887 \n", |
|
|
862 |
"75% NaN NaN 2.549617 NaN 1.587406 1.000000 \n", |
|
|
863 |
"max NaN NaN 3.000000 NaN 3.000000 2.000000 \n", |
|
|
864 |
"\n", |
|
|
865 |
" CALC MTRANS NObeyesdad \n", |
|
|
866 |
"count 20758 20758 20758 \n", |
|
|
867 |
"unique 3 5 7 \n", |
|
|
868 |
"top Sometimes Public_Transportation Obesity_Type_III \n", |
|
|
869 |
"freq 15066 16687 4046 \n", |
|
|
870 |
"mean NaN NaN NaN \n", |
|
|
871 |
"std NaN NaN NaN \n", |
|
|
872 |
"min NaN NaN NaN \n", |
|
|
873 |
"25% NaN NaN NaN \n", |
|
|
874 |
"50% NaN NaN NaN \n", |
|
|
875 |
"75% NaN NaN NaN \n", |
|
|
876 |
"max NaN NaN NaN " |
|
|
877 |
], |
|
|
878 |
"text/html": [ |
|
|
879 |
"\n", |
|
|
880 |
" <div id=\"df-208eb5bd-0abb-406e-ad14-8659b4b034e4\" class=\"colab-df-container\">\n", |
|
|
881 |
" <div>\n", |
|
|
882 |
"<style scoped>\n", |
|
|
883 |
" .dataframe tbody tr th:only-of-type {\n", |
|
|
884 |
" vertical-align: middle;\n", |
|
|
885 |
" }\n", |
|
|
886 |
"\n", |
|
|
887 |
" .dataframe tbody tr th {\n", |
|
|
888 |
" vertical-align: top;\n", |
|
|
889 |
" }\n", |
|
|
890 |
"\n", |
|
|
891 |
" .dataframe thead th {\n", |
|
|
892 |
" text-align: right;\n", |
|
|
893 |
" }\n", |
|
|
894 |
"</style>\n", |
|
|
895 |
"<table border=\"1\" class=\"dataframe\">\n", |
|
|
896 |
" <thead>\n", |
|
|
897 |
" <tr style=\"text-align: right;\">\n", |
|
|
898 |
" <th></th>\n", |
|
|
899 |
" <th>Gender</th>\n", |
|
|
900 |
" <th>Age</th>\n", |
|
|
901 |
" <th>Height</th>\n", |
|
|
902 |
" <th>Weight</th>\n", |
|
|
903 |
" <th>family_history_with_overweight</th>\n", |
|
|
904 |
" <th>FAVC</th>\n", |
|
|
905 |
" <th>FCVC</th>\n", |
|
|
906 |
" <th>NCP</th>\n", |
|
|
907 |
" <th>CAEC</th>\n", |
|
|
908 |
" <th>SMOKE</th>\n", |
|
|
909 |
" <th>CH2O</th>\n", |
|
|
910 |
" <th>SCC</th>\n", |
|
|
911 |
" <th>FAF</th>\n", |
|
|
912 |
" <th>TUE</th>\n", |
|
|
913 |
" <th>CALC</th>\n", |
|
|
914 |
" <th>MTRANS</th>\n", |
|
|
915 |
" <th>NObeyesdad</th>\n", |
|
|
916 |
" </tr>\n", |
|
|
917 |
" </thead>\n", |
|
|
918 |
" <tbody>\n", |
|
|
919 |
" <tr>\n", |
|
|
920 |
" <th>count</th>\n", |
|
|
921 |
" <td>20758</td>\n", |
|
|
922 |
" <td>20758.000000</td>\n", |
|
|
923 |
" <td>20758.000000</td>\n", |
|
|
924 |
" <td>20758.000000</td>\n", |
|
|
925 |
" <td>20758</td>\n", |
|
|
926 |
" <td>20758</td>\n", |
|
|
927 |
" <td>20758.000000</td>\n", |
|
|
928 |
" <td>20758.000000</td>\n", |
|
|
929 |
" <td>20758</td>\n", |
|
|
930 |
" <td>20758</td>\n", |
|
|
931 |
" <td>20758.000000</td>\n", |
|
|
932 |
" <td>20758</td>\n", |
|
|
933 |
" <td>20758.000000</td>\n", |
|
|
934 |
" <td>20758.000000</td>\n", |
|
|
935 |
" <td>20758</td>\n", |
|
|
936 |
" <td>20758</td>\n", |
|
|
937 |
" <td>20758</td>\n", |
|
|
938 |
" </tr>\n", |
|
|
939 |
" <tr>\n", |
|
|
940 |
" <th>unique</th>\n", |
|
|
941 |
" <td>2</td>\n", |
|
|
942 |
" <td>NaN</td>\n", |
|
|
943 |
" <td>NaN</td>\n", |
|
|
944 |
" <td>NaN</td>\n", |
|
|
945 |
" <td>2</td>\n", |
|
|
946 |
" <td>2</td>\n", |
|
|
947 |
" <td>NaN</td>\n", |
|
|
948 |
" <td>NaN</td>\n", |
|
|
949 |
" <td>4</td>\n", |
|
|
950 |
" <td>2</td>\n", |
|
|
951 |
" <td>NaN</td>\n", |
|
|
952 |
" <td>2</td>\n", |
|
|
953 |
" <td>NaN</td>\n", |
|
|
954 |
" <td>NaN</td>\n", |
|
|
955 |
" <td>3</td>\n", |
|
|
956 |
" <td>5</td>\n", |
|
|
957 |
" <td>7</td>\n", |
|
|
958 |
" </tr>\n", |
|
|
959 |
" <tr>\n", |
|
|
960 |
" <th>top</th>\n", |
|
|
961 |
" <td>Female</td>\n", |
|
|
962 |
" <td>NaN</td>\n", |
|
|
963 |
" <td>NaN</td>\n", |
|
|
964 |
" <td>NaN</td>\n", |
|
|
965 |
" <td>yes</td>\n", |
|
|
966 |
" <td>yes</td>\n", |
|
|
967 |
" <td>NaN</td>\n", |
|
|
968 |
" <td>NaN</td>\n", |
|
|
969 |
" <td>Sometimes</td>\n", |
|
|
970 |
" <td>no</td>\n", |
|
|
971 |
" <td>NaN</td>\n", |
|
|
972 |
" <td>no</td>\n", |
|
|
973 |
" <td>NaN</td>\n", |
|
|
974 |
" <td>NaN</td>\n", |
|
|
975 |
" <td>Sometimes</td>\n", |
|
|
976 |
" <td>Public_Transportation</td>\n", |
|
|
977 |
" <td>Obesity_Type_III</td>\n", |
|
|
978 |
" </tr>\n", |
|
|
979 |
" <tr>\n", |
|
|
980 |
" <th>freq</th>\n", |
|
|
981 |
" <td>10422</td>\n", |
|
|
982 |
" <td>NaN</td>\n", |
|
|
983 |
" <td>NaN</td>\n", |
|
|
984 |
" <td>NaN</td>\n", |
|
|
985 |
" <td>17014</td>\n", |
|
|
986 |
" <td>18982</td>\n", |
|
|
987 |
" <td>NaN</td>\n", |
|
|
988 |
" <td>NaN</td>\n", |
|
|
989 |
" <td>17529</td>\n", |
|
|
990 |
" <td>20513</td>\n", |
|
|
991 |
" <td>NaN</td>\n", |
|
|
992 |
" <td>20071</td>\n", |
|
|
993 |
" <td>NaN</td>\n", |
|
|
994 |
" <td>NaN</td>\n", |
|
|
995 |
" <td>15066</td>\n", |
|
|
996 |
" <td>16687</td>\n", |
|
|
997 |
" <td>4046</td>\n", |
|
|
998 |
" </tr>\n", |
|
|
999 |
" <tr>\n", |
|
|
1000 |
" <th>mean</th>\n", |
|
|
1001 |
" <td>NaN</td>\n", |
|
|
1002 |
" <td>23.841804</td>\n", |
|
|
1003 |
" <td>1.700245</td>\n", |
|
|
1004 |
" <td>87.887768</td>\n", |
|
|
1005 |
" <td>NaN</td>\n", |
|
|
1006 |
" <td>NaN</td>\n", |
|
|
1007 |
" <td>2.445908</td>\n", |
|
|
1008 |
" <td>2.761332</td>\n", |
|
|
1009 |
" <td>NaN</td>\n", |
|
|
1010 |
" <td>NaN</td>\n", |
|
|
1011 |
" <td>2.029418</td>\n", |
|
|
1012 |
" <td>NaN</td>\n", |
|
|
1013 |
" <td>0.981747</td>\n", |
|
|
1014 |
" <td>0.616756</td>\n", |
|
|
1015 |
" <td>NaN</td>\n", |
|
|
1016 |
" <td>NaN</td>\n", |
|
|
1017 |
" <td>NaN</td>\n", |
|
|
1018 |
" </tr>\n", |
|
|
1019 |
" <tr>\n", |
|
|
1020 |
" <th>std</th>\n", |
|
|
1021 |
" <td>NaN</td>\n", |
|
|
1022 |
" <td>5.688072</td>\n", |
|
|
1023 |
" <td>0.087312</td>\n", |
|
|
1024 |
" <td>26.379443</td>\n", |
|
|
1025 |
" <td>NaN</td>\n", |
|
|
1026 |
" <td>NaN</td>\n", |
|
|
1027 |
" <td>0.533218</td>\n", |
|
|
1028 |
" <td>0.705375</td>\n", |
|
|
1029 |
" <td>NaN</td>\n", |
|
|
1030 |
" <td>NaN</td>\n", |
|
|
1031 |
" <td>0.608467</td>\n", |
|
|
1032 |
" <td>NaN</td>\n", |
|
|
1033 |
" <td>0.838302</td>\n", |
|
|
1034 |
" <td>0.602113</td>\n", |
|
|
1035 |
" <td>NaN</td>\n", |
|
|
1036 |
" <td>NaN</td>\n", |
|
|
1037 |
" <td>NaN</td>\n", |
|
|
1038 |
" </tr>\n", |
|
|
1039 |
" <tr>\n", |
|
|
1040 |
" <th>min</th>\n", |
|
|
1041 |
" <td>NaN</td>\n", |
|
|
1042 |
" <td>14.000000</td>\n", |
|
|
1043 |
" <td>1.450000</td>\n", |
|
|
1044 |
" <td>39.000000</td>\n", |
|
|
1045 |
" <td>NaN</td>\n", |
|
|
1046 |
" <td>NaN</td>\n", |
|
|
1047 |
" <td>1.000000</td>\n", |
|
|
1048 |
" <td>1.000000</td>\n", |
|
|
1049 |
" <td>NaN</td>\n", |
|
|
1050 |
" <td>NaN</td>\n", |
|
|
1051 |
" <td>1.000000</td>\n", |
|
|
1052 |
" <td>NaN</td>\n", |
|
|
1053 |
" <td>0.000000</td>\n", |
|
|
1054 |
" <td>0.000000</td>\n", |
|
|
1055 |
" <td>NaN</td>\n", |
|
|
1056 |
" <td>NaN</td>\n", |
|
|
1057 |
" <td>NaN</td>\n", |
|
|
1058 |
" </tr>\n", |
|
|
1059 |
" <tr>\n", |
|
|
1060 |
" <th>25%</th>\n", |
|
|
1061 |
" <td>NaN</td>\n", |
|
|
1062 |
" <td>20.000000</td>\n", |
|
|
1063 |
" <td>1.631856</td>\n", |
|
|
1064 |
" <td>66.000000</td>\n", |
|
|
1065 |
" <td>NaN</td>\n", |
|
|
1066 |
" <td>NaN</td>\n", |
|
|
1067 |
" <td>2.000000</td>\n", |
|
|
1068 |
" <td>3.000000</td>\n", |
|
|
1069 |
" <td>NaN</td>\n", |
|
|
1070 |
" <td>NaN</td>\n", |
|
|
1071 |
" <td>1.792022</td>\n", |
|
|
1072 |
" <td>NaN</td>\n", |
|
|
1073 |
" <td>0.008013</td>\n", |
|
|
1074 |
" <td>0.000000</td>\n", |
|
|
1075 |
" <td>NaN</td>\n", |
|
|
1076 |
" <td>NaN</td>\n", |
|
|
1077 |
" <td>NaN</td>\n", |
|
|
1078 |
" </tr>\n", |
|
|
1079 |
" <tr>\n", |
|
|
1080 |
" <th>50%</th>\n", |
|
|
1081 |
" <td>NaN</td>\n", |
|
|
1082 |
" <td>22.815416</td>\n", |
|
|
1083 |
" <td>1.700000</td>\n", |
|
|
1084 |
" <td>84.064875</td>\n", |
|
|
1085 |
" <td>NaN</td>\n", |
|
|
1086 |
" <td>NaN</td>\n", |
|
|
1087 |
" <td>2.393837</td>\n", |
|
|
1088 |
" <td>3.000000</td>\n", |
|
|
1089 |
" <td>NaN</td>\n", |
|
|
1090 |
" <td>NaN</td>\n", |
|
|
1091 |
" <td>2.000000</td>\n", |
|
|
1092 |
" <td>NaN</td>\n", |
|
|
1093 |
" <td>1.000000</td>\n", |
|
|
1094 |
" <td>0.573887</td>\n", |
|
|
1095 |
" <td>NaN</td>\n", |
|
|
1096 |
" <td>NaN</td>\n", |
|
|
1097 |
" <td>NaN</td>\n", |
|
|
1098 |
" </tr>\n", |
|
|
1099 |
" <tr>\n", |
|
|
1100 |
" <th>75%</th>\n", |
|
|
1101 |
" <td>NaN</td>\n", |
|
|
1102 |
" <td>26.000000</td>\n", |
|
|
1103 |
" <td>1.762887</td>\n", |
|
|
1104 |
" <td>111.600553</td>\n", |
|
|
1105 |
" <td>NaN</td>\n", |
|
|
1106 |
" <td>NaN</td>\n", |
|
|
1107 |
" <td>3.000000</td>\n", |
|
|
1108 |
" <td>3.000000</td>\n", |
|
|
1109 |
" <td>NaN</td>\n", |
|
|
1110 |
" <td>NaN</td>\n", |
|
|
1111 |
" <td>2.549617</td>\n", |
|
|
1112 |
" <td>NaN</td>\n", |
|
|
1113 |
" <td>1.587406</td>\n", |
|
|
1114 |
" <td>1.000000</td>\n", |
|
|
1115 |
" <td>NaN</td>\n", |
|
|
1116 |
" <td>NaN</td>\n", |
|
|
1117 |
" <td>NaN</td>\n", |
|
|
1118 |
" </tr>\n", |
|
|
1119 |
" <tr>\n", |
|
|
1120 |
" <th>max</th>\n", |
|
|
1121 |
" <td>NaN</td>\n", |
|
|
1122 |
" <td>61.000000</td>\n", |
|
|
1123 |
" <td>1.975663</td>\n", |
|
|
1124 |
" <td>165.057269</td>\n", |
|
|
1125 |
" <td>NaN</td>\n", |
|
|
1126 |
" <td>NaN</td>\n", |
|
|
1127 |
" <td>3.000000</td>\n", |
|
|
1128 |
" <td>4.000000</td>\n", |
|
|
1129 |
" <td>NaN</td>\n", |
|
|
1130 |
" <td>NaN</td>\n", |
|
|
1131 |
" <td>3.000000</td>\n", |
|
|
1132 |
" <td>NaN</td>\n", |
|
|
1133 |
" <td>3.000000</td>\n", |
|
|
1134 |
" <td>2.000000</td>\n", |
|
|
1135 |
" <td>NaN</td>\n", |
|
|
1136 |
" <td>NaN</td>\n", |
|
|
1137 |
" <td>NaN</td>\n", |
|
|
1138 |
" </tr>\n", |
|
|
1139 |
" </tbody>\n", |
|
|
1140 |
"</table>\n", |
|
|
1141 |
"</div>\n", |
|
|
1142 |
" <div class=\"colab-df-buttons\">\n", |
|
|
1143 |
"\n", |
|
|
1144 |
" <div class=\"colab-df-container\">\n", |
|
|
1145 |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-208eb5bd-0abb-406e-ad14-8659b4b034e4')\"\n", |
|
|
1146 |
" title=\"Convert this dataframe to an interactive table.\"\n", |
|
|
1147 |
" style=\"display:none;\">\n", |
|
|
1148 |
"\n", |
|
|
1149 |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", |
|
|
1150 |
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", |
|
|
1151 |
" </svg>\n", |
|
|
1152 |
" </button>\n", |
|
|
1153 |
"\n", |
|
|
1154 |
" <style>\n", |
|
|
1155 |
" .colab-df-container {\n", |
|
|
1156 |
" display:flex;\n", |
|
|
1157 |
" gap: 12px;\n", |
|
|
1158 |
" }\n", |
|
|
1159 |
"\n", |
|
|
1160 |
" .colab-df-convert {\n", |
|
|
1161 |
" background-color: #E8F0FE;\n", |
|
|
1162 |
" border: none;\n", |
|
|
1163 |
" border-radius: 50%;\n", |
|
|
1164 |
" cursor: pointer;\n", |
|
|
1165 |
" display: none;\n", |
|
|
1166 |
" fill: #1967D2;\n", |
|
|
1167 |
" height: 32px;\n", |
|
|
1168 |
" padding: 0 0 0 0;\n", |
|
|
1169 |
" width: 32px;\n", |
|
|
1170 |
" }\n", |
|
|
1171 |
"\n", |
|
|
1172 |
" .colab-df-convert:hover {\n", |
|
|
1173 |
" background-color: #E2EBFA;\n", |
|
|
1174 |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", |
|
|
1175 |
" fill: #174EA6;\n", |
|
|
1176 |
" }\n", |
|
|
1177 |
"\n", |
|
|
1178 |
" .colab-df-buttons div {\n", |
|
|
1179 |
" margin-bottom: 4px;\n", |
|
|
1180 |
" }\n", |
|
|
1181 |
"\n", |
|
|
1182 |
" [theme=dark] .colab-df-convert {\n", |
|
|
1183 |
" background-color: #3B4455;\n", |
|
|
1184 |
" fill: #D2E3FC;\n", |
|
|
1185 |
" }\n", |
|
|
1186 |
"\n", |
|
|
1187 |
" [theme=dark] .colab-df-convert:hover {\n", |
|
|
1188 |
" background-color: #434B5C;\n", |
|
|
1189 |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", |
|
|
1190 |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", |
|
|
1191 |
" fill: #FFFFFF;\n", |
|
|
1192 |
" }\n", |
|
|
1193 |
" </style>\n", |
|
|
1194 |
"\n", |
|
|
1195 |
" <script>\n", |
|
|
1196 |
" const buttonEl =\n", |
|
|
1197 |
" document.querySelector('#df-208eb5bd-0abb-406e-ad14-8659b4b034e4 button.colab-df-convert');\n", |
|
|
1198 |
" buttonEl.style.display =\n", |
|
|
1199 |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", |
|
|
1200 |
"\n", |
|
|
1201 |
" async function convertToInteractive(key) {\n", |
|
|
1202 |
" const element = document.querySelector('#df-208eb5bd-0abb-406e-ad14-8659b4b034e4');\n", |
|
|
1203 |
" const dataTable =\n", |
|
|
1204 |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", |
|
|
1205 |
" [key], {});\n", |
|
|
1206 |
" if (!dataTable) return;\n", |
|
|
1207 |
"\n", |
|
|
1208 |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", |
|
|
1209 |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", |
|
|
1210 |
" + ' to learn more about interactive tables.';\n", |
|
|
1211 |
" element.innerHTML = '';\n", |
|
|
1212 |
" dataTable['output_type'] = 'display_data';\n", |
|
|
1213 |
" await google.colab.output.renderOutput(dataTable, element);\n", |
|
|
1214 |
" const docLink = document.createElement('div');\n", |
|
|
1215 |
" docLink.innerHTML = docLinkHtml;\n", |
|
|
1216 |
" element.appendChild(docLink);\n", |
|
|
1217 |
" }\n", |
|
|
1218 |
" </script>\n", |
|
|
1219 |
" </div>\n", |
|
|
1220 |
"\n", |
|
|
1221 |
"\n", |
|
|
1222 |
"<div id=\"df-08412c35-8bcd-46c8-9a14-943531227738\">\n", |
|
|
1223 |
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-08412c35-8bcd-46c8-9a14-943531227738')\"\n", |
|
|
1224 |
" title=\"Suggest charts\"\n", |
|
|
1225 |
" style=\"display:none;\">\n", |
|
|
1226 |
"\n", |
|
|
1227 |
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", |
|
|
1228 |
" width=\"24px\">\n", |
|
|
1229 |
" <g>\n", |
|
|
1230 |
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", |
|
|
1231 |
" </g>\n", |
|
|
1232 |
"</svg>\n", |
|
|
1233 |
" </button>\n", |
|
|
1234 |
"\n", |
|
|
1235 |
"<style>\n", |
|
|
1236 |
" .colab-df-quickchart {\n", |
|
|
1237 |
" --bg-color: #E8F0FE;\n", |
|
|
1238 |
" --fill-color: #1967D2;\n", |
|
|
1239 |
" --hover-bg-color: #E2EBFA;\n", |
|
|
1240 |
" --hover-fill-color: #174EA6;\n", |
|
|
1241 |
" --disabled-fill-color: #AAA;\n", |
|
|
1242 |
" --disabled-bg-color: #DDD;\n", |
|
|
1243 |
" }\n", |
|
|
1244 |
"\n", |
|
|
1245 |
" [theme=dark] .colab-df-quickchart {\n", |
|
|
1246 |
" --bg-color: #3B4455;\n", |
|
|
1247 |
" --fill-color: #D2E3FC;\n", |
|
|
1248 |
" --hover-bg-color: #434B5C;\n", |
|
|
1249 |
" --hover-fill-color: #FFFFFF;\n", |
|
|
1250 |
" --disabled-bg-color: #3B4455;\n", |
|
|
1251 |
" --disabled-fill-color: #666;\n", |
|
|
1252 |
" }\n", |
|
|
1253 |
"\n", |
|
|
1254 |
" .colab-df-quickchart {\n", |
|
|
1255 |
" background-color: var(--bg-color);\n", |
|
|
1256 |
" border: none;\n", |
|
|
1257 |
" border-radius: 50%;\n", |
|
|
1258 |
" cursor: pointer;\n", |
|
|
1259 |
" display: none;\n", |
|
|
1260 |
" fill: var(--fill-color);\n", |
|
|
1261 |
" height: 32px;\n", |
|
|
1262 |
" padding: 0;\n", |
|
|
1263 |
" width: 32px;\n", |
|
|
1264 |
" }\n", |
|
|
1265 |
"\n", |
|
|
1266 |
" .colab-df-quickchart:hover {\n", |
|
|
1267 |
" background-color: var(--hover-bg-color);\n", |
|
|
1268 |
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", |
|
|
1269 |
" fill: var(--button-hover-fill-color);\n", |
|
|
1270 |
" }\n", |
|
|
1271 |
"\n", |
|
|
1272 |
" .colab-df-quickchart-complete:disabled,\n", |
|
|
1273 |
" .colab-df-quickchart-complete:disabled:hover {\n", |
|
|
1274 |
" background-color: var(--disabled-bg-color);\n", |
|
|
1275 |
" fill: var(--disabled-fill-color);\n", |
|
|
1276 |
" box-shadow: none;\n", |
|
|
1277 |
" }\n", |
|
|
1278 |
"\n", |
|
|
1279 |
" .colab-df-spinner {\n", |
|
|
1280 |
" border: 2px solid var(--fill-color);\n", |
|
|
1281 |
" border-color: transparent;\n", |
|
|
1282 |
" border-bottom-color: var(--fill-color);\n", |
|
|
1283 |
" animation:\n", |
|
|
1284 |
" spin 1s steps(1) infinite;\n", |
|
|
1285 |
" }\n", |
|
|
1286 |
"\n", |
|
|
1287 |
" @keyframes spin {\n", |
|
|
1288 |
" 0% {\n", |
|
|
1289 |
" border-color: transparent;\n", |
|
|
1290 |
" border-bottom-color: var(--fill-color);\n", |
|
|
1291 |
" border-left-color: var(--fill-color);\n", |
|
|
1292 |
" }\n", |
|
|
1293 |
" 20% {\n", |
|
|
1294 |
" border-color: transparent;\n", |
|
|
1295 |
" border-left-color: var(--fill-color);\n", |
|
|
1296 |
" border-top-color: var(--fill-color);\n", |
|
|
1297 |
" }\n", |
|
|
1298 |
" 30% {\n", |
|
|
1299 |
" border-color: transparent;\n", |
|
|
1300 |
" border-left-color: var(--fill-color);\n", |
|
|
1301 |
" border-top-color: var(--fill-color);\n", |
|
|
1302 |
" border-right-color: var(--fill-color);\n", |
|
|
1303 |
" }\n", |
|
|
1304 |
" 40% {\n", |
|
|
1305 |
" border-color: transparent;\n", |
|
|
1306 |
" border-right-color: var(--fill-color);\n", |
|
|
1307 |
" border-top-color: var(--fill-color);\n", |
|
|
1308 |
" }\n", |
|
|
1309 |
" 60% {\n", |
|
|
1310 |
" border-color: transparent;\n", |
|
|
1311 |
" border-right-color: var(--fill-color);\n", |
|
|
1312 |
" }\n", |
|
|
1313 |
" 80% {\n", |
|
|
1314 |
" border-color: transparent;\n", |
|
|
1315 |
" border-right-color: var(--fill-color);\n", |
|
|
1316 |
" border-bottom-color: var(--fill-color);\n", |
|
|
1317 |
" }\n", |
|
|
1318 |
" 90% {\n", |
|
|
1319 |
" border-color: transparent;\n", |
|
|
1320 |
" border-bottom-color: var(--fill-color);\n", |
|
|
1321 |
" }\n", |
|
|
1322 |
" }\n", |
|
|
1323 |
"</style>\n", |
|
|
1324 |
"\n", |
|
|
1325 |
" <script>\n", |
|
|
1326 |
" async function quickchart(key) {\n", |
|
|
1327 |
" const quickchartButtonEl =\n", |
|
|
1328 |
" document.querySelector('#' + key + ' button');\n", |
|
|
1329 |
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", |
|
|
1330 |
" quickchartButtonEl.classList.add('colab-df-spinner');\n", |
|
|
1331 |
" try {\n", |
|
|
1332 |
" const charts = await google.colab.kernel.invokeFunction(\n", |
|
|
1333 |
" 'suggestCharts', [key], {});\n", |
|
|
1334 |
" } catch (error) {\n", |
|
|
1335 |
" console.error('Error during call to suggestCharts:', error);\n", |
|
|
1336 |
" }\n", |
|
|
1337 |
" quickchartButtonEl.classList.remove('colab-df-spinner');\n", |
|
|
1338 |
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", |
|
|
1339 |
" }\n", |
|
|
1340 |
" (() => {\n", |
|
|
1341 |
" let quickchartButtonEl =\n", |
|
|
1342 |
" document.querySelector('#df-08412c35-8bcd-46c8-9a14-943531227738 button');\n", |
|
|
1343 |
" quickchartButtonEl.style.display =\n", |
|
|
1344 |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", |
|
|
1345 |
" })();\n", |
|
|
1346 |
" </script>\n", |
|
|
1347 |
"</div>\n", |
|
|
1348 |
"\n", |
|
|
1349 |
" </div>\n", |
|
|
1350 |
" </div>\n" |
|
|
1351 |
], |
|
|
1352 |
"application/vnd.google.colaboratory.intrinsic+json": { |
|
|
1353 |
"type": "dataframe", |
|
|
1354 |
"summary": "{\n \"name\": \"obesity\",\n \"rows\": 11,\n \"fields\": [\n {\n \"column\": \"Gender\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 4,\n \"samples\": [\n 2,\n \"10422\",\n \"20758\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Age\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7330.323773402961,\n \"min\": 5.688071958787075,\n \"max\": 20758.0,\n \"num_unique_values\": 8,\n \"samples\": [\n 23.841804418681953,\n 22.815416,\n 20758.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Height\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7338.540674412048,\n \"min\": 0.08731190569718149,\n \"max\": 20758.0,\n \"num_unique_values\": 8,\n \"samples\": [\n 1.7002449351575297,\n 1.7,\n 20758.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Weight\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7309.894468231261,\n \"min\": 26.379443076406236,\n \"max\": 20758.0,\n \"num_unique_values\": 8,\n \"samples\": [\n 87.88776840264958,\n 84.064875,\n 20758.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"family_history_with_overweight\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 4,\n \"samples\": [\n 2,\n \"17014\",\n \"20758\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"FAVC\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 4,\n \"samples\": [\n 2,\n \"18982\",\n \"20758\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"FCVC\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7338.335391044142,\n \"min\": 0.5332181544582983,\n \"max\": 20758.0,\n \"num_unique_values\": 7,\n \"samples\": [\n 20758.0,\n 2.44590839271847,\n 2.393837\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"NCP\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7338.17916312941,\n \"min\": 0.7053745958837867,\n \"max\": 20758.0,\n \"num_unique_values\": 6,\n \"samples\": [\n 20758.0,\n 2.7613323068214664,\n 4.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"CAEC\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 4,\n \"samples\": [\n 4,\n \"17529\",\n \"20758\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SMOKE\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 4,\n \"samples\": [\n 2,\n \"20513\",\n \"20758\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"CH2O\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7338.4057571985695,\n \"min\": 0.6084670184548745,\n \"max\": 20758.0,\n \"num_unique_values\": 8,\n \"samples\": [\n 2.029418243665093,\n 2.0,\n 20758.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"SCC\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 4,\n \"samples\": [\n 2,\n \"20071\",\n \"20758\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"FAF\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7338.6868058850705,\n \"min\": 0.0,\n \"max\": 20758.0,\n \"num_unique_values\": 8,\n \"samples\": [\n 0.9817465550756335,\n 1.0,\n 20758.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"TUE\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7338.819238328878,\n \"min\": 0.0,\n \"max\": 20758.0,\n \"num_unique_values\": 7,\n \"samples\": [\n 20758.0,\n 0.6167562236968879,\n 1.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"CALC\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 4,\n \"samples\": [\n 3,\n \"15066\",\n \"20758\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"MTRANS\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 4,\n \"samples\": [\n 5,\n \"16687\",\n \"20758\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"NObeyesdad\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 4,\n \"samples\": [\n 7,\n \"4046\",\n \"20758\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" |
|
|
1355 |
} |
|
|
1356 |
}, |
|
|
1357 |
"metadata": {}, |
|
|
1358 |
"execution_count": 11 |
|
|
1359 |
} |
|
|
1360 |
] |
|
|
1361 |
}, |
|
|
1362 |
{ |
|
|
1363 |
"cell_type": "code", |
|
|
1364 |
"source": [ |
|
|
1365 |
"obesity.isnull().sum()" |
|
|
1366 |
], |
|
|
1367 |
"metadata": { |
|
|
1368 |
"colab": { |
|
|
1369 |
"base_uri": "https://localhost:8080/" |
|
|
1370 |
}, |
|
|
1371 |
"id": "V6CJxZQmj9M4", |
|
|
1372 |
"outputId": "d484e398-e3c3-4205-852c-2e925ec14e6c" |
|
|
1373 |
}, |
|
|
1374 |
"execution_count": 12, |
|
|
1375 |
"outputs": [ |
|
|
1376 |
{ |
|
|
1377 |
"output_type": "execute_result", |
|
|
1378 |
"data": { |
|
|
1379 |
"text/plain": [ |
|
|
1380 |
"Gender 0\n", |
|
|
1381 |
"Age 0\n", |
|
|
1382 |
"Height 0\n", |
|
|
1383 |
"Weight 0\n", |
|
|
1384 |
"family_history_with_overweight 0\n", |
|
|
1385 |
"FAVC 0\n", |
|
|
1386 |
"FCVC 0\n", |
|
|
1387 |
"NCP 0\n", |
|
|
1388 |
"CAEC 0\n", |
|
|
1389 |
"SMOKE 0\n", |
|
|
1390 |
"CH2O 0\n", |
|
|
1391 |
"SCC 0\n", |
|
|
1392 |
"FAF 0\n", |
|
|
1393 |
"TUE 0\n", |
|
|
1394 |
"CALC 0\n", |
|
|
1395 |
"MTRANS 0\n", |
|
|
1396 |
"NObeyesdad 0\n", |
|
|
1397 |
"dtype: int64" |
|
|
1398 |
] |
|
|
1399 |
}, |
|
|
1400 |
"metadata": {}, |
|
|
1401 |
"execution_count": 12 |
|
|
1402 |
} |
|
|
1403 |
] |
|
|
1404 |
}, |
|
|
1405 |
{ |
|
|
1406 |
"cell_type": "code", |
|
|
1407 |
"source": [ |
|
|
1408 |
"obesity = obesity.replace({'no': 0, 'yes': 1})" |
|
|
1409 |
], |
|
|
1410 |
"metadata": { |
|
|
1411 |
"id": "0J2d8SegwcRM" |
|
|
1412 |
}, |
|
|
1413 |
"execution_count": 13, |
|
|
1414 |
"outputs": [] |
|
|
1415 |
}, |
|
|
1416 |
{ |
|
|
1417 |
"cell_type": "code", |
|
|
1418 |
"source": [ |
|
|
1419 |
"obesity = pd.get_dummies(obesity, columns=['CALC', 'MTRANS', 'CAEC'], drop_first=True, dtype=int)" |
|
|
1420 |
], |
|
|
1421 |
"metadata": { |
|
|
1422 |
"id": "qOeru2jS1gDX" |
|
|
1423 |
}, |
|
|
1424 |
"execution_count": 14, |
|
|
1425 |
"outputs": [] |
|
|
1426 |
}, |
|
|
1427 |
{ |
|
|
1428 |
"cell_type": "code", |
|
|
1429 |
"source": [ |
|
|
1430 |
"from sklearn.preprocessing import LabelEncoder" |
|
|
1431 |
], |
|
|
1432 |
"metadata": { |
|
|
1433 |
"id": "jpHbeEM62rMX" |
|
|
1434 |
}, |
|
|
1435 |
"execution_count": 15, |
|
|
1436 |
"outputs": [] |
|
|
1437 |
}, |
|
|
1438 |
{ |
|
|
1439 |
"cell_type": "code", |
|
|
1440 |
"source": [ |
|
|
1441 |
"le = LabelEncoder()\n", |
|
|
1442 |
"obesity['NObeyesdad'] = le.fit_transform(obesity['NObeyesdad'])" |
|
|
1443 |
], |
|
|
1444 |
"metadata": { |
|
|
1445 |
"id": "V50FmFqV3ddb" |
|
|
1446 |
}, |
|
|
1447 |
"execution_count": 16, |
|
|
1448 |
"outputs": [] |
|
|
1449 |
}, |
|
|
1450 |
{ |
|
|
1451 |
"cell_type": "code", |
|
|
1452 |
"source": [ |
|
|
1453 |
"obesity = obesity.replace({'Female': 0, 'Male': 1})" |
|
|
1454 |
], |
|
|
1455 |
"metadata": { |
|
|
1456 |
"id": "fLYlMrit7TIw" |
|
|
1457 |
}, |
|
|
1458 |
"execution_count": 17, |
|
|
1459 |
"outputs": [] |
|
|
1460 |
}, |
|
|
1461 |
{ |
|
|
1462 |
"cell_type": "code", |
|
|
1463 |
"source": [ |
|
|
1464 |
"obesity.head()" |
|
|
1465 |
], |
|
|
1466 |
"metadata": { |
|
|
1467 |
"colab": { |
|
|
1468 |
"base_uri": "https://localhost:8080/", |
|
|
1469 |
"height": 255 |
|
|
1470 |
}, |
|
|
1471 |
"id": "CYNIFtQOf2Dp", |
|
|
1472 |
"outputId": "1c75515f-0b64-48d0-d6a6-9d715cc56a37" |
|
|
1473 |
}, |
|
|
1474 |
"execution_count": 18, |
|
|
1475 |
"outputs": [ |
|
|
1476 |
{ |
|
|
1477 |
"output_type": "execute_result", |
|
|
1478 |
"data": { |
|
|
1479 |
"text/plain": [ |
|
|
1480 |
" Gender Age Height Weight family_history_with_overweight \\\n", |
|
|
1481 |
"0 1 24.443011 1.699998 81.669950 1 \n", |
|
|
1482 |
"1 0 18.000000 1.560000 57.000000 1 \n", |
|
|
1483 |
"2 0 18.000000 1.711460 50.165754 1 \n", |
|
|
1484 |
"3 0 20.952737 1.710730 131.274851 1 \n", |
|
|
1485 |
"4 1 31.641081 1.914186 93.798055 1 \n", |
|
|
1486 |
"\n", |
|
|
1487 |
" FAVC FCVC NCP SMOKE CH2O ... NObeyesdad \\\n", |
|
|
1488 |
"0 1 2.000000 2.983297 0 2.763573 ... 6 \n", |
|
|
1489 |
"1 1 2.000000 3.000000 0 2.000000 ... 1 \n", |
|
|
1490 |
"2 1 1.880534 1.411685 0 1.910378 ... 0 \n", |
|
|
1491 |
"3 1 3.000000 3.000000 0 1.674061 ... 4 \n", |
|
|
1492 |
"4 1 2.679664 1.971472 0 1.979848 ... 6 \n", |
|
|
1493 |
"\n", |
|
|
1494 |
" CALC_Frequently CALC_Sometimes MTRANS_Bike MTRANS_Motorbike \\\n", |
|
|
1495 |
"0 0 1 0 0 \n", |
|
|
1496 |
"1 0 0 0 0 \n", |
|
|
1497 |
"2 0 0 0 0 \n", |
|
|
1498 |
"3 0 1 0 0 \n", |
|
|
1499 |
"4 0 1 0 0 \n", |
|
|
1500 |
"\n", |
|
|
1501 |
" MTRANS_Public_Transportation MTRANS_Walking CAEC_Always CAEC_Frequently \\\n", |
|
|
1502 |
"0 1 0 0 0 \n", |
|
|
1503 |
"1 0 0 0 1 \n", |
|
|
1504 |
"2 1 0 0 0 \n", |
|
|
1505 |
"3 1 0 0 0 \n", |
|
|
1506 |
"4 1 0 0 0 \n", |
|
|
1507 |
"\n", |
|
|
1508 |
" CAEC_Sometimes \n", |
|
|
1509 |
"0 1 \n", |
|
|
1510 |
"1 0 \n", |
|
|
1511 |
"2 1 \n", |
|
|
1512 |
"3 1 \n", |
|
|
1513 |
"4 1 \n", |
|
|
1514 |
"\n", |
|
|
1515 |
"[5 rows x 23 columns]" |
|
|
1516 |
], |
|
|
1517 |
"text/html": [ |
|
|
1518 |
"\n", |
|
|
1519 |
" <div id=\"df-165f6e7b-7305-4b08-bb13-b6845d849474\" class=\"colab-df-container\">\n", |
|
|
1520 |
" <div>\n", |
|
|
1521 |
"<style scoped>\n", |
|
|
1522 |
" .dataframe tbody tr th:only-of-type {\n", |
|
|
1523 |
" vertical-align: middle;\n", |
|
|
1524 |
" }\n", |
|
|
1525 |
"\n", |
|
|
1526 |
" .dataframe tbody tr th {\n", |
|
|
1527 |
" vertical-align: top;\n", |
|
|
1528 |
" }\n", |
|
|
1529 |
"\n", |
|
|
1530 |
" .dataframe thead th {\n", |
|
|
1531 |
" text-align: right;\n", |
|
|
1532 |
" }\n", |
|
|
1533 |
"</style>\n", |
|
|
1534 |
"<table border=\"1\" class=\"dataframe\">\n", |
|
|
1535 |
" <thead>\n", |
|
|
1536 |
" <tr style=\"text-align: right;\">\n", |
|
|
1537 |
" <th></th>\n", |
|
|
1538 |
" <th>Gender</th>\n", |
|
|
1539 |
" <th>Age</th>\n", |
|
|
1540 |
" <th>Height</th>\n", |
|
|
1541 |
" <th>Weight</th>\n", |
|
|
1542 |
" <th>family_history_with_overweight</th>\n", |
|
|
1543 |
" <th>FAVC</th>\n", |
|
|
1544 |
" <th>FCVC</th>\n", |
|
|
1545 |
" <th>NCP</th>\n", |
|
|
1546 |
" <th>SMOKE</th>\n", |
|
|
1547 |
" <th>CH2O</th>\n", |
|
|
1548 |
" <th>...</th>\n", |
|
|
1549 |
" <th>NObeyesdad</th>\n", |
|
|
1550 |
" <th>CALC_Frequently</th>\n", |
|
|
1551 |
" <th>CALC_Sometimes</th>\n", |
|
|
1552 |
" <th>MTRANS_Bike</th>\n", |
|
|
1553 |
" <th>MTRANS_Motorbike</th>\n", |
|
|
1554 |
" <th>MTRANS_Public_Transportation</th>\n", |
|
|
1555 |
" <th>MTRANS_Walking</th>\n", |
|
|
1556 |
" <th>CAEC_Always</th>\n", |
|
|
1557 |
" <th>CAEC_Frequently</th>\n", |
|
|
1558 |
" <th>CAEC_Sometimes</th>\n", |
|
|
1559 |
" </tr>\n", |
|
|
1560 |
" </thead>\n", |
|
|
1561 |
" <tbody>\n", |
|
|
1562 |
" <tr>\n", |
|
|
1563 |
" <th>0</th>\n", |
|
|
1564 |
" <td>1</td>\n", |
|
|
1565 |
" <td>24.443011</td>\n", |
|
|
1566 |
" <td>1.699998</td>\n", |
|
|
1567 |
" <td>81.669950</td>\n", |
|
|
1568 |
" <td>1</td>\n", |
|
|
1569 |
" <td>1</td>\n", |
|
|
1570 |
" <td>2.000000</td>\n", |
|
|
1571 |
" <td>2.983297</td>\n", |
|
|
1572 |
" <td>0</td>\n", |
|
|
1573 |
" <td>2.763573</td>\n", |
|
|
1574 |
" <td>...</td>\n", |
|
|
1575 |
" <td>6</td>\n", |
|
|
1576 |
" <td>0</td>\n", |
|
|
1577 |
" <td>1</td>\n", |
|
|
1578 |
" <td>0</td>\n", |
|
|
1579 |
" <td>0</td>\n", |
|
|
1580 |
" <td>1</td>\n", |
|
|
1581 |
" <td>0</td>\n", |
|
|
1582 |
" <td>0</td>\n", |
|
|
1583 |
" <td>0</td>\n", |
|
|
1584 |
" <td>1</td>\n", |
|
|
1585 |
" </tr>\n", |
|
|
1586 |
" <tr>\n", |
|
|
1587 |
" <th>1</th>\n", |
|
|
1588 |
" <td>0</td>\n", |
|
|
1589 |
" <td>18.000000</td>\n", |
|
|
1590 |
" <td>1.560000</td>\n", |
|
|
1591 |
" <td>57.000000</td>\n", |
|
|
1592 |
" <td>1</td>\n", |
|
|
1593 |
" <td>1</td>\n", |
|
|
1594 |
" <td>2.000000</td>\n", |
|
|
1595 |
" <td>3.000000</td>\n", |
|
|
1596 |
" <td>0</td>\n", |
|
|
1597 |
" <td>2.000000</td>\n", |
|
|
1598 |
" <td>...</td>\n", |
|
|
1599 |
" <td>1</td>\n", |
|
|
1600 |
" <td>0</td>\n", |
|
|
1601 |
" <td>0</td>\n", |
|
|
1602 |
" <td>0</td>\n", |
|
|
1603 |
" <td>0</td>\n", |
|
|
1604 |
" <td>0</td>\n", |
|
|
1605 |
" <td>0</td>\n", |
|
|
1606 |
" <td>0</td>\n", |
|
|
1607 |
" <td>1</td>\n", |
|
|
1608 |
" <td>0</td>\n", |
|
|
1609 |
" </tr>\n", |
|
|
1610 |
" <tr>\n", |
|
|
1611 |
" <th>2</th>\n", |
|
|
1612 |
" <td>0</td>\n", |
|
|
1613 |
" <td>18.000000</td>\n", |
|
|
1614 |
" <td>1.711460</td>\n", |
|
|
1615 |
" <td>50.165754</td>\n", |
|
|
1616 |
" <td>1</td>\n", |
|
|
1617 |
" <td>1</td>\n", |
|
|
1618 |
" <td>1.880534</td>\n", |
|
|
1619 |
" <td>1.411685</td>\n", |
|
|
1620 |
" <td>0</td>\n", |
|
|
1621 |
" <td>1.910378</td>\n", |
|
|
1622 |
" <td>...</td>\n", |
|
|
1623 |
" <td>0</td>\n", |
|
|
1624 |
" <td>0</td>\n", |
|
|
1625 |
" <td>0</td>\n", |
|
|
1626 |
" <td>0</td>\n", |
|
|
1627 |
" <td>0</td>\n", |
|
|
1628 |
" <td>1</td>\n", |
|
|
1629 |
" <td>0</td>\n", |
|
|
1630 |
" <td>0</td>\n", |
|
|
1631 |
" <td>0</td>\n", |
|
|
1632 |
" <td>1</td>\n", |
|
|
1633 |
" </tr>\n", |
|
|
1634 |
" <tr>\n", |
|
|
1635 |
" <th>3</th>\n", |
|
|
1636 |
" <td>0</td>\n", |
|
|
1637 |
" <td>20.952737</td>\n", |
|
|
1638 |
" <td>1.710730</td>\n", |
|
|
1639 |
" <td>131.274851</td>\n", |
|
|
1640 |
" <td>1</td>\n", |
|
|
1641 |
" <td>1</td>\n", |
|
|
1642 |
" <td>3.000000</td>\n", |
|
|
1643 |
" <td>3.000000</td>\n", |
|
|
1644 |
" <td>0</td>\n", |
|
|
1645 |
" <td>1.674061</td>\n", |
|
|
1646 |
" <td>...</td>\n", |
|
|
1647 |
" <td>4</td>\n", |
|
|
1648 |
" <td>0</td>\n", |
|
|
1649 |
" <td>1</td>\n", |
|
|
1650 |
" <td>0</td>\n", |
|
|
1651 |
" <td>0</td>\n", |
|
|
1652 |
" <td>1</td>\n", |
|
|
1653 |
" <td>0</td>\n", |
|
|
1654 |
" <td>0</td>\n", |
|
|
1655 |
" <td>0</td>\n", |
|
|
1656 |
" <td>1</td>\n", |
|
|
1657 |
" </tr>\n", |
|
|
1658 |
" <tr>\n", |
|
|
1659 |
" <th>4</th>\n", |
|
|
1660 |
" <td>1</td>\n", |
|
|
1661 |
" <td>31.641081</td>\n", |
|
|
1662 |
" <td>1.914186</td>\n", |
|
|
1663 |
" <td>93.798055</td>\n", |
|
|
1664 |
" <td>1</td>\n", |
|
|
1665 |
" <td>1</td>\n", |
|
|
1666 |
" <td>2.679664</td>\n", |
|
|
1667 |
" <td>1.971472</td>\n", |
|
|
1668 |
" <td>0</td>\n", |
|
|
1669 |
" <td>1.979848</td>\n", |
|
|
1670 |
" <td>...</td>\n", |
|
|
1671 |
" <td>6</td>\n", |
|
|
1672 |
" <td>0</td>\n", |
|
|
1673 |
" <td>1</td>\n", |
|
|
1674 |
" <td>0</td>\n", |
|
|
1675 |
" <td>0</td>\n", |
|
|
1676 |
" <td>1</td>\n", |
|
|
1677 |
" <td>0</td>\n", |
|
|
1678 |
" <td>0</td>\n", |
|
|
1679 |
" <td>0</td>\n", |
|
|
1680 |
" <td>1</td>\n", |
|
|
1681 |
" </tr>\n", |
|
|
1682 |
" </tbody>\n", |
|
|
1683 |
"</table>\n", |
|
|
1684 |
"<p>5 rows × 23 columns</p>\n", |
|
|
1685 |
"</div>\n", |
|
|
1686 |
" <div class=\"colab-df-buttons\">\n", |
|
|
1687 |
"\n", |
|
|
1688 |
" <div class=\"colab-df-container\">\n", |
|
|
1689 |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-165f6e7b-7305-4b08-bb13-b6845d849474')\"\n", |
|
|
1690 |
" title=\"Convert this dataframe to an interactive table.\"\n", |
|
|
1691 |
" style=\"display:none;\">\n", |
|
|
1692 |
"\n", |
|
|
1693 |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", |
|
|
1694 |
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", |
|
|
1695 |
" </svg>\n", |
|
|
1696 |
" </button>\n", |
|
|
1697 |
"\n", |
|
|
1698 |
" <style>\n", |
|
|
1699 |
" .colab-df-container {\n", |
|
|
1700 |
" display:flex;\n", |
|
|
1701 |
" gap: 12px;\n", |
|
|
1702 |
" }\n", |
|
|
1703 |
"\n", |
|
|
1704 |
" .colab-df-convert {\n", |
|
|
1705 |
" background-color: #E8F0FE;\n", |
|
|
1706 |
" border: none;\n", |
|
|
1707 |
" border-radius: 50%;\n", |
|
|
1708 |
" cursor: pointer;\n", |
|
|
1709 |
" display: none;\n", |
|
|
1710 |
" fill: #1967D2;\n", |
|
|
1711 |
" height: 32px;\n", |
|
|
1712 |
" padding: 0 0 0 0;\n", |
|
|
1713 |
" width: 32px;\n", |
|
|
1714 |
" }\n", |
|
|
1715 |
"\n", |
|
|
1716 |
" .colab-df-convert:hover {\n", |
|
|
1717 |
" background-color: #E2EBFA;\n", |
|
|
1718 |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", |
|
|
1719 |
" fill: #174EA6;\n", |
|
|
1720 |
" }\n", |
|
|
1721 |
"\n", |
|
|
1722 |
" .colab-df-buttons div {\n", |
|
|
1723 |
" margin-bottom: 4px;\n", |
|
|
1724 |
" }\n", |
|
|
1725 |
"\n", |
|
|
1726 |
" [theme=dark] .colab-df-convert {\n", |
|
|
1727 |
" background-color: #3B4455;\n", |
|
|
1728 |
" fill: #D2E3FC;\n", |
|
|
1729 |
" }\n", |
|
|
1730 |
"\n", |
|
|
1731 |
" [theme=dark] .colab-df-convert:hover {\n", |
|
|
1732 |
" background-color: #434B5C;\n", |
|
|
1733 |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", |
|
|
1734 |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", |
|
|
1735 |
" fill: #FFFFFF;\n", |
|
|
1736 |
" }\n", |
|
|
1737 |
" </style>\n", |
|
|
1738 |
"\n", |
|
|
1739 |
" <script>\n", |
|
|
1740 |
" const buttonEl =\n", |
|
|
1741 |
" document.querySelector('#df-165f6e7b-7305-4b08-bb13-b6845d849474 button.colab-df-convert');\n", |
|
|
1742 |
" buttonEl.style.display =\n", |
|
|
1743 |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", |
|
|
1744 |
"\n", |
|
|
1745 |
" async function convertToInteractive(key) {\n", |
|
|
1746 |
" const element = document.querySelector('#df-165f6e7b-7305-4b08-bb13-b6845d849474');\n", |
|
|
1747 |
" const dataTable =\n", |
|
|
1748 |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", |
|
|
1749 |
" [key], {});\n", |
|
|
1750 |
" if (!dataTable) return;\n", |
|
|
1751 |
"\n", |
|
|
1752 |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", |
|
|
1753 |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", |
|
|
1754 |
" + ' to learn more about interactive tables.';\n", |
|
|
1755 |
" element.innerHTML = '';\n", |
|
|
1756 |
" dataTable['output_type'] = 'display_data';\n", |
|
|
1757 |
" await google.colab.output.renderOutput(dataTable, element);\n", |
|
|
1758 |
" const docLink = document.createElement('div');\n", |
|
|
1759 |
" docLink.innerHTML = docLinkHtml;\n", |
|
|
1760 |
" element.appendChild(docLink);\n", |
|
|
1761 |
" }\n", |
|
|
1762 |
" </script>\n", |
|
|
1763 |
" </div>\n", |
|
|
1764 |
"\n", |
|
|
1765 |
"\n", |
|
|
1766 |
"<div id=\"df-95f9d3fd-9a90-47cf-a507-bc831027082f\">\n", |
|
|
1767 |
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-95f9d3fd-9a90-47cf-a507-bc831027082f')\"\n", |
|
|
1768 |
" title=\"Suggest charts\"\n", |
|
|
1769 |
" style=\"display:none;\">\n", |
|
|
1770 |
"\n", |
|
|
1771 |
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", |
|
|
1772 |
" width=\"24px\">\n", |
|
|
1773 |
" <g>\n", |
|
|
1774 |
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", |
|
|
1775 |
" </g>\n", |
|
|
1776 |
"</svg>\n", |
|
|
1777 |
" </button>\n", |
|
|
1778 |
"\n", |
|
|
1779 |
"<style>\n", |
|
|
1780 |
" .colab-df-quickchart {\n", |
|
|
1781 |
" --bg-color: #E8F0FE;\n", |
|
|
1782 |
" --fill-color: #1967D2;\n", |
|
|
1783 |
" --hover-bg-color: #E2EBFA;\n", |
|
|
1784 |
" --hover-fill-color: #174EA6;\n", |
|
|
1785 |
" --disabled-fill-color: #AAA;\n", |
|
|
1786 |
" --disabled-bg-color: #DDD;\n", |
|
|
1787 |
" }\n", |
|
|
1788 |
"\n", |
|
|
1789 |
" [theme=dark] .colab-df-quickchart {\n", |
|
|
1790 |
" --bg-color: #3B4455;\n", |
|
|
1791 |
" --fill-color: #D2E3FC;\n", |
|
|
1792 |
" --hover-bg-color: #434B5C;\n", |
|
|
1793 |
" --hover-fill-color: #FFFFFF;\n", |
|
|
1794 |
" --disabled-bg-color: #3B4455;\n", |
|
|
1795 |
" --disabled-fill-color: #666;\n", |
|
|
1796 |
" }\n", |
|
|
1797 |
"\n", |
|
|
1798 |
" .colab-df-quickchart {\n", |
|
|
1799 |
" background-color: var(--bg-color);\n", |
|
|
1800 |
" border: none;\n", |
|
|
1801 |
" border-radius: 50%;\n", |
|
|
1802 |
" cursor: pointer;\n", |
|
|
1803 |
" display: none;\n", |
|
|
1804 |
" fill: var(--fill-color);\n", |
|
|
1805 |
" height: 32px;\n", |
|
|
1806 |
" padding: 0;\n", |
|
|
1807 |
" width: 32px;\n", |
|
|
1808 |
" }\n", |
|
|
1809 |
"\n", |
|
|
1810 |
" .colab-df-quickchart:hover {\n", |
|
|
1811 |
" background-color: var(--hover-bg-color);\n", |
|
|
1812 |
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", |
|
|
1813 |
" fill: var(--button-hover-fill-color);\n", |
|
|
1814 |
" }\n", |
|
|
1815 |
"\n", |
|
|
1816 |
" .colab-df-quickchart-complete:disabled,\n", |
|
|
1817 |
" .colab-df-quickchart-complete:disabled:hover {\n", |
|
|
1818 |
" background-color: var(--disabled-bg-color);\n", |
|
|
1819 |
" fill: var(--disabled-fill-color);\n", |
|
|
1820 |
" box-shadow: none;\n", |
|
|
1821 |
" }\n", |
|
|
1822 |
"\n", |
|
|
1823 |
" .colab-df-spinner {\n", |
|
|
1824 |
" border: 2px solid var(--fill-color);\n", |
|
|
1825 |
" border-color: transparent;\n", |
|
|
1826 |
" border-bottom-color: var(--fill-color);\n", |
|
|
1827 |
" animation:\n", |
|
|
1828 |
" spin 1s steps(1) infinite;\n", |
|
|
1829 |
" }\n", |
|
|
1830 |
"\n", |
|
|
1831 |
" @keyframes spin {\n", |
|
|
1832 |
" 0% {\n", |
|
|
1833 |
" border-color: transparent;\n", |
|
|
1834 |
" border-bottom-color: var(--fill-color);\n", |
|
|
1835 |
" border-left-color: var(--fill-color);\n", |
|
|
1836 |
" }\n", |
|
|
1837 |
" 20% {\n", |
|
|
1838 |
" border-color: transparent;\n", |
|
|
1839 |
" border-left-color: var(--fill-color);\n", |
|
|
1840 |
" border-top-color: var(--fill-color);\n", |
|
|
1841 |
" }\n", |
|
|
1842 |
" 30% {\n", |
|
|
1843 |
" border-color: transparent;\n", |
|
|
1844 |
" border-left-color: var(--fill-color);\n", |
|
|
1845 |
" border-top-color: var(--fill-color);\n", |
|
|
1846 |
" border-right-color: var(--fill-color);\n", |
|
|
1847 |
" }\n", |
|
|
1848 |
" 40% {\n", |
|
|
1849 |
" border-color: transparent;\n", |
|
|
1850 |
" border-right-color: var(--fill-color);\n", |
|
|
1851 |
" border-top-color: var(--fill-color);\n", |
|
|
1852 |
" }\n", |
|
|
1853 |
" 60% {\n", |
|
|
1854 |
" border-color: transparent;\n", |
|
|
1855 |
" border-right-color: var(--fill-color);\n", |
|
|
1856 |
" }\n", |
|
|
1857 |
" 80% {\n", |
|
|
1858 |
" border-color: transparent;\n", |
|
|
1859 |
" border-right-color: var(--fill-color);\n", |
|
|
1860 |
" border-bottom-color: var(--fill-color);\n", |
|
|
1861 |
" }\n", |
|
|
1862 |
" 90% {\n", |
|
|
1863 |
" border-color: transparent;\n", |
|
|
1864 |
" border-bottom-color: var(--fill-color);\n", |
|
|
1865 |
" }\n", |
|
|
1866 |
" }\n", |
|
|
1867 |
"</style>\n", |
|
|
1868 |
"\n", |
|
|
1869 |
" <script>\n", |
|
|
1870 |
" async function quickchart(key) {\n", |
|
|
1871 |
" const quickchartButtonEl =\n", |
|
|
1872 |
" document.querySelector('#' + key + ' button');\n", |
|
|
1873 |
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", |
|
|
1874 |
" quickchartButtonEl.classList.add('colab-df-spinner');\n", |
|
|
1875 |
" try {\n", |
|
|
1876 |
" const charts = await google.colab.kernel.invokeFunction(\n", |
|
|
1877 |
" 'suggestCharts', [key], {});\n", |
|
|
1878 |
" } catch (error) {\n", |
|
|
1879 |
" console.error('Error during call to suggestCharts:', error);\n", |
|
|
1880 |
" }\n", |
|
|
1881 |
" quickchartButtonEl.classList.remove('colab-df-spinner');\n", |
|
|
1882 |
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", |
|
|
1883 |
" }\n", |
|
|
1884 |
" (() => {\n", |
|
|
1885 |
" let quickchartButtonEl =\n", |
|
|
1886 |
" document.querySelector('#df-95f9d3fd-9a90-47cf-a507-bc831027082f button');\n", |
|
|
1887 |
" quickchartButtonEl.style.display =\n", |
|
|
1888 |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", |
|
|
1889 |
" })();\n", |
|
|
1890 |
" </script>\n", |
|
|
1891 |
"</div>\n", |
|
|
1892 |
"\n", |
|
|
1893 |
" </div>\n", |
|
|
1894 |
" </div>\n" |
|
|
1895 |
], |
|
|
1896 |
"application/vnd.google.colaboratory.intrinsic+json": { |
|
|
1897 |
"type": "dataframe", |
|
|
1898 |
"variable_name": "obesity" |
|
|
1899 |
} |
|
|
1900 |
}, |
|
|
1901 |
"metadata": {}, |
|
|
1902 |
"execution_count": 18 |
|
|
1903 |
} |
|
|
1904 |
] |
|
|
1905 |
}, |
|
|
1906 |
{ |
|
|
1907 |
"cell_type": "code", |
|
|
1908 |
"source": [ |
|
|
1909 |
"x = obesity.drop('NObeyesdad', axis=1)\n", |
|
|
1910 |
"y = obesity['NObeyesdad']" |
|
|
1911 |
], |
|
|
1912 |
"metadata": { |
|
|
1913 |
"id": "vuDx2r46g6QW" |
|
|
1914 |
}, |
|
|
1915 |
"execution_count": 19, |
|
|
1916 |
"outputs": [] |
|
|
1917 |
}, |
|
|
1918 |
{ |
|
|
1919 |
"cell_type": "code", |
|
|
1920 |
"source": [ |
|
|
1921 |
"from sklearn.model_selection import train_test_split" |
|
|
1922 |
], |
|
|
1923 |
"metadata": { |
|
|
1924 |
"id": "NkPkWt2Pf3VU" |
|
|
1925 |
}, |
|
|
1926 |
"execution_count": 20, |
|
|
1927 |
"outputs": [] |
|
|
1928 |
}, |
|
|
1929 |
{ |
|
|
1930 |
"cell_type": "code", |
|
|
1931 |
"source": [ |
|
|
1932 |
"x_train, x_test, y_train, y_test = train_test_split(x,y, test_size=0.3, random_state=420)" |
|
|
1933 |
], |
|
|
1934 |
"metadata": { |
|
|
1935 |
"id": "-VMmVgy7gG5b" |
|
|
1936 |
}, |
|
|
1937 |
"execution_count": 21, |
|
|
1938 |
"outputs": [] |
|
|
1939 |
}, |
|
|
1940 |
{ |
|
|
1941 |
"cell_type": "code", |
|
|
1942 |
"source": [ |
|
|
1943 |
"from sklearn.preprocessing import StandardScaler" |
|
|
1944 |
], |
|
|
1945 |
"metadata": { |
|
|
1946 |
"id": "_ISfTDRCkKSI" |
|
|
1947 |
}, |
|
|
1948 |
"execution_count": 22, |
|
|
1949 |
"outputs": [] |
|
|
1950 |
}, |
|
|
1951 |
{ |
|
|
1952 |
"cell_type": "code", |
|
|
1953 |
"source": [ |
|
|
1954 |
"sc = StandardScaler()\n", |
|
|
1955 |
"x_train = sc.fit_transform(x_train)\n", |
|
|
1956 |
"x_test = sc.transform(x_test)" |
|
|
1957 |
], |
|
|
1958 |
"metadata": { |
|
|
1959 |
"id": "oPP2gxC0mKO7" |
|
|
1960 |
}, |
|
|
1961 |
"execution_count": 23, |
|
|
1962 |
"outputs": [] |
|
|
1963 |
}, |
|
|
1964 |
{ |
|
|
1965 |
"cell_type": "code", |
|
|
1966 |
"source": [ |
|
|
1967 |
"x_train.shape, x_test.shape," |
|
|
1968 |
], |
|
|
1969 |
"metadata": { |
|
|
1970 |
"colab": { |
|
|
1971 |
"base_uri": "https://localhost:8080/" |
|
|
1972 |
}, |
|
|
1973 |
"id": "dYU0eFSymd4M", |
|
|
1974 |
"outputId": "f3a4061b-a041-4296-cd93-e593e002e7ee" |
|
|
1975 |
}, |
|
|
1976 |
"execution_count": 24, |
|
|
1977 |
"outputs": [ |
|
|
1978 |
{ |
|
|
1979 |
"output_type": "execute_result", |
|
|
1980 |
"data": { |
|
|
1981 |
"text/plain": [ |
|
|
1982 |
"((14530, 22), (6228, 22))" |
|
|
1983 |
] |
|
|
1984 |
}, |
|
|
1985 |
"metadata": {}, |
|
|
1986 |
"execution_count": 24 |
|
|
1987 |
} |
|
|
1988 |
] |
|
|
1989 |
}, |
|
|
1990 |
{ |
|
|
1991 |
"cell_type": "code", |
|
|
1992 |
"source": [ |
|
|
1993 |
"x_train = x_train.reshape(-1, 22, 1)\n", |
|
|
1994 |
"x_test = x_test.reshape(-1, 22, 1)" |
|
|
1995 |
], |
|
|
1996 |
"metadata": { |
|
|
1997 |
"id": "tO8P2qtenKgP" |
|
|
1998 |
}, |
|
|
1999 |
"execution_count": 25, |
|
|
2000 |
"outputs": [] |
|
|
2001 |
}, |
|
|
2002 |
{ |
|
|
2003 |
"cell_type": "code", |
|
|
2004 |
"source": [ |
|
|
2005 |
"y_train = y_train.to_numpy()\n", |
|
|
2006 |
"y_test = np.array(y_test)" |
|
|
2007 |
], |
|
|
2008 |
"metadata": { |
|
|
2009 |
"id": "DMoRT_etnhPn" |
|
|
2010 |
}, |
|
|
2011 |
"execution_count": 26, |
|
|
2012 |
"outputs": [] |
|
|
2013 |
}, |
|
|
2014 |
{ |
|
|
2015 |
"cell_type": "markdown", |
|
|
2016 |
"source": [ |
|
|
2017 |
"# **MACHINE** **BUILDING**" |
|
|
2018 |
], |
|
|
2019 |
"metadata": { |
|
|
2020 |
"id": "kr5nNyfxsdhM" |
|
|
2021 |
} |
|
|
2022 |
}, |
|
|
2023 |
{ |
|
|
2024 |
"cell_type": "code", |
|
|
2025 |
"source": [ |
|
|
2026 |
"model = tf.keras.models.Sequential()" |
|
|
2027 |
], |
|
|
2028 |
"metadata": { |
|
|
2029 |
"id": "YWt1Rjc0oJOS" |
|
|
2030 |
}, |
|
|
2031 |
"execution_count": 54, |
|
|
2032 |
"outputs": [] |
|
|
2033 |
}, |
|
|
2034 |
{ |
|
|
2035 |
"cell_type": "code", |
|
|
2036 |
"source": [ |
|
|
2037 |
"model.add(tf.keras.layers.Conv1D(filters=32, kernel_size=2, padding='same', activation='relu', input_shape=(22, 1)))" |
|
|
2038 |
], |
|
|
2039 |
"metadata": { |
|
|
2040 |
"id": "nDwX5JNkoUiP" |
|
|
2041 |
}, |
|
|
2042 |
"execution_count": 55, |
|
|
2043 |
"outputs": [] |
|
|
2044 |
}, |
|
|
2045 |
{ |
|
|
2046 |
"cell_type": "code", |
|
|
2047 |
"source": [ |
|
|
2048 |
"model.add(tf.keras.layers.BatchNormalization())" |
|
|
2049 |
], |
|
|
2050 |
"metadata": { |
|
|
2051 |
"id": "KCYQp3ohbZmS" |
|
|
2052 |
}, |
|
|
2053 |
"execution_count": 56, |
|
|
2054 |
"outputs": [] |
|
|
2055 |
}, |
|
|
2056 |
{ |
|
|
2057 |
"cell_type": "code", |
|
|
2058 |
"source": [ |
|
|
2059 |
"model.add(tf.keras.layers.Dropout(0.2))" |
|
|
2060 |
], |
|
|
2061 |
"metadata": { |
|
|
2062 |
"id": "5wXC47y-bk_7" |
|
|
2063 |
}, |
|
|
2064 |
"execution_count": 57, |
|
|
2065 |
"outputs": [] |
|
|
2066 |
}, |
|
|
2067 |
{ |
|
|
2068 |
"cell_type": "code", |
|
|
2069 |
"source": [ |
|
|
2070 |
"model.add(tf.keras.layers.Conv1D(filters=64, kernel_size=2, padding='same', activation='relu'))" |
|
|
2071 |
], |
|
|
2072 |
"metadata": { |
|
|
2073 |
"id": "0wuyVf2E2Gbx" |
|
|
2074 |
}, |
|
|
2075 |
"execution_count": 58, |
|
|
2076 |
"outputs": [] |
|
|
2077 |
}, |
|
|
2078 |
{ |
|
|
2079 |
"cell_type": "code", |
|
|
2080 |
"source": [ |
|
|
2081 |
"model.add(tf.keras.layers.BatchNormalization())" |
|
|
2082 |
], |
|
|
2083 |
"metadata": { |
|
|
2084 |
"id": "sDOp77wn2Lvv" |
|
|
2085 |
}, |
|
|
2086 |
"execution_count": 59, |
|
|
2087 |
"outputs": [] |
|
|
2088 |
}, |
|
|
2089 |
{ |
|
|
2090 |
"cell_type": "code", |
|
|
2091 |
"source": [ |
|
|
2092 |
"model.add(tf.keras.layers.Dropout(0.25))" |
|
|
2093 |
], |
|
|
2094 |
"metadata": { |
|
|
2095 |
"id": "A4MYvnac2O82" |
|
|
2096 |
}, |
|
|
2097 |
"execution_count": 60, |
|
|
2098 |
"outputs": [] |
|
|
2099 |
}, |
|
|
2100 |
{ |
|
|
2101 |
"cell_type": "code", |
|
|
2102 |
"source": [ |
|
|
2103 |
"model.add(tf.keras.layers.Conv1D(filters=128, kernel_size=2, padding='same', activation='relu'))" |
|
|
2104 |
], |
|
|
2105 |
"metadata": { |
|
|
2106 |
"id": "LVlKDkQ7bu4N" |
|
|
2107 |
}, |
|
|
2108 |
"execution_count": 61, |
|
|
2109 |
"outputs": [] |
|
|
2110 |
}, |
|
|
2111 |
{ |
|
|
2112 |
"cell_type": "code", |
|
|
2113 |
"source": [ |
|
|
2114 |
"model.add(tf.keras.layers.BatchNormalization())" |
|
|
2115 |
], |
|
|
2116 |
"metadata": { |
|
|
2117 |
"id": "Oo-KsBw5c12p" |
|
|
2118 |
}, |
|
|
2119 |
"execution_count": 62, |
|
|
2120 |
"outputs": [] |
|
|
2121 |
}, |
|
|
2122 |
{ |
|
|
2123 |
"cell_type": "code", |
|
|
2124 |
"source": [ |
|
|
2125 |
"model.add(tf.keras.layers.Dropout(0.2))" |
|
|
2126 |
], |
|
|
2127 |
"metadata": { |
|
|
2128 |
"id": "ZY79oD2MdD56" |
|
|
2129 |
}, |
|
|
2130 |
"execution_count": 63, |
|
|
2131 |
"outputs": [] |
|
|
2132 |
}, |
|
|
2133 |
{ |
|
|
2134 |
"cell_type": "code", |
|
|
2135 |
"source": [ |
|
|
2136 |
"model.add(tf.keras.layers.Conv1D(filters=256, kernel_size=2, padding='same', activation='relu'))" |
|
|
2137 |
], |
|
|
2138 |
"metadata": { |
|
|
2139 |
"id": "2pgl1DFt49nG" |
|
|
2140 |
}, |
|
|
2141 |
"execution_count": 64, |
|
|
2142 |
"outputs": [] |
|
|
2143 |
}, |
|
|
2144 |
{ |
|
|
2145 |
"cell_type": "code", |
|
|
2146 |
"source": [ |
|
|
2147 |
"model.add(tf.keras.layers.BatchNormalization())" |
|
|
2148 |
], |
|
|
2149 |
"metadata": { |
|
|
2150 |
"id": "4inCVZdH5EuI" |
|
|
2151 |
}, |
|
|
2152 |
"execution_count": 65, |
|
|
2153 |
"outputs": [] |
|
|
2154 |
}, |
|
|
2155 |
{ |
|
|
2156 |
"cell_type": "code", |
|
|
2157 |
"source": [ |
|
|
2158 |
"model.add(tf.keras.layers.Dropout(0.2))" |
|
|
2159 |
], |
|
|
2160 |
"metadata": { |
|
|
2161 |
"id": "aKDpmFaP5ZgS" |
|
|
2162 |
}, |
|
|
2163 |
"execution_count": 66, |
|
|
2164 |
"outputs": [] |
|
|
2165 |
}, |
|
|
2166 |
{ |
|
|
2167 |
"cell_type": "code", |
|
|
2168 |
"source": [ |
|
|
2169 |
"model.add(tf.keras.layers.Flatten())" |
|
|
2170 |
], |
|
|
2171 |
"metadata": { |
|
|
2172 |
"id": "rK6wGfd9dYmT" |
|
|
2173 |
}, |
|
|
2174 |
"execution_count": 67, |
|
|
2175 |
"outputs": [] |
|
|
2176 |
}, |
|
|
2177 |
{ |
|
|
2178 |
"cell_type": "code", |
|
|
2179 |
"source": [ |
|
|
2180 |
"model.add(tf.keras.layers.Dense(units=128, activation='relu'))" |
|
|
2181 |
], |
|
|
2182 |
"metadata": { |
|
|
2183 |
"id": "EW3WUbSedgY7" |
|
|
2184 |
}, |
|
|
2185 |
"execution_count": 68, |
|
|
2186 |
"outputs": [] |
|
|
2187 |
}, |
|
|
2188 |
{ |
|
|
2189 |
"cell_type": "code", |
|
|
2190 |
"source": [ |
|
|
2191 |
"model.add(tf.keras.layers.Dense(units=7, activation='softmax'))" |
|
|
2192 |
], |
|
|
2193 |
"metadata": { |
|
|
2194 |
"id": "4wus8P11dzPy" |
|
|
2195 |
}, |
|
|
2196 |
"execution_count": 69, |
|
|
2197 |
"outputs": [] |
|
|
2198 |
}, |
|
|
2199 |
{ |
|
|
2200 |
"cell_type": "code", |
|
|
2201 |
"source": [ |
|
|
2202 |
"model.summary()" |
|
|
2203 |
], |
|
|
2204 |
"metadata": { |
|
|
2205 |
"colab": { |
|
|
2206 |
"base_uri": "https://localhost:8080/" |
|
|
2207 |
}, |
|
|
2208 |
"id": "6AR8bicJe66l", |
|
|
2209 |
"outputId": "b2b153da-12c5-473b-dd42-a7e52777869b" |
|
|
2210 |
}, |
|
|
2211 |
"execution_count": 70, |
|
|
2212 |
"outputs": [ |
|
|
2213 |
{ |
|
|
2214 |
"output_type": "stream", |
|
|
2215 |
"name": "stdout", |
|
|
2216 |
"text": [ |
|
|
2217 |
"Model: \"sequential_2\"\n", |
|
|
2218 |
"_________________________________________________________________\n", |
|
|
2219 |
" Layer (type) Output Shape Param # \n", |
|
|
2220 |
"=================================================================\n", |
|
|
2221 |
" conv1d_4 (Conv1D) (None, 22, 32) 96 \n", |
|
|
2222 |
" \n", |
|
|
2223 |
" batch_normalization_4 (Bat (None, 22, 32) 128 \n", |
|
|
2224 |
" chNormalization) \n", |
|
|
2225 |
" \n", |
|
|
2226 |
" dropout_4 (Dropout) (None, 22, 32) 0 \n", |
|
|
2227 |
" \n", |
|
|
2228 |
" conv1d_5 (Conv1D) (None, 22, 64) 4160 \n", |
|
|
2229 |
" \n", |
|
|
2230 |
" batch_normalization_5 (Bat (None, 22, 64) 256 \n", |
|
|
2231 |
" chNormalization) \n", |
|
|
2232 |
" \n", |
|
|
2233 |
" dropout_5 (Dropout) (None, 22, 64) 0 \n", |
|
|
2234 |
" \n", |
|
|
2235 |
" conv1d_6 (Conv1D) (None, 22, 128) 16512 \n", |
|
|
2236 |
" \n", |
|
|
2237 |
" batch_normalization_6 (Bat (None, 22, 128) 512 \n", |
|
|
2238 |
" chNormalization) \n", |
|
|
2239 |
" \n", |
|
|
2240 |
" dropout_6 (Dropout) (None, 22, 128) 0 \n", |
|
|
2241 |
" \n", |
|
|
2242 |
" conv1d_7 (Conv1D) (None, 22, 256) 65792 \n", |
|
|
2243 |
" \n", |
|
|
2244 |
" batch_normalization_7 (Bat (None, 22, 256) 1024 \n", |
|
|
2245 |
" chNormalization) \n", |
|
|
2246 |
" \n", |
|
|
2247 |
" dropout_7 (Dropout) (None, 22, 256) 0 \n", |
|
|
2248 |
" \n", |
|
|
2249 |
" flatten_1 (Flatten) (None, 5632) 0 \n", |
|
|
2250 |
" \n", |
|
|
2251 |
" dense_2 (Dense) (None, 128) 721024 \n", |
|
|
2252 |
" \n", |
|
|
2253 |
" dense_3 (Dense) (None, 7) 903 \n", |
|
|
2254 |
" \n", |
|
|
2255 |
"=================================================================\n", |
|
|
2256 |
"Total params: 810407 (3.09 MB)\n", |
|
|
2257 |
"Trainable params: 809447 (3.09 MB)\n", |
|
|
2258 |
"Non-trainable params: 960 (3.75 KB)\n", |
|
|
2259 |
"_________________________________________________________________\n" |
|
|
2260 |
] |
|
|
2261 |
} |
|
|
2262 |
] |
|
|
2263 |
}, |
|
|
2264 |
{ |
|
|
2265 |
"cell_type": "markdown", |
|
|
2266 |
"source": [ |
|
|
2267 |
"# **MACHINE** **TRAINING**" |
|
|
2268 |
], |
|
|
2269 |
"metadata": { |
|
|
2270 |
"id": "tZxiJdlNr2bM" |
|
|
2271 |
} |
|
|
2272 |
}, |
|
|
2273 |
{ |
|
|
2274 |
"cell_type": "code", |
|
|
2275 |
"source": [ |
|
|
2276 |
"opt = tf.keras.optimizers.Adam(learning_rate=0.000050)\n", |
|
|
2277 |
"model.compile(optimizer=opt, loss='sparse_categorical_crossentropy', metrics=['sparse_categorical_accuracy'])" |
|
|
2278 |
], |
|
|
2279 |
"metadata": { |
|
|
2280 |
"id": "yBOTK-Pke83C" |
|
|
2281 |
}, |
|
|
2282 |
"execution_count": 71, |
|
|
2283 |
"outputs": [] |
|
|
2284 |
}, |
|
|
2285 |
{ |
|
|
2286 |
"cell_type": "code", |
|
|
2287 |
"source": [ |
|
|
2288 |
"epoch = 19\n", |
|
|
2289 |
"history = model.fit(x_train, y_train, batch_size=25, epochs=epoch, validation_data=(x_test, y_test))" |
|
|
2290 |
], |
|
|
2291 |
"metadata": { |
|
|
2292 |
"colab": { |
|
|
2293 |
"base_uri": "https://localhost:8080/" |
|
|
2294 |
}, |
|
|
2295 |
"id": "3NltZgSShXSy", |
|
|
2296 |
"outputId": "740a01dd-4c64-4fb9-f153-50f1d29dff4f" |
|
|
2297 |
}, |
|
|
2298 |
"execution_count": 72, |
|
|
2299 |
"outputs": [ |
|
|
2300 |
{ |
|
|
2301 |
"output_type": "stream", |
|
|
2302 |
"name": "stdout", |
|
|
2303 |
"text": [ |
|
|
2304 |
"Epoch 1/19\n", |
|
|
2305 |
"582/582 [==============================] - 23s 34ms/step - loss: 1.0794 - sparse_categorical_accuracy: 0.6048 - val_loss: 0.6232 - val_sparse_categorical_accuracy: 0.7662\n", |
|
|
2306 |
"Epoch 2/19\n", |
|
|
2307 |
"582/582 [==============================] - 20s 34ms/step - loss: 0.6903 - sparse_categorical_accuracy: 0.7352 - val_loss: 0.5123 - val_sparse_categorical_accuracy: 0.8056\n", |
|
|
2308 |
"Epoch 3/19\n", |
|
|
2309 |
"582/582 [==============================] - 20s 34ms/step - loss: 0.5885 - sparse_categorical_accuracy: 0.7725 - val_loss: 0.4840 - val_sparse_categorical_accuracy: 0.8211\n", |
|
|
2310 |
"Epoch 4/19\n", |
|
|
2311 |
"582/582 [==============================] - 19s 33ms/step - loss: 0.5389 - sparse_categorical_accuracy: 0.7919 - val_loss: 0.4336 - val_sparse_categorical_accuracy: 0.8426\n", |
|
|
2312 |
"Epoch 5/19\n", |
|
|
2313 |
"582/582 [==============================] - 20s 34ms/step - loss: 0.5009 - sparse_categorical_accuracy: 0.8098 - val_loss: 0.4327 - val_sparse_categorical_accuracy: 0.8410\n", |
|
|
2314 |
"Epoch 6/19\n", |
|
|
2315 |
"582/582 [==============================] - 20s 34ms/step - loss: 0.4891 - sparse_categorical_accuracy: 0.8131 - val_loss: 0.4251 - val_sparse_categorical_accuracy: 0.8463\n", |
|
|
2316 |
"Epoch 7/19\n", |
|
|
2317 |
"582/582 [==============================] - 20s 35ms/step - loss: 0.4644 - sparse_categorical_accuracy: 0.8228 - val_loss: 0.4056 - val_sparse_categorical_accuracy: 0.8590\n", |
|
|
2318 |
"Epoch 8/19\n", |
|
|
2319 |
"582/582 [==============================] - 20s 34ms/step - loss: 0.4439 - sparse_categorical_accuracy: 0.8329 - val_loss: 0.3961 - val_sparse_categorical_accuracy: 0.8614\n", |
|
|
2320 |
"Epoch 9/19\n", |
|
|
2321 |
"582/582 [==============================] - 20s 34ms/step - loss: 0.4402 - sparse_categorical_accuracy: 0.8352 - val_loss: 0.4004 - val_sparse_categorical_accuracy: 0.8600\n", |
|
|
2322 |
"Epoch 10/19\n", |
|
|
2323 |
"582/582 [==============================] - 20s 34ms/step - loss: 0.4263 - sparse_categorical_accuracy: 0.8420 - val_loss: 0.3974 - val_sparse_categorical_accuracy: 0.8587\n", |
|
|
2324 |
"Epoch 11/19\n", |
|
|
2325 |
"582/582 [==============================] - 21s 36ms/step - loss: 0.4143 - sparse_categorical_accuracy: 0.8474 - val_loss: 0.4026 - val_sparse_categorical_accuracy: 0.8608\n", |
|
|
2326 |
"Epoch 12/19\n", |
|
|
2327 |
"582/582 [==============================] - 20s 34ms/step - loss: 0.4130 - sparse_categorical_accuracy: 0.8472 - val_loss: 0.3883 - val_sparse_categorical_accuracy: 0.8667\n", |
|
|
2328 |
"Epoch 13/19\n", |
|
|
2329 |
"582/582 [==============================] - 19s 33ms/step - loss: 0.4018 - sparse_categorical_accuracy: 0.8478 - val_loss: 0.3817 - val_sparse_categorical_accuracy: 0.8656\n", |
|
|
2330 |
"Epoch 14/19\n", |
|
|
2331 |
"582/582 [==============================] - 20s 34ms/step - loss: 0.3949 - sparse_categorical_accuracy: 0.8525 - val_loss: 0.3867 - val_sparse_categorical_accuracy: 0.8656\n", |
|
|
2332 |
"Epoch 15/19\n", |
|
|
2333 |
"582/582 [==============================] - 20s 34ms/step - loss: 0.3943 - sparse_categorical_accuracy: 0.8530 - val_loss: 0.3826 - val_sparse_categorical_accuracy: 0.8656\n", |
|
|
2334 |
"Epoch 16/19\n", |
|
|
2335 |
"582/582 [==============================] - 20s 34ms/step - loss: 0.3777 - sparse_categorical_accuracy: 0.8587 - val_loss: 0.3850 - val_sparse_categorical_accuracy: 0.8701\n", |
|
|
2336 |
"Epoch 17/19\n", |
|
|
2337 |
"582/582 [==============================] - 20s 35ms/step - loss: 0.3833 - sparse_categorical_accuracy: 0.8570 - val_loss: 0.3850 - val_sparse_categorical_accuracy: 0.8659\n", |
|
|
2338 |
"Epoch 18/19\n", |
|
|
2339 |
"582/582 [==============================] - 19s 33ms/step - loss: 0.3725 - sparse_categorical_accuracy: 0.8637 - val_loss: 0.3794 - val_sparse_categorical_accuracy: 0.8687\n", |
|
|
2340 |
"Epoch 19/19\n", |
|
|
2341 |
"582/582 [==============================] - 21s 36ms/step - loss: 0.3679 - sparse_categorical_accuracy: 0.8622 - val_loss: 0.3783 - val_sparse_categorical_accuracy: 0.8701\n" |
|
|
2342 |
] |
|
|
2343 |
} |
|
|
2344 |
] |
|
|
2345 |
}, |
|
|
2346 |
{ |
|
|
2347 |
"cell_type": "markdown", |
|
|
2348 |
"source": [ |
|
|
2349 |
"# **MACHINE** **EVALUATION**" |
|
|
2350 |
], |
|
|
2351 |
"metadata": { |
|
|
2352 |
"id": "G3wyyLb9sv3o" |
|
|
2353 |
} |
|
|
2354 |
}, |
|
|
2355 |
{ |
|
|
2356 |
"cell_type": "code", |
|
|
2357 |
"source": [ |
|
|
2358 |
"y_pred = np.argmax(model.predict(x_test), axis=-1)" |
|
|
2359 |
], |
|
|
2360 |
"metadata": { |
|
|
2361 |
"colab": { |
|
|
2362 |
"base_uri": "https://localhost:8080/" |
|
|
2363 |
}, |
|
|
2364 |
"id": "zvbW2GxNiGbv", |
|
|
2365 |
"outputId": "73ae7f61-5ac3-47bb-e5b0-9efa848a4fe6" |
|
|
2366 |
}, |
|
|
2367 |
"execution_count": 73, |
|
|
2368 |
"outputs": [ |
|
|
2369 |
{ |
|
|
2370 |
"output_type": "stream", |
|
|
2371 |
"name": "stdout", |
|
|
2372 |
"text": [ |
|
|
2373 |
"195/195 [==============================] - 2s 7ms/step\n" |
|
|
2374 |
] |
|
|
2375 |
} |
|
|
2376 |
] |
|
|
2377 |
}, |
|
|
2378 |
{ |
|
|
2379 |
"cell_type": "code", |
|
|
2380 |
"source": [ |
|
|
2381 |
"from sklearn.metrics import accuracy_score" |
|
|
2382 |
], |
|
|
2383 |
"metadata": { |
|
|
2384 |
"id": "pBhJ2I3Zmfb7" |
|
|
2385 |
}, |
|
|
2386 |
"execution_count": 74, |
|
|
2387 |
"outputs": [] |
|
|
2388 |
}, |
|
|
2389 |
{ |
|
|
2390 |
"cell_type": "code", |
|
|
2391 |
"source": [ |
|
|
2392 |
"a_s = accuracy_score(y_pred, y_test)" |
|
|
2393 |
], |
|
|
2394 |
"metadata": { |
|
|
2395 |
"id": "6u88A-kLmt6K" |
|
|
2396 |
}, |
|
|
2397 |
"execution_count": 75, |
|
|
2398 |
"outputs": [] |
|
|
2399 |
}, |
|
|
2400 |
{ |
|
|
2401 |
"cell_type": "code", |
|
|
2402 |
"source": [ |
|
|
2403 |
"print(f\"Accuracy Score: {a_s * 100:.2f}\")" |
|
|
2404 |
], |
|
|
2405 |
"metadata": { |
|
|
2406 |
"colab": { |
|
|
2407 |
"base_uri": "https://localhost:8080/" |
|
|
2408 |
}, |
|
|
2409 |
"id": "BZNsAhISm75B", |
|
|
2410 |
"outputId": "ba473796-ebd3-48e4-8451-f22834d9a45b" |
|
|
2411 |
}, |
|
|
2412 |
"execution_count": 76, |
|
|
2413 |
"outputs": [ |
|
|
2414 |
{ |
|
|
2415 |
"output_type": "stream", |
|
|
2416 |
"name": "stdout", |
|
|
2417 |
"text": [ |
|
|
2418 |
"Accuracy Score: 87.01\n" |
|
|
2419 |
] |
|
|
2420 |
} |
|
|
2421 |
] |
|
|
2422 |
}, |
|
|
2423 |
{ |
|
|
2424 |
"cell_type": "code", |
|
|
2425 |
"source": [ |
|
|
2426 |
"def learning_curve(history, epoch):\n", |
|
|
2427 |
"\n", |
|
|
2428 |
" # training vs validation accuracy\n", |
|
|
2429 |
" epoch_range = range(1, epoch+1)\n", |
|
|
2430 |
" plt.plot(epoch_range, history.history['sparse_categorical_accuracy'])\n", |
|
|
2431 |
" plt.plot(epoch_range, history.history['val_sparse_categorical_accuracy'])\n", |
|
|
2432 |
" plt.title('Model Accuracy')\n", |
|
|
2433 |
" plt.ylabel('Accuracy')\n", |
|
|
2434 |
" plt.xlabel('Epoch')\n", |
|
|
2435 |
" plt.legend(['Train', 'val'], loc='upper left')\n", |
|
|
2436 |
" plt.show()\n", |
|
|
2437 |
"\n", |
|
|
2438 |
" # training vs validation loss\n", |
|
|
2439 |
" plt.plot(epoch_range, history.history['loss'])\n", |
|
|
2440 |
" plt.plot(epoch_range, history.history['val_loss'])\n", |
|
|
2441 |
" plt.title('Model Loss')\n", |
|
|
2442 |
" plt.ylabel('Loss')\n", |
|
|
2443 |
" plt.xlabel('Epoch')\n", |
|
|
2444 |
" plt.legend(['Train', 'val'], loc='upper left')\n", |
|
|
2445 |
" plt.show()" |
|
|
2446 |
], |
|
|
2447 |
"metadata": { |
|
|
2448 |
"id": "L-_y2OTMorAM" |
|
|
2449 |
}, |
|
|
2450 |
"execution_count": 77, |
|
|
2451 |
"outputs": [] |
|
|
2452 |
}, |
|
|
2453 |
{ |
|
|
2454 |
"cell_type": "code", |
|
|
2455 |
"source": [ |
|
|
2456 |
"learning_curve(history, epoch)" |
|
|
2457 |
], |
|
|
2458 |
"metadata": { |
|
|
2459 |
"colab": { |
|
|
2460 |
"base_uri": "https://localhost:8080/", |
|
|
2461 |
"height": 927 |
|
|
2462 |
}, |
|
|
2463 |
"id": "P3A4cCSJpMTW", |
|
|
2464 |
"outputId": "b4f21cd4-6c30-4abc-996a-6eb03162b7f4" |
|
|
2465 |
}, |
|
|
2466 |
"execution_count": 78, |
|
|
2467 |
"outputs": [ |
|
|
2468 |
{ |
|
|
2469 |
"output_type": "display_data", |
|
|
2470 |
"data": { |
|
|
2471 |
"text/plain": [ |
|
|
2472 |
"<Figure size 640x480 with 1 Axes>" |
|
|
2473 |
], |
|
|
2474 |
"image/png": "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6XUSkZFIvRorEdGDTJw4USgUCuHg4KD3eP/994UQQgAQL7/8st57wsLCxIwZM4QQQnz11VfC1dVV5OXl6V7fuXOnkMvlupXCfX19xdtvv11tDQDEO++8o3uel5cnAIhff/3VaNdJRKbDPkBEZBb69euHVatW6e1zc3PTbffo0UPvtR49euDs2bMAgMuXL6Njx45wcHDQvd6rVy9oNBrExMRAJpMhMTER/fv3r7GG0NBQ3baDgwOcnJyQmppa10siIgkxABGRWXBwcKh0S8pY7OzsanWctbW13nOZTAaNRlMfJRFRPWMfICJqFE6cOFHpedu2bQEAbdu2xblz55Cfn697/ejRo5DL5QgJCYGjoyMCAwMRFRVl0pqJSDpsASIis1BcXIzk5GS9fVZWVnB3dwcAbN26FV27dkXv3r2xYcMGREdHY82aNQCA8ePHY9GiRZg4cSIWL16MtLQ0vPrqq3jxxRfh5eUFAFi8eDFefvlleHp6YvDgwcjNzcXRo0fx6quvmvZCicgkGICIyCzs3r0bPj4+evtCQkJw5coVANoRWps3b8Yrr7wCHx8fbNq0CY888ggAwN7eHnv27MHs2bPRrVs32Nvb4/nnn8fy5ct155o4cSKKiorwySef4M0334S7uztGjBhhugskIpOSCSGE1EUQET0MmUyGHTt2YNiwYVKXQkRmgn2AiIiIyOIwABEREZHFYR8gIjJ7vJNPRIZiCxARERFZHAYgIiIisjgMQERERGRxGICIiIjI4jAAERERkcVhACIiIiKLwwBEREREFocBiIiIiCwOAxARERFZnP8HJ1qO2t3UXngAAAAASUVORK5CYII=\n" |
|
|
2475 |
}, |
|
|
2476 |
"metadata": {} |
|
|
2477 |
}, |
|
|
2478 |
{ |
|
|
2479 |
"output_type": "display_data", |
|
|
2480 |
"data": { |
|
|
2481 |
"text/plain": [ |
|
|
2482 |
"<Figure size 640x480 with 1 Axes>" |
|
|
2483 |
], |
|
|
2484 |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABchUlEQVR4nO3dd3xT9f4/8NdJmibdk6aDDvam7FJwoZV5EVCUdQVRcYGK6L3KVRn69eK9KuJAEAVRrwNEQH+iKKAoS0CgKHu3BTpoS5vOpE0+vz9OGwjdJc1J0tfz8cgjyck5yfs01L78nM+QhBACRERERG5CpXQBRERERPbEcENERERuheGGiIiI3ArDDREREbkVhhsiIiJyKww3RERE5FYYboiIiMitMNwQERGRW2G4ISIiIrfCcENETkuSJMybN6/Bx507dw6SJGHlypV2r4mInB/DDRHVauXKlZAkCZIkYfv27VVeF0IgOjoakiThb3/7mwIVNt7WrVshSRLWrFmjdClEZEcMN0RULzqdDp9//nmV7b/++ivOnz8PrVarQFVERFUx3BBRvQwfPhxfffUVysvLbbZ//vnn6N27N8LDwxWqjIjIFsMNEdXLhAkTkJOTg02bNlm3mUwmrFmzBhMnTqz2mKKiIjz99NOIjo6GVqtFhw4d8Prrr0MIYbOf0WjEU089hRYtWsDPzw933HEHzp8/X+17XrhwAffffz/0ej20Wi26dOmCFStW2O9Eq3HmzBncfffdCA4Ohre3N/r3748NGzZU2e+dd95Bly5d4O3tjaCgIPTp08emtaugoAAzZ85EXFwctFotwsLCcPvtt2P//v1NWj9Rc8NwQ0T1EhcXh8TERHzxxRfWbT/88APy8/Mxfvz4KvsLIXDHHXfgzTffxNChQ7Fw4UJ06NAB//jHPzBr1iybfR988EEsWrQIgwcPxquvvgqNRoMRI0ZUec/MzEz0798fmzdvxowZM/DWW2+hbdu2eOCBB7Bo0SK7n3PlZw4YMAA//vgjHnvsMbzyyisoLS3FHXfcgXXr1ln3++CDD/DEE0+gc+fOWLRoEebPn48ePXpg9+7d1n0eeeQRLFmyBHfddRfee+89PPPMM/Dy8sLRo0ebpHaiZksQEdXio48+EgDE3r17xbvvviv8/PxEcXGxEEKIu+++WwwaNEgIIURsbKwYMWKE9bj169cLAOL//u//bN5v7NixQpIkcerUKSGEEMnJyQKAeOyxx2z2mzhxogAg5s6da932wAMPiIiICJGdnW2z7/jx40VAQIC1rrNnzwoA4qOPPqr13H755RcBQHz11Vc17jNz5kwBQGzbts26raCgQLRq1UrExcUJs9kshBBi1KhRokuXLrV+XkBAgJg+fXqt+xDR9WPLDRHV2z333IOSkhJ89913KCgowHfffVfjJanvv/8earUaTzzxhM32p59+GkII/PDDD9b9AFTZb+bMmTbPhRD4+uuvMXLkSAghkJ2dbb0NGTIE+fn5TXJ55/vvv0e/fv1www03WLf5+vrioYcewrlz53DkyBEAQGBgIM6fP4+9e/fW+F6BgYHYvXs3Ll68aPc6iegKhhsiqrcWLVogKSkJn3/+OdauXQuz2YyxY8dWu29KSgoiIyPh5+dns71Tp07W1yvvVSoV2rRpY7Nfhw4dbJ5funQJeXl5WLZsGVq0aGFzmzp1KgAgKyvLLud57XlcW0t15/Hss8/C19cX/fr1Q7t27TB9+nTs2LHD5pj//ve/OHToEKKjo9GvXz/MmzcPZ86csXvNRM2dh9IFEJFrmThxIqZNm4aMjAwMGzYMgYGBDvlci8UCAPj73/+OKVOmVLtP9+7dHVJLdTp16oTjx4/ju+++w8aNG/H111/jvffew5w5czB//nwAcsvXjTfeiHXr1uGnn37Ca6+9hv/85z9Yu3Ythg0bpljtRO6GLTdE1CBjxoyBSqXC77//XuMlKQCIjY3FxYsXUVBQYLP92LFj1tcr7y0WC06fPm2z3/Hjx22eV46kMpvNSEpKqvYWFhZmj1Osch7X1lLdeQCAj48Pxo0bh48++gipqakYMWKEtQNypYiICDz22GNYv349zp49i5CQELzyyit2r5uoOWO4IaIG8fX1xZIlSzBv3jyMHDmyxv2GDx8Os9mMd99912b7m2++CUmSrC0Vlfdvv/22zX7Xjn5Sq9W466678PXXX+PQoUNVPu/SpUuNOZ06DR8+HHv27MGuXbus24qKirBs2TLExcWhc+fOAICcnByb4zw9PdG5c2cIIVBWVgaz2Yz8/HybfcLCwhAZGQmj0dgktRM1V7wsRUQNVtNloauNHDkSgwYNwvPPP49z584hPj4eP/30E7755hvMnDnT2semR48emDBhAt577z3k5+djwIAB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maeHvGSCyWyx66reREREVD8MN3amUUuQJAlCCJSx3w0REZHDMdzYGYeDExERKYvhpglYh4O7UMtNXFwcFi1apHQZRERE143hpgm40gKaRERE7obhpgnwshQREZFyGG6agKPnulm2bBkiIyNhsdh+3qhRo3D//ffj9OnTGDVqFPR6PXx9fdG3b19s3rzZIbURERE5GsNNXYQATEUNunlaSiCVFaOspBDCWNjg4623eg4lv/vuu5GTk4NffvnFui03NxcbN27EpEmTUFhYiOHDh2PLli04cOAAhg4dipEjRyI1NbWpfmpERESK8VC6AKdXVgz8O7JBh+gAdLPHZ//rIuDpU+duQUFBGDZsGD7//HPcdtttAIA1a9YgNDQUgwYNgkqlQnx8vHX/l19+GevWrcO3336LGTNm2KNSIiIip8GWGzcxadIkfP311zAajQCAzz77DOPHj4dKpUJhYSGeeeYZdOrUCYGBgfD19cXRo0fZckNERG6JLTd10XjLLSgNdCa7CEXGckQHeSHQ27Pxn11PI0eOhBACGzZsQN++fbFt2za8+eabAIBnnnkGmzZtwuuvv462bdvCy8sLY8eOhclkalxdRERETozhpi6SVK9LQ9fS6CQIiwlGlQ7w1DVBYbZ0Oh3uvPNOfPbZZzh16hQ6dOiAXr16AQB27NiB++67D2PGjAEAFBYW4ty5c01eExERkRIYbpqIEquDT5o0CX/7299w+PBh/P3vf7dub9euHdauXYuRI0dCkiS8+OKLVUZWERERuQv2uWkiSkzkd+uttyI4OBjHjx/HxIkTrdsXLlyIoKAgDBgwACNHjsSQIUOsrTpERETuhi03TcQabhy4BINKpcLFi1X7B8XFxeHnn3+22TZ9+nSb57xMRURE7oItN02kcpbiMrMFFkv95qshIiKi68dw00TUKglqlQTAsa03REREzR3DTRORJIlrTBERESmA4aYJVfa7MTLcEBEROYyi4ea3337DyJEjERkZCUmSsH79+jqP2bp1K3r16gWtVou2bdti5cqVdq9L1HNNp7oo0anYmdjr50hERNQQioaboqIixMfHY/HixfXa/+zZsxgxYgQGDRqE5ORkzJw5Ew8++CB+/PFHu9Sj0WgAAMXFxXZ5PyXmunEmlT/Hyp8rERGRIyg6FHzYsGEYNmxYvfdfunQpWrVqhTfeeAMA0KlTJ2zfvh1vvvkmhgwZct31qNVqBAYGIisrCwDg7e0NSZIa/X6ivAyi3ITSEjNKS9XXXZ+rEEKguLgYWVlZCAwMhFrdfM6diIiU51Lz3OzatQtJSUk224YMGYKZM2fWeIzRaLQuJgkABoOh1s8IDw8HAGvAuR7lFoGs/FJIEiAKvHAdOcklBQYGWn+eREREjuJS4SYjIwN6vd5mm16vh8FgQElJCby8vKocs2DBAsyfP7/enyFJEiIiIhAWFoaysrLrqtdsEZjx1m8otwh89mACwgOq1ueuNBoNW2yIiEgRLhVuGmP27NmYNWuW9bnBYEB0dHSdx6nVarv8cVZrtEjJLsLFAjPi9E2/gCYREVFz51LhJjw8HJmZmTbbMjMz4e/vX22rDQBotVpotVpHlFetmBBvnMkuQkpuMQYoVgUREVHz4VLz3CQmJmLLli022zZt2oTExESFKqpbbLA3ACAlxz4jsIiIiKh2ioabwsJCJCcnIzk5GYA81Ds5ORmpqakA5EtKkydPtu7/yCOP4MyZM/jnP/+JY8eO4b333sPq1avx1FNPKVF+vcSE+AAAUnOLFK6EiIioeVA03Pzxxx/o2bMnevbsCQCYNWsWevbsiTlz5gAA0tPTrUEHAFq1aoUNGzZg06ZNiI+PxxtvvIEPP/zQLsPAmwpbboiIiBxLEs1sGlmDwYCAgADk5+fD39+/yT/vZGYBbn/zN/hpPfDnvMHXNW8OERFRc9WQv98u1efGFUVXtNwUGMtxufj6hpYTERFR3RhumphOo0a4vzwEPCWH/W6IiIiaGsONA8RUtN6k5rLfDRERUVNjuHGAmJCKcMNOxURERE2O4cYBrCOm2HJDRETU5BhuHIAtN0RERI7DcOMAsRUT+aVwIj8iIqImx3DjAJWXpTINRpSWmRWuhoiIyL0x3DhAoLcGfjp5jVKOmCIiImpaDDcOIEkSYkO4DAMREZEjMNw4SGxwRb8bTuRHRETUpBhuHMQ6YoqXpYiIiJoUw42DxHB1cCIiIodguHGQyhFTaWy5ISIialIMNw5SeVkq7XIxzBahcDVERETui+HGQSICvKBRSygzC6TnlyhdDhERkdtiuHEQtUpCdBCXYSAiImpqDDcOVHlpigtoEhERNR2GGweK5YgpIiKiJsdw40AxFQtopnIBTSIioibDcONAbLkhIiJqegw3DlS5vlRqTjGE4HBwIiKipsBw40DRFS03BcZyXC4uU7gaIiIi98Rw40A6jRp6fy0ArjFFRETUVBhuHIyrgxMRETUthhsHiwnhRH5ERERNieHGwawjpnhZioiIqEkw3DgYW26IiIiaFsONg8VWTOSXwon8iIiImgTDjYNVXpbKNBhRWmZWuBoiIiL3w3DjYIHeGvjpPABwODgREVFTYLhxMEmSEMNlGIiIiJoMw40CKpdh4Fw3RERE9sdwo4CYion80nhZioiIyO4YbhRgbblhuCEiIrI7hhsFVI6Y4lw3RERE9ucU4Wbx4sWIi4uDTqdDQkIC9uzZU+O+ZWVleOmll9CmTRvodDrEx8dj48aNDqz2+lVO5Jd2uRhmi1C4GiIiIveieLhZtWoVZs2ahblz52L//v2Ij4/HkCFDkJWVVe3+L7zwAt5//3288847OHLkCB555BGMGTMGBw4ccHDljRcR4AWNWkKZWSA9v0TpcoiIiNyK4uFm4cKFmDZtGqZOnYrOnTtj6dKl8Pb2xooVK6rd/9NPP8W//vUvDB8+HK1bt8ajjz6K4cOH44033nBw5Y2nVkmIDuKlKSIioqagaLgxmUzYt28fkpKSrNtUKhWSkpKwa9euao8xGo3Q6XQ227y8vLB9+/YmrdXeYtipmIiIqEkoGm6ys7NhNpuh1+tttuv1emRkZFR7zJAhQ7Bw4UKcPHkSFosFmzZtwtq1a5Genl7t/kajEQaDwebmDGI5kR8REVGTUPyyVEO99dZbaNeuHTp27AhPT0/MmDEDU6dOhUpV/aksWLAAAQEB1lt0dLSDK65edOWIKS6gSUREZFeKhpvQ0FCo1WpkZmbabM/MzER4eHi1x7Ro0QLr169HUVERUlJScOzYMfj6+qJ169bV7j979mzk5+dbb2lpaXY/j8awrg7OlhsiIiK7UjTceHp6onfv3tiyZYt1m8ViwZYtW5CYmFjrsTqdDlFRUSgvL8fXX3+NUaNGVbufVquFv7+/zc0ZVE7kl5pTDCE4HJyIiMhePJQuYNasWZgyZQr69OmDfv36YdGiRSgqKsLUqVMBAJMnT0ZUVBQWLFgAANi9ezcuXLiAHj164MKFC5g3bx4sFgv++c9/KnkaDVa5eGaBsRx5xWUI8vFUuCIiIiL3oHi4GTduHC5duoQ5c+YgIyMDPXr0wMaNG62djFNTU23605SWluKFF17AmTNn4Ovri+HDh+PTTz9FYGCgQmfQODqNGnp/LTINRqTkFjPcEBER2Ykkmtk1EYPBgICAAOTn5yt+ieqepbuw51wu3hrfA6N6RClaCxERkTNryN9vlxst5U5iQjiRHxERkb0x3CjIOtcNJ/IjIiKyG4YbBbHlhoiIyP4YbhQUY2254UR+RERE9sJwo6DKifwyDUaUlpkVroaIiMg9MNwoKMhbAz+tPBo/lf1uiIiI7ILhRkGSJF1ZHZz9boiIiOyC4UZh1mUY2HJDRERkFww3CosJlvvdpOawUzEREZE9MNworLLlhnPdEBER2QfDjcIqJ/LjXDdERET2wXCjsMoOxWmXi2G2NKtlvoiIiJoEw43CIgK8oFFLKDMLpOeXKF0OERGRy2O4UZhaJaFlEC9NERER2QvDjROI4QKaREREdsNw4wRiOZEfERGR3TDcOIHKlptULqBJRER03RhunEDlApqcpZiIiOj6Mdw4gasvSwnB4eBERETXg+HGCVReliooLUdecZnC1RAREbk2hhsnoNOooffXAuCIKSIiouvFcOMkYisW0EzhAppERETXheHGSURzjSkiIiK7YLhxElwdnIiIyD4YbpxEZbhhyw0REdH1YbhxEleWYGCfGyIiouvBcOMkKifyyzQYUVpmVrgaIiIi18Vw4ySCvDXw03oAANLY74aIiKjRGG6chCRJiOECmkRERNeN4caJcMQUERHR9WO4cSIxFRP5pXIiPyIiokZjuHEibLkhIiK6fgw3TiSGsxQTERFdN4YbJ1IZbtIuF8NsEQpXQ0RE5JoYbpxIZKAXNGoJZWaB9PwSpcshIiJySQw3TkStktAyiJemiIiIrgfDjZO5sgwDww0REVFjOEW4Wbx4MeLi4qDT6ZCQkIA9e/bUuv+iRYvQoUMHeHl5ITo6Gk899RRKS0sdVG3TiuVEfkRERNdF8XCzatUqzJo1C3PnzsX+/fsRHx+PIUOGICsrq9r9P//8czz33HOYO3cujh49iuXLl2PVqlX417/+5eDKm4a1UzFbboiIiBpF8XCzcOFCTJs2DVOnTkXnzp2xdOlSeHt7Y8WKFdXuv3PnTgwcOBATJ05EXFwcBg8ejAkTJtTZ2uMqKhfQ5OrgREREjaNouDGZTNi3bx+SkpKs21QqFZKSkrBr165qjxkwYAD27dtnDTNnzpzB999/j+HDh1e7v9FohMFgsLk5s6svSwnB4eBEREQN5aHkh2dnZ8NsNkOv19ts1+v1OHbsWLXHTJw4EdnZ2bjhhhsghEB5eTkeeeSRGi9LLViwAPPnz7d77U0lumK0VEFpOfKKyxDk46lwRURERK5F8ctSDbV161b8+9//xnvvvYf9+/dj7dq12LBhA15++eVq9589ezby8/Ott7S0NAdX3DBenmqE+WkBcMQUERFRYyjachMaGgq1Wo3MzEyb7ZmZmQgPD6/2mBdffBH33nsvHnzwQQBAt27dUFRUhIceegjPP/88VCrbvKbVaqHVapvmBJpIbIg3sgqMSMkpQo/oQKXLISIicimKttx4enqid+/e2LJli3WbxWLBli1bkJiYWO0xxcXFVQKMWq0GALfpo3JldXC23BARETWUoi03ADBr1ixMmTIFffr0Qb9+/bBo0SIUFRVh6tSpAIDJkycjKioKCxYsAACMHDkSCxcuRM+ePZGQkIBTp07hxRdfxMiRI60hx9VxdXAiIqLGUzzcjBs3DpcuXcKcOXOQkZGBHj16YOPGjdZOxqmpqTYtNS+88AIkScILL7yACxcuoEWLFhg5ciReeeUVpU7B7irDDVtuiIiIGk4S7nItp54MBgMCAgKQn58Pf39/pcup1oHUyxjz3k7o/bXY/a+kug8gIiJycw35++1yo6Wag8qJ/DINRpSWmRWuhoiIyLUw3DihIG8N/LTyFUMuw0BERNQwDDdOSJIkxHABTSIiokZhuHFSlQtocsQUERFRwzDcOKkY64gpLqBJRETUEAw3Tio2uHJ1cLbcEBERNQTDjZPiXDdERESNw3DjpCr73KRdLobZ0qymIiIiIrouDDdOKjLQCxq1hDKzQHp+idLlEBERuQyGGyelVkloGcRLU0RERA3FcOPEKi9NpbJTMRERUb0x3Dgxrg5ORETUcAw3TszacsPLUkRERPXGcOPErsxSzIn8iIiI6ovhxolVrg6eklMMITgcnIiIqD4YbpxYZctNQWk58orLFK6GiIjINTDcODEvTzXC/LQA2KmYiIiovhoVbtLS0nD+/Hnr8z179mDmzJlYtmyZ3QojmXXEFBfQJCIiqpdGhZuJEyfil19+AQBkZGTg9ttvx549e/D888/jpZdesmuBzV1MxQKaHDFFRERUP40KN4cOHUK/fv0AAKtXr0bXrl2xc+dOfPbZZ1i5cqU962v2ONcNERFRwzQq3JSVlUGrlfuCbN68GXfccQcAoGPHjkhPT7dfdXRldXCGGyIionppVLjp0qULli5dim3btmHTpk0YOnQoAODixYsICQmxa4HNHSfyIyIiaphGhZv//Oc/eP/993HLLbdgwoQJiI+PBwB8++231stVZB+V4SbDUIrSMrPC1RARETk/j8YcdMsttyA7OxsGgwFBQUHW7Q899BC8vb3tVhwBwT6e8NV6oNBYjrTcYrTT+yldEhERkVNrVMtNSUkJjEajNdikpKRg0aJFOH78OMLCwuxaYHMnSdKVZRh4aYqIiKhOjQo3o0aNwieffAIAyMvLQ0JCAt544w2MHj0aS5YssWuBxBFTREREDdGocLN//37ceOONAIA1a9ZAr9cjJSUFn3zyCd5++227FkhATOWIKU7kR0REVKdGhZvi4mL4+cl9P3766SfceeedUKlU6N+/P1JSUuxaIAGxFRP5seWGiIiobo0KN23btsX69euRlpaGH3/8EYMHDwYAZGVlwd/f364F0lVz3bDPDRERUZ0aFW7mzJmDZ555BnFxcejXrx8SExMByK04PXv2tGuBdGU4eNrlYpgtQuFqiIiInFujhoKPHTsWN9xwA9LT061z3ADAbbfdhjFjxtitOJJFBnpBo5ZQZhZIzy9ByyAOtyciIqpJo8INAISHhyM8PNy6OnjLli05gV8TUasktAzyxtnsIqTmFjPcEBER1aJRl6UsFgteeuklBAQEIDY2FrGxsQgMDMTLL78Mi8Vi7xoJQDSXYSAiIqqXRrXcPP/881i+fDleffVVDBw4EACwfft2zJs3D6WlpXjllVfsWiQBscGc64aIiKg+GhVuPv74Y3z44YfW1cABoHv37oiKisJjjz3GcNMEOGKKiIiofhp1WSo3NxcdO3assr1jx47Izc297qKoKusSDLmcyI+IiKg2jQo38fHxePfdd6tsf/fdd9G9e/cGv9/ixYsRFxcHnU6HhIQE7Nmzp8Z9b7nlFkiSVOU2YsSIBn+uK4kNqZjIL6cYQnA4OBERUU0adVnqv//9L0aMGIHNmzdb57jZtWsX0tLS8P333zfovVatWoVZs2Zh6dKlSEhIwKJFizBkyJAaF+Fcu3YtTCaT9XlOTg7i4+Nx9913N+ZUXEZly01BaTnyissQ5OOpcEVERETOqVEtNzfffDNOnDiBMWPGIC8vD3l5ebjzzjtx+PBhfPrppw16r4ULF2LatGmYOnUqOnfujKVLl8Lb2xsrVqyodv/g4GDrMPTw8HBs2rQJ3t7ebh9uvDzVCPPTAmCnYiIioto0ep6byMjIKh2HDx48iOXLl2PZsmX1eg+TyYR9+/Zh9uzZ1m0qlQpJSUnYtWtXvd5j+fLlGD9+PHx8fKp93Wg0wmg0Wp8bDIZ6va8zig3xRlaBESk5RegRHah0OURERE6pUS039pKdnQ2z2Qy9Xm+zXa/XIyMjo87j9+zZg0OHDuHBBx+scZ8FCxYgICDAeouOjr7uupUSU7GAJkdMERER1UzRcHO9li9fjm7dutU6M/Ls2bORn59vvaWlpTmwQvuq7HeTystSRERENWr0ZSl7CA0NhVqtRmZmps32zMxMhIeH13psUVERvvzyS7z00ku17qfVaqHVaq+7VmdQOdcN+9wQERHVrEHh5s4776z19by8vAZ9uKenJ3r37o0tW7Zg9OjRAOSlHbZs2YIZM2bUeuxXX30Fo9GIv//97w36TFcWw4n8iIiI6tSgcBMQEFDn65MnT25QAbNmzcKUKVPQp08f9OvXD4sWLUJRURGmTp0KAJg8eTKioqKwYMECm+OWL1+O0aNHIyQkpEGf58riKua6yTCU4kJeCaICvRSuiIiIyPk0KNx89NFHdi9g3LhxuHTpEubMmYOMjAz06NEDGzdutHYyTk1NhUpl2zXo+PHj2L59O3766Se71+PMgn080b91MH4/k4t3tpzEq3c1fMJEIiIidyeJZjbdrcFgQEBAAPLz8+Hv7690OQ22LyUXdy3ZBbVKwuZZN6NVaPVD4ImIiNxJQ/5+u/Roqeaod2wwBnVoAbNF4M1NJ5Quh4iIyOkw3Ligpwd3AAD8vz8v4mi6605KSERE1BQYblxQ16gAjOgWASGAN35i6w0REdHVGG5c1FO3t4dKAjYfzcSB1MtKl0NEROQ0GG5cVNswX9zZqyUAtt4QERFdjeHGhT15Wzto1BK2n8rGztPZSpdDRETkFBhuXFh0sDcm9IsBALz+43E0s1H9RERE1WK4cXEzBrWFTqPC/tQ8/HwsS+lyiIiIFMdw4+LC/HWYMiAOAPD6TydgsbD1hoiImjeGGzfwyE1t4Kf1wNF0Azb8la50OURERIpiuHEDQT6eePDG1gCANzedQLnZonBFREREymG4cRP33xCHIG8NzmQXYe2BC0qXQ0REpBiGGzfhp9Pg0VvaAADe2nwSxnKzwhUREREpg+HGjUxOjIPeX4sLeSX4ck+a0uUQEREpguHGjeg0asy4tR0A4J2fT6HYVK5wRURERI7HcONmxvWJRnSwF7ILjfh4Z4rS5RARETkcw42b8fRQYeZt7QEAS389DUNpmcIVERERORbDjRsa3TMKbcN8kV9Shg9/O6N0OURERA7FcOOG1CoJT98ut94s334WOYVGhSsiIiJyHIYbNzW0azi6RvmjyGTGkq2nlS6HiIjIYRhu3JQkSXhmcAcAwCe/pyA9v0ThioiIiByD4caN3dy+BfrGBcFUbsE7P59SuhwiIiKHYLhxY5Ik4R9DOgIAVu9NQ2pOscIVERERNT2GGzfXr1UwbmrfAuUWgUWbTyhdDhERUZNjuGkG/lHR92Zd8gWcyCxQuBoiIqKmxXDTDHRrGYChXcIhBLDwJ7beEBGRe2O4aSZmDW4PSQI2Hs7An+fzlC6HiIioyTDc2JsQSldQrfZ6P4zpEQUAeJ2tN0RE5MYYbuylIAP4/p/A2mlKV1KjmUnt4aGS8NuJS9h9JkfpcoiIiJoEw429lOYDe5YBf30FZB1VuppqxYR4Y1zfaADA6z8dh3DSViYiIqLrwXBjLy06AJ1Gyo+3LVS2llo8fms7aD1U2HvuMn49cUnpcoiIiOyO4caebpwl3x9aA+SeVbaWGoQH6HBv/1gAbL0hIiL3xHBjT5E9gbZJgLAAOxYpXU2NHr2lDXw81Th0wYCNhzKULoeIiMiuGG7s7can5fvkzwHDRWVrqUGIrxYP3NAKAPDGphMwW9h6Q0RE7oPhxt5iBwAxAwCzCdj5rtLV1OjBm1ojwEuDU1mFWH/ggtLlEBER2Q3DTVOobL3Z9xFQ5JxDrv11GjxycxsAwKItJ2AqtyhcERERkX04RbhZvHgx4uLioNPpkJCQgD179tS6f15eHqZPn46IiAhotVq0b98e33//vYOqrYe2twER8UBZMbB7idLV1GjKgFi08NMiLbcEq/5IU7ocIiIiu1A83KxatQqzZs3C3LlzsX//fsTHx2PIkCHIysqqdn+TyYTbb78d586dw5o1a3D8+HF88MEHiIqKcnDltZCkK603u5cBpQZl66mBt6cHZgxqCwB4Z8tJlJaZFa6IiIjo+ikebhYuXIhp06Zh6tSp6Ny5M5YuXQpvb2+sWLGi2v1XrFiB3NxcrF+/HgMHDkRcXBxuvvlmxMfHO7jyOnQcCYS2B4z5wN4Pla6mRuP7RSMq0AtZBUZ8suuc0uUQERFdN0XDjclkwr59+5CUlGTdplKpkJSUhF27dlV7zLfffovExERMnz4der0eXbt2xb///W+YzdW3OhiNRhgMBpubQ6hUwA0V897sWgyYih3zuQ2k9VDjyaR2AIAlW0+joLRM4YqIiIiuj6LhJjs7G2azGXq93ma7Xq9HRkb186+cOXMGa9asgdlsxvfff48XX3wRb7zxBv7v//6v2v0XLFiAgIAA6y06Otru51GjbmOBwBigOBs48KnjPreB7uwZhdYtfHC5uAwrtp9TuhwiIqLrovhlqYayWCwICwvDsmXL0Lt3b4wbNw7PP/88li5dWu3+s2fPRn5+vvWWlubAjrNqDTDwSfnxjreBcpPjPrsBPNQqzLq9PQDgg21ncLnIOeskIiKqD0XDTWhoKNRqNTIzM222Z2ZmIjw8vNpjIiIi0L59e6jVauu2Tp06ISMjAyZT1T/KWq0W/v7+NjeH6vF3wFcPGM4Df65y7Gc3wPCuEegU4Y9CYzmW/nZa6XKIiIgaTdFw4+npid69e2PLli3WbRaLBVu2bEFiYmK1xwwcOBCnTp2CxXJlXpYTJ04gIiICnp6eTV5zg2l0QOIM+fH2NwGLc45IUqkkPDNYbr35eOc5ZBlKFa6IiIiocRS/LDVr1ix88MEH+Pjjj3H06FE8+uijKCoqwtSpUwEAkydPxuzZs637P/roo8jNzcWTTz6JEydOYMOGDfj3v/+N6dOnK3UKdetzP6ALBHJPA0fWK11NjW7tGIZeMYEoLbPg3V9OKV0OERFRoygebsaNG4fXX38dc+bMQY8ePZCcnIyNGzdaOxmnpqYiPT3dun90dDR+/PFH7N27F927d8cTTzyBJ598Es8995xSp1A3rS/Q/1H58baFgJOuxC1JEp4Z0gEA8NnuVHx70DnXxiIiIqqNJIST/qVtIgaDAQEBAcjPz3ds/5viXGBRN8BUCExYBXQY6rjPbqBnvjqINfvOQ5KAV0Z3w8SEGKVLIiKiZq4hf78Vb7lpNryD5ctTALDtdadtvQGA/97VHX/vHwMhgH+t+wtLf2UHYyIich0MN46UOANQa4Hze4Fz25WupkYqlYSXR3XFY7fIC2u++sMx/HfjMTSzRj4iInJRDDeO5KcHet0rP972urK11EGSJPxzaEc8O7QjAOC9rafx4jeHYLEw4BARkXNjuHG0gU8CKg/gzFbg/D6lq6nTo7e0wStjukKSgP/9nopZq5NRZrbUfSAREZFCGG4cLTAG6HaP/HjbG8rWUk+TEmKxaFwPeKgkrE++iEf/t48riBMRkdNiuFHCDU8BkIDjG4DMI0pXUy+jekRh2eTe0HqosPloFqZ+tBeFxnKlyyIiIqqC4UYJLdoDne+QH29fqGwtDXBrRz0+vr8ffLUe2HUmB5M++J3rUBERkdNhuFHKjU/L94e+BnLPKFtLA/RvHYLPpyUgyFuDg+fzMW7ZLmRyqQYiInIiDDdKiYgH2t4OCAuwfZHS1TRI95aBWP1wIvT+WpzILMTYpTuRmlOsdFlEREQAGG6UddMz8n3y54DBtZY6aKf3w5pHBiA2xBtpuSUYu3QnTmQWKF0WERERw42iYvoDsQMBSxmw8x2lq2mw6GBvfPVwIjro/ZBVYMQ97+/CwbQ8pcsiIqJmjuFGaZV9b/atBIqyFS2lMcL8dVj1cH/0iA5EXnEZJn7wO3aedr3zICIi98Fwo7Q2twIRPYCyYuD3JUpX0yiB3p747MEEDGgTgiKTGfd9tBebj2QqXRYRETVTDDdKk6QrfW/2fACU5itbTyP5aD2w4r6+uL2zHqZyCx7+3z6sP3BB6bKIiKgZYrhxBh1GAC06AsZ8YO+HSlfTaDqNGksm9cKdPaNgtgg8tToZn+46p3RZRETUzDDcOAOVCrhhlvx413uAyXWHVXuoVXj97nhMSYyFEMCL3xzG4l9OKV0WERE1Iww3zqLrXUBgLFCcDez/ROlqrotKJWHeHV3w+K1tAQCv/Xgcr/5wDEJwRXEiImp6DDfOQu0B3DBTfrzzbaDctZc1kCQJTw/ugOeHdwIALP31NJ5ffwhmCwMOERE1LYYbZxI/EfANBwwXgD+/VLoau5h2U2u8emc3SBLw+e5UzFyVjDKzRemyiIjIjTHcOBONDhjwuPx4+5uAxaxsPXYyvl8M3pnQExq1hP938CIe/nQfSsvc49yIiMj5MNw4m973AV5B8mKah9cpXY3d/K17JD6Y3Ac6jQo/H8vC5BV7UFBapnRZRETkhhhunI3WF+j/mPx420LAjTrh3tIhDJ8+kAA/rQf2nM3F+GW/c8FNIiKyO4YbZ9RvGuDpB2QdBk5sVLoau+obF4wvHuqPEB9PHL5owPC3t2Ht/vMcSUVERHbDcOOMvIKAvg/Ij3973a1abwCga1QAvpkxEH3jglBoLMes1Qfx5JfJMPAyFRER2QHDjbNKnA546IALfwBnf1O6GrtrGeSNL6b1x6zb20OtkvDtwYsYtmgb/jiXq3RpRETk4hhunJVvGNBrsvx42xvK1tJEPNQqPHFbO6x+OBHRwV64kFeCe97fhYWbTqCcw8WJiKiRGG6c2YAnAJUHcPZX4PwfSlfTZHrHBuH7J27EnT2jYBHA21tO4p73dyEtl52NiYio4RhunFlgNNB9vPzYTVtvKvnpNFg4rgfeGt8DfloP7E/Nw7C3tmHdgfNKl0ZERC6G4cbZ3TATgAQc/x7IPKx0NU1uVI8ofP/kjegTK3c2fmrVQTz55QF2NiYionpjuHF2oe2ALqPlx9sWKlqKo0QHe+PLh/pjZlI7qCTgm+SLGP4WOxsTEVH9MNy4ghtmyfeH1wI5p5WtxUE81CrMTGqPrx5JRMsgL5y/LHc2fpOdjYmIqA4MN64gojvQbgggLMCORUpX41C9Y4Px/ZM3YnSPSFgE8NaWkxi37Hd2NiYiohox3LiKG5+W75O/APIvKFuLg/nrNFg0vicWjesBX60H9qVcxvC3tmH9geb1cyAiovphuHEVMQlA3I2ApQzY+Y7S1ShidM8o/PDkjegVE4gCYzlmrkrGTHY2JiKiazDcuJIbK/re7F4CrLlfXjm8mYkO9sbqhxPx5G1yZ+P1FZ2N96WwszEREckYblxJ60FA32ny40NfA+/2BTY8DRRkKluXg3moVXjq9vZY/XAiogIrOxv/jkWb2dmYiIicJNwsXrwYcXFx0Ol0SEhIwJ49e2rcd+XKlZAkyeam0+kcWK2CJAkY8Trw8DagbRJgKQf2fgi83QP4+f+A0nylK3SoPnHB+GHmjRjVIxJmi8CizScxnp2NiYiaPcXDzapVqzBr1izMnTsX+/fvR3x8PIYMGYKsrKwaj/H390d6err1lpKS4sCKnUBEd+DvXwNTvgOi+gBlxcBvrwFv9QB2vguUlSpdocP46zR4a3xPvDkuHr5aD/xR0dn4m2R2NiYiaq4kIYRQsoCEhAT07dsX7777LgDAYrEgOjoajz/+OJ577rkq+69cuRIzZ85EXl5eoz7PYDAgICAA+fn58Pf3v57SnYMQwLHvgC0vAdkn5G3+LYFBs4H4CYBKrWx9DpSaU4wnVx3AgdQ8AMCYnlF4aVQX+Ok0yhZGRETXrSF/vxVtuTGZTNi3bx+SkpKs21QqFZKSkrBr164ajyssLERsbCyio6MxatQoHD7s/ssS1EiSgE4jgUd3AXe8C/hHAYbzwDfTgSUDgGMb5ADUDMSEeOOrhxPxREVn43UHLmDQ61sx4/P9+GjHWRxMy0MZ++QQEbk9DyU/PDs7G2azGXq93ma7Xq/HsWPHqj2mQ4cOWLFiBbp37478/Hy8/vrrGDBgAA4fPoyWLVtW2d9oNMJoNFqfGwwG+56Es1B7AL3uBbqNBfZ8IC+0eekY8OVEoGU/IGkeEDdQ6SqbnIdahVm3t8eN7UIx88tkXMgrwXd/puO7P9MBAFoPFbq3DECv2CD0ipFvLfy0CldNRET2pOhlqYsXLyIqKgo7d+5EYmKidfs///lP/Prrr9i9e3ed71FWVoZOnTphwoQJePnll6u8Pm/ePMyfP7/Kdre5LFWTkjxg59vArveA8hJ5W7vBwG1zgfCuipbmKKVlZuxLuYz9KZexP/Uy9qfmIb+k6pw40cFe6B0TZA08HcP94KFWvDsaERFdpSGXpRQNNyaTCd7e3lizZg1Gjx5t3T5lyhTk5eXhm2++qdf73H333fDw8MAXX3xR5bXqWm6io6PdP9xUKsgAfv0PsO9jQJgBSED3e4BB/wKC4pSuzqEsFoEz2UXYn3oZB1IvY1/KZZzMKqxy1c5Lo0Z8dIC1ZadXbBCCfTyVKZqIiAC4ULgB5A7F/fr1wzvvyLPuWiwWxMTEYMaMGdV2KL6W2WxGly5dMHz4cCxcWPeq2W7Xobi+ck7Lw8UPr5WfqzRAn/uBm/4B+LZQtjYFGUrLkJyaZ23ZOZB6GQWl5VX2axXqg54xgdbA0yHcD2qVpEDFRETNk0uFm1WrVmHKlCl4//330a9fPyxatAirV6/GsWPHoNfrMXnyZERFRWHBggUAgJdeegn9+/dH27ZtkZeXh9deew3r16/Hvn370Llz5zo/r9mGm0oXD8gjq07/LD/X+AADZgCJMwBdM/x5XMNiETh1qdB6KWtfymWcvlRUZT8fTzV6VISd/q1DkNg6BCqGHSKiJtOQv9+KdigGgHHjxuHSpUuYM2cOMjIy0KNHD2zcuNHayTg1NRUq1ZX+D5cvX8a0adOQkZGBoKAg9O7dGzt37qxXsCEAkT2Be9cBZ34FNs8DLu6XL1vt/VBuxelzP+DRfDvYqlQS2uv90F7vh/H9YgAAecUmHEjLw4GUK607RSYzdpzKwY5TOXjn51Nor/fFwze1wR09IqFhfx0iIkUp3nLjaM2+5eZqQgBHvgF+fhnIOSVvC4iR++N0v6dZzZHTEGaLwInMAmvLzk+HM1FolC9lRQbo8MCNrTG+bzR8tIr/vwMRkdtwqctSjsZwUw1zOZD8P2Drq0CBPGQaET2AiasAv3BFS3MF+SVl+Gx3ClZsP4fsQrnzeoCXBpMTY3HfgDiE+DbfljAiInthuKkFw00tTMXAnmXA9oXyOlXBrYHJ3wCBMUpX5hJKy8xYu/8Clv12Gudy5PWttB4q3NMnGtNubI2YEG+FKyQicl0MN7VguKmH3LPAJ3cAeanyUg6TvwFC2ypdlcswWwR+PJyBpb+exp/n5cVMVRIwonskHrm5NbpEBihcIRGR62G4qQXDTT3lXwA+GQXknAR8woDJ6wF9F6WrcilCCOw6nYMlv57GtpPZ1u03tW+BR25qjcQ2IZAkjrAiIqoPhptaMNw0QOEl4NMxQOZfgC4QuHctENVb6apc0qEL+Xj/tzPY8OdFWCp+4+JbBuDhm9tgSJdwzplDRFQHhptaMNw0UMll4LO7gfN7AU8/uZNxM1ijqqmk5hTjg21nsPqPNBjL5UU8W4X6YNqNrXFnryjoNByhRkRUHYabWjDcNIKxAPhiAnBuG+DhBYz/H9A2qe7jqEbZhUZ8vPMcPtmVYl3vqoWfFlMHxuHv/WPhr9MoXCERkXNhuKkFw00jlZUAq6cAJ3+Ul24YuwLofIfSVbm8ImM5vtybhuXbzuBifikAwFfrgUkJMbj/hlbQ++sUrpCIyDkw3NSC4eY6lJuAtdOAI+sBSQ2MXgLEj1O6KrdQZrbg2+SLeP+30ziRWQgA8FSrMKZnFB66uTXatPBVuEIiImUx3NSC4eY6WczAt48DyZ8BkIARbwB9H1C6KrdhsQj8cjwLS389jb3nLgMAJAm4vZMeExNicGO7Fux8TETNEsNNLRhu7MBiATY+K0/4BwC3vwwMfELZmtzQH+dysfTXM9h8NNO6LTJAh7G9W+LuPtGIDuakgETUfDDc1ILhxk6EkFcX375Qfn7zs8Ats+VmBrKrk5kF+Gx3KtYduGDtfAwAA9uG4J4+0RjSJZyjrIjI7THc1ILhxs62vSGHHADoPx0Y8goDThMpLTPjpyOZWL03DdtPXZkUMMBLg9E9InFP32jOfkxEbovhphYMN01g9/vAD/+UH/eaAvztTa4o3sTScovx1b7zWPNHmnWUFQB0jfLHuD7RuKNHFAK8OJyciNwHw00tGG6ayIH/yR2NhQXodrc8kkrNP65NzWwR2H4qG6v3puGnIxkoM8u/zloPFYZ1Dcc9faPRv1UIVOyETEQujuGmFgw3TejQWnmouKUc6DBCngtHw3laHCW3yIR1By5g9d40HM8ssG6PCfbGPX1aYmzvaIQH8PsgItfEcFMLhpsmduJHYNW9gNkItB4EjP8M8PRRuqpmRQiBg+fzsWpvGv7fwYsoNJYDkFcmv7l9C4zrG41bO+rh6aFSuFIiovpjuKkFw40DnPlVXq6hrAiI7g9MWg3o2NFVCcWmcnz/VwZW703DnnO51u0hPp64s1cUxvWNRtswPwUrJCKqH4abWjDcOEjaHuB/YwFjPhDRA/j7WsAnROmqmrUzlwqx+o/z+Hr/eVwqMFq394oJxLi+0fhb90j4aD0UrJCIqGYMN7VguHGg9D+BT8cAxdlAi47A5G8Av3Clq2r2yswWbD1+Cav2puGX41kwW+T/BKgkINDbE4FeGgR4axDgpUGglwaB3p7yY++Km5enzesBXhp4qHmJi4iaFsNNLRhuHOzSCeCTO4CCdCCoFTDlWyAwRumqqEKWoRRf77+A1X+k4Wx2UaPfx0/rgYAaws/V20J9tega5Q+tB6cKIKKGYbipBcONAnLPAp+MAvJSAP8oYPK3QGhbpauiqwghcKnAiLySMuQVlyGv2IS8kjLkF5chr8SEvOIy5JfIt7yrthWUljf4s3QaFfrGBWNg21AMbBOKzpH+XC+LiOrEcFMLhhuFGC7KASf7BOATBty7DgjvqnRVdJ3KzRYYSsuRV2ySg09lIKoIR7ahyITU3GJkF5ps3iPAS4MBbUIwoG0oBrYJQatQH0ic5ZqIrsFwUwuGGwUVZQOfjgYy/gJ0gcDdK4GQtoDKQ57wT6WWH6s0FfdqLuXgZoQQOJlViO0ns7HzdDZ+P5NrHapeKTJAJwedtiEY2CYUYf6cm4eIGG5qxXCjsJI84LO7gfN76rf/1WFH7VHLc/VVIcnjyk3rBwS3AoLbACFt5HvfMIYmJ1FutuDPC/nYcTIbO05nY39KHkxmi80+bcN8cUPbUAxoE4L+bULgr+PM10TNEcNNLRhunICxEPhmOnBqszybsbkMEGbHfb5nReAJaQMEt7YNPj6hDD4KKjGZ8UdKLrafysbOUzk4dDEfV/8XSiUB3VoG4oaKVp1esUFcEZ2omWC4qQXDjZMSQg46lWHHUg5YzICl7KptVz+v2Leu5yW5QM5pIPc0kHsGyEsDUMs/ea1/ReBpfSXwVN57BzP4OFhesQm/n8mxhp0z14zo0nqo0CcuyNo5uWtUADsnE7kphptaMNw0c+VG4PI528CTU3Gffx61Bh9dQNWWnpA2QGg7zsDsIOn5JdhxKgc7T2Vj+6lsZF01GSEA+Os80L91CPrGBaNXbCC6RAawZYfITTDc1ILhhmpUVgpcPnsl7OSevvLYcKHm41QeQLvBQPx4oP1QwEPruJqbMSEETl8qxI5TOdhxKhu7zuRUGZruqVaha5Q/esUEoXdsEHrFBkHPDspELonhphYMN9QopmK5xccaeE4DORUBqCD9yn66QKDrXUD8BKBlH17GcqByswWHLhrw+5kc7E+5jP2pl6sMOweAqEAv9I6tCDsxQegY4QcNZ1gmcnoMN7VguCG7yzoG/PklcHAVUHDxyvbgNnLI6X4PEBSrXH3NlBACqbnF2J96GftSLmNfSh6OZxhguea/eF4aNeKjA6607sQEIcjHU5miiahGDDe1YLihJmMxA2d/Aw5+CRz9FigrvvJa7A3yZavOowAd/90ppdBYjoNpedhX0bKzP+UyDNXMstw61Ae9rmrdaRfmCxU7KhMpiuGmFgw35BDGQuDo/wMOfiEHnsqOyh5eQKe/yUGn9SB5fh5SjMUi99u50rpzGacvVV1jy0/ngZ4xQegVE4jesUHo3jIQfloPBh4iB2K4qQXDDTlc/nngz1Vyi072iSvbfcOB7nfLl670XZSrj2zkFZtwIDXPGnYOns9Dsan6eZg0agkatQqeHir53vpYqrLNU62y3ddDqmbblf11GhU6hPujU4QfFxolAsNNrRhuSDFCABf3yyHnrzXyHDyVwrsB8ROBbmPlGZTJaZSbLTiWUWC9jLUv9TLScksc9vkatYTOEf6Ijw5EfMtA9IgJRKsQH7YaUbPDcFMLhhtyCuUm4NQmIPlz4MSP8uSDACCpgbZJ8mWrDsMBDYctO6NCYzlKy8woM1tQVi5gMpthKhcwmS0V2ywwVtxXbjOVW2AyiyvbKu5NV71HWcV7mMwWGErKcPiiAblFVUd8+ek8EN8yEPHRAXLgiQ7kGlzk9lwu3CxevBivvfYaMjIyEB8fj3feeQf9+vWr87gvv/wSEyZMwKhRo7B+/fp6fRbDDTmd4lzg0Ndyi86FP65s1wYAXUbLl61i+nNYeTMkhMD5yyVITstDcloeDqbl4a8L+TCWW6rsGxGgs7bsxLcMRLeWAfDVeihQNVHTcKlws2rVKkyePBlLly5FQkICFi1ahK+++grHjx9HWFjNzfPnzp3DDTfcgNatWyM4OJjhhtxD9kk55Py5CshPu7LdPwqI7Cn3zdF3AfRdgaA4dkhuhsrMFpzILMDBtHwcTMvDwfN5OJFZUGWIuyQB7cJ8K1p45NadDuGc04dcl0uFm4SEBPTt2xfvvvsuAMBisSA6OhqPP/44nnvuuWqPMZvNuOmmm3D//fdj27ZtyMvLY7gh92KxACnb5aBz5BvAVFh1Hw8vIKzTlbBTGXy8gx1frzsrNwKFmUBBJlCYARRkyN9HVG8gOsEpZqQuMpbjrwtXws7BtHxcyKvaL0jroULXqACbS1rRwd5cj4tcQkP+fivaZmkymbBv3z7Mnj3buk2lUiEpKQm7du2q8biXXnoJYWFheOCBB7Bt2zZHlErkWCoV0Oom+Tb8NeD8H0DWESDzEJB5GMg6CpSXyB2UL+63PdYvwraFJ6wzENoe8HDgxHRCAEYDUJQNFOdU3GcDpiLA0wfQ+lXcAq567Ad4+srn7gjGworQklERWjKrvy+5XPN7aLyB2AHysP42t8phU4HLhz5aeU2t/q1DrNuyCkrxZ1o+Dp6/cknLUFpuHQVmPQW1hMhAL0QHeSM62BvRwfLjmGD5eZC3BhIviZKLUTTcZGdnw2w2Q6/X22zX6/U4duxYtcds374dy5cvR3Jycr0+w2g0wmi8sriewWBodL1EivD0AVrfLN8qWcxA7tkrYSfzsPw4L0VeDqIgHTi1+cr+Kg8gtMNVoafi5hdRvz/GFrP8R74ypFSGlquDi02QybnSSbpBJNuwo/W3fa4LqOE1f3lyRK0foPYEii5VhJbMmu+raw2riUoD+IUDvnr5ptYAKTuBoiz551z5s/YNB1rfArQZJAceP32tb9uUwvx0SOqsQ1JnuQaLReBcTpG1ZSc5LQ9HLhpgMluQklOMlJziat/Hx1NdEXq8K0KPl81zL09eGiXn41K9zQoKCnDvvffigw8+QGhoaL2OWbBgAebPn9/ElRE5mEoNhLaVb11GX9luLJBbdWxCzxHAmA9kHZZvf131Pl5BV1p3AmOA0ryrwkpFeCnOljs917Ziek00PoB3COATAniHAlpfeZ0uY0HFLV++LzUAwix/htEg3xxB4yMHEN/wWu7D5Z/TtSFQCPnne+YX4PQvctgpzJCX4vjzS3mfsC5Xgk7sAMDT2zHnVQ2VSkLrFr5o3cIXY3q2BACYLQKZhlKk5hYjLbcYaZdL5PvcYqRdLkamwYgikxnHMgpwLKOg2vcN9dVe09pzpRUoIkAHD/bxIQUo2ufGZDLB29sba9aswejRo63bp0yZgry8PHzzzTc2+ycnJ6Nnz55Qq6/8n4LFIo8aUKlUOH78ONq0aWNzTHUtN9HR0exzQ82HEPJEgpWtO1lH5MfZJysCRQPoAgGfUDmweIdeCS0+ofL91UHGJxTQeNW/xvJSOeQYCyoCztX3FY9Lr35ezX6VIUkXeKWlpdr7ivCi9WvoT7NmZaVA2u9y0DnzC5B+0PZ1tac86q31IDnwhMc77hJcI5WWmXH+cgnSLhfjfG5xRQiSn6fmFldZhf1aapWEiAAddBo11JIElUqCWoUrj6+6V6sqHwOqmrZX2SY/9lBJ6B4diFs6tIC/TuOgnw45mst1KO7Xrx/eeecdAHJYiYmJwYwZM6p0KC4tLcWpU6dstr3wwgsoKCjAW2+9hfbt28PTs/Z+BexQTFShrBTIPn6lhacgXW6hsIaVENsg4x0sX45xZkIAlnLnqLMoBzi7FTj9M3B6K2A4b/u6V7DtJazAaAWKvD75xWXWoFPZ2pOaW4LzucU4f7kEJnPVIetNSaOWkNgmFIM763F7Zz30nPvHrbhUuFm1ahWmTJmC999/H/369cOiRYuwevVqHDt2DHq9HpMnT0ZUVBQWLFhQ7fH33XcfR0sRkXMTAsg5JbfqnP4ZOLetap+fkLZyp+TWg4C4G1x+gVWLRSCzoBQX80pgLLfAYgEsQsAsBCwWAbNFyM8tsNlmfWyzTZ7zx+b1q44rNJZj28lLVdYF6xEdiMFd9BjcORxtw3wV+kmQvbjMaCkAGDduHC5duoQ5c+YgIyMDPXr0wMaNG62djFNTU6Fy8qZbIqJaSRIQ2k6+JTwEmMvkEXCV/XUu/CGHn5xTwJ5l8kzVLfvIo9wCY67cAqIB/0iXmN9IpZIQEeCFiIB6Xpq0g1NZhdh0JBM/HcnAgdQ86+SH/914HK1DfXB7RdDpGR3I5SvcnOItN47GlhsicjoleXJrTmV/ndwzNe+r8pAndbw69FQGn8AY+TW1A/6/1VQkjzorzLpyXzkS7eptxdnyEH/vkKtuwbU8D5anCLjO/6nNMpRi09FM/HQ4EztPZ6PMfOVPXQs/LZI66TG4ix4D2oTUvDCpuUxuYTMVA2XF8qjBWtXx57Q+f269AgGfMMd8hy7GpS5LORrDDRE5vcvngNTd8tD+vBQgLxXIS5M7htc1xF5Sy60714aewBi5X49/y5rnPDKXy2Hk6oBSkGEbVirvTdWPnrILSV018NiEoWu2ewXJwaMyiJiKgLIi+d5UhNJiA06dz8LZ9CxkXMqBh7kE3jDCRyqFr8qESG8zwrTl8FOZoC4vth7XuOkMrp+QVJB89fJUDX4RgH/lfaTtNq1/s1qWheGmFgw3ROSyLGY5bOSlystzXB18KreZqy60aUuS/0gGRMt/IEsNV0JL0SU0aMi/h5e8ir1fuHxfOQ/Q1Y+9Q+RWj8p5kay33Oq3NWT+IUdRaeRh/Kr6tKbIYUNA7idkEXJfI4sQsFgA89XPKx5bPwYCASiCh1TPjtganyvBxxqCIm23+YU7Rwd7O2C4qQXDDRG5LYtFnlgwL7X6W36aPOS+NpIK8GlRTVipJsBo/ezfclBWCpTkVhOCaghDxdlXzkmtlSe9rLxpvKt57lvx3BsWjQ/OF0k4kFGGPedLcSoPKIZWvgkdWkW2wI1d4pDUtSXahvlaZ2ouMZmRYShFRn4pMg2lVR5n5pciq8CI8msX/KqBt6ca4f46hPpqcTG3AEZDFsKlywiXcqGXLkMvXUaElItWWgOi1HkIMudAW17fljNJ/j6vDjxaPznwqD3lwKb2rHiukYPc1c/VnhXbNPU4xsN2fzv/22C4qQXDDRE1W0LIrTOVYacgQ571+erWFp9Ql+iwbKOspOIP6vX1Uzl9Se6QvOlIJvanXrbpIhMb4g1PtQqZhlIY6pjfp5IkyZMchvvroPfXITzg6sc6+XGADn5aD5slLi4VGHHoQj7+PJ+Pvy7k4eD5fFwqMNq8txdKEanKQ9+QUvQMLEF77yJEa/IQbM6BqnKW8oJ0eWoEJfi0AP5xqu79GoDhphYMN0REVJesglJsOZqFnw5nYMepnCpz9lS2tlQGFb2/DuH+2iuPA+SWGHutwp5pKJXDznk57Px1IR+5RVUvQXqqVegU4YduLQPQPdIfPVuY0UpjgEdRBlBwsWLh1yI59JhNFbeKx5YyuRO1uazieV37lFU8N1UNUf5RwKwjdjn3Sgw3tWC4ISKihig0lmPP2Rxo1KoaW1scTQiBC3kl+Ot8Pv68kC/fn8+rtlVJp1GhS2QAukUFoHvLAMSGeCPUV4sQXy18PNX2OQ8hrgpFZfIlUp+Quo9rAIabWjDcEBGROxJCIDW3uOJylhx2Dl0woNBY86UprYeqIuh4IsTHEyEVj0N9Krb5ahHi44lQXy2CfTzh6aHcvHMMN7VguCEioubCYhE4m1NU0bKTj0MX8pFuKEFOoQnFpgauLQfAX+dxVRjSItSv4v6qIBTiKz8P9K59OaSGYripBcMNERERUGwqR06hCTlFJuQUGpFTaEJ2UcV94VX3RSbkFplgrufoLwDw03ngr3lD7FqvSy2/QERERI7n7ekB72APRAd717mvxSKQX1KGnCIjsgtNFaGo8rHRGoZyiuRAFOqrdcAZ1IzhhoiIiGqlUkkI8vFEkI8n2obVvX+5g1eEvxZXpCQiIiK78rDTEPjGYrghIiIit8JwQ0RERG6F4YaIiIjcCsMNERERuRWGGyIiInIrDDdERETkVhhuiIiIyK0w3BAREZFbYbghIiIit8JwQ0RERG6F4YaIiIjcCsMNERERuRWGGyIiInIrHkoX4GhCCACAwWBQuBIiIiKqr8q/25V/x2vT7MJNQUEBACA6OlrhSoiIiKihCgoKEBAQUOs+kqhPBHIjFosFFy9ehJ+fHyRJUrochzAYDIiOjkZaWhr8/f2VLsdhmut5A8333JvreQM89+Z47s3tvIUQKCgoQGRkJFSq2nvVNLuWG5VKhZYtWypdhiL8/f2bxS/AtZrreQPN99yb63kDPPfmeO7N6bzrarGpxA7FRERE5FYYboiIiMitMNw0A1qtFnPnzoVWq1W6FIdqrucNNN9zb67nDfDcm+O5N9fzro9m16GYiIiI3BtbboiIiMitMNwQERGRW2G4ISIiIrfCcENERERuheHGxS1YsAB9+/aFn58fwsLCMHr0aBw/frzWY1auXAlJkmxuOp3OQRXbx7x586qcQ8eOHWs95quvvkLHjh2h0+nQrVs3fP/99w6q1r7i4uKqnLskSZg+fXq1+7vy9/3bb79h5MiRiIyMhCRJWL9+vc3rQgjMmTMHERER8PLyQlJSEk6ePFnn+y5evBhxcXHQ6XRISEjAnj17mugMGqe28y4rK8Ozzz6Lbt26wcfHB5GRkZg8eTIuXrxY63s25ndGCXV95/fdd1+V8xg6dGid7+vK3zmAan/nJUnCa6+9VuN7usp33hQYblzcr7/+iunTp+P333/Hpk2bUFZWhsGDB6OoqKjW4/z9/ZGenm69paSkOKhi++nSpYvNOWzfvr3GfXfu3IkJEybggQcewIEDBzB69GiMHj0ahw4dcmDF9rF3716b8960aRMA4O67767xGFf9vouKihAfH4/FixdX+/p///tfvP3221i6dCl2794NHx8fDBkyBKWlpTW+56pVqzBr1izMnTsX+/fvR3x8PIYMGYKsrKymOo0Gq+28i4uLsX//frz44ovYv38/1q5di+PHj+OOO+6o830b8jujlLq+cwAYOnSozXl88cUXtb6nq3/nAGzONz09HStWrIAkSbjrrrtqfV9X+M6bhCC3kpWVJQCIX3/9tcZ9PvroIxEQEOC4oprA3LlzRXx8fL33v+eee8SIESNstiUkJIiHH37YzpU53pNPPinatGkjLBZLta+7w/cthBAAxLp166zPLRaLCA8PF6+99pp1W15entBqteKLL76o8X369esnpk+fbn1uNptFZGSkWLBgQZPUfb2uPe/q7NmzRwAQKSkpNe7T0N8ZZ1DduU+ZMkWMGjWqQe/jjt/5qFGjxK233lrrPq74ndsLW27cTH5+PgAgODi41v0KCwsRGxuL6OhojBo1CocPH3ZEeXZ18uRJREZGonXr1pg0aRJSU1Nr3HfXrl1ISkqy2TZkyBDs2rWrqctsUiaTCf/73/9w//3317oQrDt839c6e/YsMjIybL7XgIAAJCQk1Pi9mkwm7Nu3z+YYlUqFpKQkl/63kJ+fD0mSEBgYWOt+DfmdcWZbt25FWFgYOnTogEcffRQ5OTk17uuO33lmZiY2bNiABx54oM593eU7byiGGzdisVgwc+ZMDBw4EF27dq1xvw4dOmDFihX45ptv8L///Q8WiwUDBgzA+fPnHVjt9UlISMDKlSuxceNGLFmyBGfPnsWNN96IgoKCavfPyMiAXq+32abX65GRkeGIcpvM+vXrkZeXh/vuu6/Gfdzh+65O5XfXkO81OzsbZrPZrf4tlJaW4tlnn8WECRNqXTyxob8zzmro0KH45JNPsGXLFvznP//Br7/+imHDhsFsNle7vzt+5x9//DH8/Pxw55131rqfu3znjdHsVgV3Z9OnT8ehQ4fqvKaamJiIxMRE6/MBAwagU6dOeP/99/Hyyy83dZl2MWzYMOvj7t27IyEhAbGxsVi9enW9/m/GXSxfvhzDhg1DZGRkjfu4w/dN1SsrK8M999wDIQSWLFlS677u8jszfvx46+Nu3bqhe/fuaNOmDbZu3YrbbrtNwcocZ8WKFZg0aVKdAwPc5TtvDLbcuIkZM2bgu+++wy+//IKWLVs26FiNRoOePXvi1KlTTVRd0wsMDET79u1rPIfw8HBkZmbabMvMzER4eLgjymsSKSkp2Lx5Mx588MEGHecO3zcA63fXkO81NDQUarXaLf4tVAablJQUbNq0qdZWm+rU9TvjKlq3bo3Q0NAaz8OdvnMA2LZtG44fP97g33vAfb7z+mC4cXFCCMyYMQPr1q3Dzz//jFatWjX4PcxmM/766y9EREQ0QYWOUVhYiNOnT9d4DomJidiyZYvNtk2bNtm0aLiajz76CGFhYRgxYkSDjnOH7xsAWrVqhfDwcJvv1WAwYPfu3TV+r56enujdu7fNMRaLBVu2bHGpfwuVwebkyZPYvHkzQkJCGvwedf3OuIrz588jJyenxvNwl++80vLly9G7d2/Ex8c3+Fh3+c7rRekezXR9Hn30UREQECC2bt0q0tPTrbfi4mLrPvfee6947rnnrM/nz58vfvzxR3H69Gmxb98+MX78eKHT6cThw4eVOIVGefrpp8XWrVvF2bNnxY4dO0RSUpIIDQ0VWVlZQoiq57xjxw7h4eEhXn/9dXH06FExd+5codFoxF9//aXUKVwXs9ksYmJixLPPPlvlNXf6vgsKCsSBAwfEgQMHBACxcOFCceDAAeuooFdffVUEBgaKb775Rvz5559i1KhRolWrVqKkpMT6Hrfeeqt45513rM+//PJLodVqxcqVK8WRI0fEQw89JAIDA0VGRobDz68mtZ23yWQSd9xxh2jZsqVITk62+b03Go3W97j2vOv6nXEWtZ17QUGBeOaZZ8SuXbvE2bNnxebNm0WvXr1Eu3btRGlpqfU93O07r5Sfny+8vb3FkiVLqn0PV/3OmwLDjYsDUO3to48+su5z8803iylTplifz5w5U8TExAhPT0+h1+vF8OHDxf79+x1f/HUYN26ciIiIEJ6eniIqKkqMGzdOnDp1yvr6tecshBCrV68W7du3F56enqJLly5iw4YNDq7afn788UcBQBw/frzKa+70ff/yyy/V/vuuPD+LxSJefPFFodfrhVarFbfddluVn0lsbKyYO3euzbZ33nnH+jPp16+f+P333x10RvVT23mfPXu2xt/7X375xfoe1553Xb8zzqK2cy8uLhaDBw8WLVq0EBqNRsTGxopp06ZVCSnu9p1Xev/994WXl5fIy8ur9j1c9TtvCpIQQjRp0xARERGRA7HPDREREbkVhhsiIiJyKww3RERE5FYYboiIiMitMNwQERGRW2G4ISIiIrfCcENERERuheGGiAiAJElYv3690mUQkR0w3BCR4u677z5IklTlNnToUKVLIyIX5KF0AUREADB06FB89NFHNtu0Wq1C1RCRK2PLDRE5Ba1Wi/DwcJtbUFAQAPmS0ZIlSzBs2DB4eXmhdevWWLNmjc3xf/31F2699VZ4eXkhJCQEDz30EAoLC232WbFiBbp06QKtVouIiAjMmDHD5vXs7GyMGTMG3t7eaNeuHb799tumPWkiahIMN0TkEl588UXcddddOHjwICZNmoTx48fj6NGjAICioiIMGTIEQUFB2Lt3L7766its3rzZJrwsWbIE06dPx0MPPYS//voL3377Ldq2bWvzGfPnz8c999yDP//8E8OHD8ekSZOQm5vr0PMkIjtQeuVOIqIpU6YItVotfHx8bG6vvPKKEEIIAOKRRx6xOSYhIUE8+uijQgghli1bJoKCgkRhYaH19Q0bNgiVSmVdMToyMlI8//zzNdYAQLzwwgvW54WFhQKA+OGHH+x2nkTkGOxzQ0ROYdCgQViyZInNtuDgYOvjxMREm9cSExORnJwMADh69Cji4+Ph4+NjfX3gwIGwWCw4fvw4JEnCxYsXcdttt9VaQ/fu3a2PfXx84O/vj6ysrMaeEhEphOGGiJyCj49PlctE9uLl5VWv/TQajc1zSZJgsViaoiQiakLsc0NELuH333+v8rxTp04AgE6dOuHgwYMoKiqyvr5jxw6oVCp06NABfn5+iIuLw5YtWxxaMxEpgy03ROQUjEYjMjIybLZ5eHggNDQUAPDVV1+hT58+uOGGG/DZZ59hz549WL58OQBg0qRJmDt3LqZMmYJ58+bh0qVLePzxx3HvvfdCr9cDAObNm4dHHnkEYWFhGDZsGAoKCrBjxw48/vjjjj1RImpyDDdE5BQ2btyIiIgIm20dOnTAsWPHAMgjmb788ks89thjiIiIwBdffIHOnTsDALy9vfHjjz/iySefRN++feHt7Y277roLCxcutL7XlClTUFpaijfffBPPPPMMQkNDMXbsWMedIBE5jCSEEEoXQURUG0mSsG7dOowePVrpUojIBbDPDREREbkVhhsiIiJyK+xzQ0ROj1fPiagh2HJDREREboXhhoiIiNwKww0RERG5FYYbIiIicisMN0RERORWGG6IiIjIrTDcEBERkVthuCEiIiK3wnBDREREbuX/A5WUnULSRwHxAAAAAElFTkSuQmCC\n" |
|
|
2485 |
}, |
|
|
2486 |
"metadata": {} |
|
|
2487 |
} |
|
|
2488 |
] |
|
|
2489 |
}, |
|
|
2490 |
{ |
|
|
2491 |
"cell_type": "code", |
|
|
2492 |
"source": [ |
|
|
2493 |
"data = {\"real values\" : y_test, \"predicted values\" : y_pred}\n", |
|
|
2494 |
"comparism = pd.DataFrame(data)\n", |
|
|
2495 |
"comparism.head(10)" |
|
|
2496 |
], |
|
|
2497 |
"metadata": { |
|
|
2498 |
"colab": { |
|
|
2499 |
"base_uri": "https://localhost:8080/", |
|
|
2500 |
"height": 363 |
|
|
2501 |
}, |
|
|
2502 |
"id": "T8q2_7WMpR9Q", |
|
|
2503 |
"outputId": "d31164aa-9a87-4c5e-dbf8-a124352301f6" |
|
|
2504 |
}, |
|
|
2505 |
"execution_count": 79, |
|
|
2506 |
"outputs": [ |
|
|
2507 |
{ |
|
|
2508 |
"output_type": "execute_result", |
|
|
2509 |
"data": { |
|
|
2510 |
"text/plain": [ |
|
|
2511 |
" real values predicted values\n", |
|
|
2512 |
"0 5 1\n", |
|
|
2513 |
"1 1 1\n", |
|
|
2514 |
"2 6 6\n", |
|
|
2515 |
"3 3 3\n", |
|
|
2516 |
"4 5 5\n", |
|
|
2517 |
"5 4 4\n", |
|
|
2518 |
"6 1 1\n", |
|
|
2519 |
"7 2 5\n", |
|
|
2520 |
"8 4 4\n", |
|
|
2521 |
"9 4 4" |
|
|
2522 |
], |
|
|
2523 |
"text/html": [ |
|
|
2524 |
"\n", |
|
|
2525 |
" <div id=\"df-7397f5c0-5828-4fe1-91e2-ae0b1b0934f8\" class=\"colab-df-container\">\n", |
|
|
2526 |
" <div>\n", |
|
|
2527 |
"<style scoped>\n", |
|
|
2528 |
" .dataframe tbody tr th:only-of-type {\n", |
|
|
2529 |
" vertical-align: middle;\n", |
|
|
2530 |
" }\n", |
|
|
2531 |
"\n", |
|
|
2532 |
" .dataframe tbody tr th {\n", |
|
|
2533 |
" vertical-align: top;\n", |
|
|
2534 |
" }\n", |
|
|
2535 |
"\n", |
|
|
2536 |
" .dataframe thead th {\n", |
|
|
2537 |
" text-align: right;\n", |
|
|
2538 |
" }\n", |
|
|
2539 |
"</style>\n", |
|
|
2540 |
"<table border=\"1\" class=\"dataframe\">\n", |
|
|
2541 |
" <thead>\n", |
|
|
2542 |
" <tr style=\"text-align: right;\">\n", |
|
|
2543 |
" <th></th>\n", |
|
|
2544 |
" <th>real values</th>\n", |
|
|
2545 |
" <th>predicted values</th>\n", |
|
|
2546 |
" </tr>\n", |
|
|
2547 |
" </thead>\n", |
|
|
2548 |
" <tbody>\n", |
|
|
2549 |
" <tr>\n", |
|
|
2550 |
" <th>0</th>\n", |
|
|
2551 |
" <td>5</td>\n", |
|
|
2552 |
" <td>1</td>\n", |
|
|
2553 |
" </tr>\n", |
|
|
2554 |
" <tr>\n", |
|
|
2555 |
" <th>1</th>\n", |
|
|
2556 |
" <td>1</td>\n", |
|
|
2557 |
" <td>1</td>\n", |
|
|
2558 |
" </tr>\n", |
|
|
2559 |
" <tr>\n", |
|
|
2560 |
" <th>2</th>\n", |
|
|
2561 |
" <td>6</td>\n", |
|
|
2562 |
" <td>6</td>\n", |
|
|
2563 |
" </tr>\n", |
|
|
2564 |
" <tr>\n", |
|
|
2565 |
" <th>3</th>\n", |
|
|
2566 |
" <td>3</td>\n", |
|
|
2567 |
" <td>3</td>\n", |
|
|
2568 |
" </tr>\n", |
|
|
2569 |
" <tr>\n", |
|
|
2570 |
" <th>4</th>\n", |
|
|
2571 |
" <td>5</td>\n", |
|
|
2572 |
" <td>5</td>\n", |
|
|
2573 |
" </tr>\n", |
|
|
2574 |
" <tr>\n", |
|
|
2575 |
" <th>5</th>\n", |
|
|
2576 |
" <td>4</td>\n", |
|
|
2577 |
" <td>4</td>\n", |
|
|
2578 |
" </tr>\n", |
|
|
2579 |
" <tr>\n", |
|
|
2580 |
" <th>6</th>\n", |
|
|
2581 |
" <td>1</td>\n", |
|
|
2582 |
" <td>1</td>\n", |
|
|
2583 |
" </tr>\n", |
|
|
2584 |
" <tr>\n", |
|
|
2585 |
" <th>7</th>\n", |
|
|
2586 |
" <td>2</td>\n", |
|
|
2587 |
" <td>5</td>\n", |
|
|
2588 |
" </tr>\n", |
|
|
2589 |
" <tr>\n", |
|
|
2590 |
" <th>8</th>\n", |
|
|
2591 |
" <td>4</td>\n", |
|
|
2592 |
" <td>4</td>\n", |
|
|
2593 |
" </tr>\n", |
|
|
2594 |
" <tr>\n", |
|
|
2595 |
" <th>9</th>\n", |
|
|
2596 |
" <td>4</td>\n", |
|
|
2597 |
" <td>4</td>\n", |
|
|
2598 |
" </tr>\n", |
|
|
2599 |
" </tbody>\n", |
|
|
2600 |
"</table>\n", |
|
|
2601 |
"</div>\n", |
|
|
2602 |
" <div class=\"colab-df-buttons\">\n", |
|
|
2603 |
"\n", |
|
|
2604 |
" <div class=\"colab-df-container\">\n", |
|
|
2605 |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-7397f5c0-5828-4fe1-91e2-ae0b1b0934f8')\"\n", |
|
|
2606 |
" title=\"Convert this dataframe to an interactive table.\"\n", |
|
|
2607 |
" style=\"display:none;\">\n", |
|
|
2608 |
"\n", |
|
|
2609 |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n", |
|
|
2610 |
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n", |
|
|
2611 |
" </svg>\n", |
|
|
2612 |
" </button>\n", |
|
|
2613 |
"\n", |
|
|
2614 |
" <style>\n", |
|
|
2615 |
" .colab-df-container {\n", |
|
|
2616 |
" display:flex;\n", |
|
|
2617 |
" gap: 12px;\n", |
|
|
2618 |
" }\n", |
|
|
2619 |
"\n", |
|
|
2620 |
" .colab-df-convert {\n", |
|
|
2621 |
" background-color: #E8F0FE;\n", |
|
|
2622 |
" border: none;\n", |
|
|
2623 |
" border-radius: 50%;\n", |
|
|
2624 |
" cursor: pointer;\n", |
|
|
2625 |
" display: none;\n", |
|
|
2626 |
" fill: #1967D2;\n", |
|
|
2627 |
" height: 32px;\n", |
|
|
2628 |
" padding: 0 0 0 0;\n", |
|
|
2629 |
" width: 32px;\n", |
|
|
2630 |
" }\n", |
|
|
2631 |
"\n", |
|
|
2632 |
" .colab-df-convert:hover {\n", |
|
|
2633 |
" background-color: #E2EBFA;\n", |
|
|
2634 |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", |
|
|
2635 |
" fill: #174EA6;\n", |
|
|
2636 |
" }\n", |
|
|
2637 |
"\n", |
|
|
2638 |
" .colab-df-buttons div {\n", |
|
|
2639 |
" margin-bottom: 4px;\n", |
|
|
2640 |
" }\n", |
|
|
2641 |
"\n", |
|
|
2642 |
" [theme=dark] .colab-df-convert {\n", |
|
|
2643 |
" background-color: #3B4455;\n", |
|
|
2644 |
" fill: #D2E3FC;\n", |
|
|
2645 |
" }\n", |
|
|
2646 |
"\n", |
|
|
2647 |
" [theme=dark] .colab-df-convert:hover {\n", |
|
|
2648 |
" background-color: #434B5C;\n", |
|
|
2649 |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", |
|
|
2650 |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", |
|
|
2651 |
" fill: #FFFFFF;\n", |
|
|
2652 |
" }\n", |
|
|
2653 |
" </style>\n", |
|
|
2654 |
"\n", |
|
|
2655 |
" <script>\n", |
|
|
2656 |
" const buttonEl =\n", |
|
|
2657 |
" document.querySelector('#df-7397f5c0-5828-4fe1-91e2-ae0b1b0934f8 button.colab-df-convert');\n", |
|
|
2658 |
" buttonEl.style.display =\n", |
|
|
2659 |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", |
|
|
2660 |
"\n", |
|
|
2661 |
" async function convertToInteractive(key) {\n", |
|
|
2662 |
" const element = document.querySelector('#df-7397f5c0-5828-4fe1-91e2-ae0b1b0934f8');\n", |
|
|
2663 |
" const dataTable =\n", |
|
|
2664 |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", |
|
|
2665 |
" [key], {});\n", |
|
|
2666 |
" if (!dataTable) return;\n", |
|
|
2667 |
"\n", |
|
|
2668 |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", |
|
|
2669 |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", |
|
|
2670 |
" + ' to learn more about interactive tables.';\n", |
|
|
2671 |
" element.innerHTML = '';\n", |
|
|
2672 |
" dataTable['output_type'] = 'display_data';\n", |
|
|
2673 |
" await google.colab.output.renderOutput(dataTable, element);\n", |
|
|
2674 |
" const docLink = document.createElement('div');\n", |
|
|
2675 |
" docLink.innerHTML = docLinkHtml;\n", |
|
|
2676 |
" element.appendChild(docLink);\n", |
|
|
2677 |
" }\n", |
|
|
2678 |
" </script>\n", |
|
|
2679 |
" </div>\n", |
|
|
2680 |
"\n", |
|
|
2681 |
"\n", |
|
|
2682 |
"<div id=\"df-af6dcf37-0658-4284-9846-b481bd5c4b7d\">\n", |
|
|
2683 |
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-af6dcf37-0658-4284-9846-b481bd5c4b7d')\"\n", |
|
|
2684 |
" title=\"Suggest charts\"\n", |
|
|
2685 |
" style=\"display:none;\">\n", |
|
|
2686 |
"\n", |
|
|
2687 |
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", |
|
|
2688 |
" width=\"24px\">\n", |
|
|
2689 |
" <g>\n", |
|
|
2690 |
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n", |
|
|
2691 |
" </g>\n", |
|
|
2692 |
"</svg>\n", |
|
|
2693 |
" </button>\n", |
|
|
2694 |
"\n", |
|
|
2695 |
"<style>\n", |
|
|
2696 |
" .colab-df-quickchart {\n", |
|
|
2697 |
" --bg-color: #E8F0FE;\n", |
|
|
2698 |
" --fill-color: #1967D2;\n", |
|
|
2699 |
" --hover-bg-color: #E2EBFA;\n", |
|
|
2700 |
" --hover-fill-color: #174EA6;\n", |
|
|
2701 |
" --disabled-fill-color: #AAA;\n", |
|
|
2702 |
" --disabled-bg-color: #DDD;\n", |
|
|
2703 |
" }\n", |
|
|
2704 |
"\n", |
|
|
2705 |
" [theme=dark] .colab-df-quickchart {\n", |
|
|
2706 |
" --bg-color: #3B4455;\n", |
|
|
2707 |
" --fill-color: #D2E3FC;\n", |
|
|
2708 |
" --hover-bg-color: #434B5C;\n", |
|
|
2709 |
" --hover-fill-color: #FFFFFF;\n", |
|
|
2710 |
" --disabled-bg-color: #3B4455;\n", |
|
|
2711 |
" --disabled-fill-color: #666;\n", |
|
|
2712 |
" }\n", |
|
|
2713 |
"\n", |
|
|
2714 |
" .colab-df-quickchart {\n", |
|
|
2715 |
" background-color: var(--bg-color);\n", |
|
|
2716 |
" border: none;\n", |
|
|
2717 |
" border-radius: 50%;\n", |
|
|
2718 |
" cursor: pointer;\n", |
|
|
2719 |
" display: none;\n", |
|
|
2720 |
" fill: var(--fill-color);\n", |
|
|
2721 |
" height: 32px;\n", |
|
|
2722 |
" padding: 0;\n", |
|
|
2723 |
" width: 32px;\n", |
|
|
2724 |
" }\n", |
|
|
2725 |
"\n", |
|
|
2726 |
" .colab-df-quickchart:hover {\n", |
|
|
2727 |
" background-color: var(--hover-bg-color);\n", |
|
|
2728 |
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n", |
|
|
2729 |
" fill: var(--button-hover-fill-color);\n", |
|
|
2730 |
" }\n", |
|
|
2731 |
"\n", |
|
|
2732 |
" .colab-df-quickchart-complete:disabled,\n", |
|
|
2733 |
" .colab-df-quickchart-complete:disabled:hover {\n", |
|
|
2734 |
" background-color: var(--disabled-bg-color);\n", |
|
|
2735 |
" fill: var(--disabled-fill-color);\n", |
|
|
2736 |
" box-shadow: none;\n", |
|
|
2737 |
" }\n", |
|
|
2738 |
"\n", |
|
|
2739 |
" .colab-df-spinner {\n", |
|
|
2740 |
" border: 2px solid var(--fill-color);\n", |
|
|
2741 |
" border-color: transparent;\n", |
|
|
2742 |
" border-bottom-color: var(--fill-color);\n", |
|
|
2743 |
" animation:\n", |
|
|
2744 |
" spin 1s steps(1) infinite;\n", |
|
|
2745 |
" }\n", |
|
|
2746 |
"\n", |
|
|
2747 |
" @keyframes spin {\n", |
|
|
2748 |
" 0% {\n", |
|
|
2749 |
" border-color: transparent;\n", |
|
|
2750 |
" border-bottom-color: var(--fill-color);\n", |
|
|
2751 |
" border-left-color: var(--fill-color);\n", |
|
|
2752 |
" }\n", |
|
|
2753 |
" 20% {\n", |
|
|
2754 |
" border-color: transparent;\n", |
|
|
2755 |
" border-left-color: var(--fill-color);\n", |
|
|
2756 |
" border-top-color: var(--fill-color);\n", |
|
|
2757 |
" }\n", |
|
|
2758 |
" 30% {\n", |
|
|
2759 |
" border-color: transparent;\n", |
|
|
2760 |
" border-left-color: var(--fill-color);\n", |
|
|
2761 |
" border-top-color: var(--fill-color);\n", |
|
|
2762 |
" border-right-color: var(--fill-color);\n", |
|
|
2763 |
" }\n", |
|
|
2764 |
" 40% {\n", |
|
|
2765 |
" border-color: transparent;\n", |
|
|
2766 |
" border-right-color: var(--fill-color);\n", |
|
|
2767 |
" border-top-color: var(--fill-color);\n", |
|
|
2768 |
" }\n", |
|
|
2769 |
" 60% {\n", |
|
|
2770 |
" border-color: transparent;\n", |
|
|
2771 |
" border-right-color: var(--fill-color);\n", |
|
|
2772 |
" }\n", |
|
|
2773 |
" 80% {\n", |
|
|
2774 |
" border-color: transparent;\n", |
|
|
2775 |
" border-right-color: var(--fill-color);\n", |
|
|
2776 |
" border-bottom-color: var(--fill-color);\n", |
|
|
2777 |
" }\n", |
|
|
2778 |
" 90% {\n", |
|
|
2779 |
" border-color: transparent;\n", |
|
|
2780 |
" border-bottom-color: var(--fill-color);\n", |
|
|
2781 |
" }\n", |
|
|
2782 |
" }\n", |
|
|
2783 |
"</style>\n", |
|
|
2784 |
"\n", |
|
|
2785 |
" <script>\n", |
|
|
2786 |
" async function quickchart(key) {\n", |
|
|
2787 |
" const quickchartButtonEl =\n", |
|
|
2788 |
" document.querySelector('#' + key + ' button');\n", |
|
|
2789 |
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n", |
|
|
2790 |
" quickchartButtonEl.classList.add('colab-df-spinner');\n", |
|
|
2791 |
" try {\n", |
|
|
2792 |
" const charts = await google.colab.kernel.invokeFunction(\n", |
|
|
2793 |
" 'suggestCharts', [key], {});\n", |
|
|
2794 |
" } catch (error) {\n", |
|
|
2795 |
" console.error('Error during call to suggestCharts:', error);\n", |
|
|
2796 |
" }\n", |
|
|
2797 |
" quickchartButtonEl.classList.remove('colab-df-spinner');\n", |
|
|
2798 |
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n", |
|
|
2799 |
" }\n", |
|
|
2800 |
" (() => {\n", |
|
|
2801 |
" let quickchartButtonEl =\n", |
|
|
2802 |
" document.querySelector('#df-af6dcf37-0658-4284-9846-b481bd5c4b7d button');\n", |
|
|
2803 |
" quickchartButtonEl.style.display =\n", |
|
|
2804 |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", |
|
|
2805 |
" })();\n", |
|
|
2806 |
" </script>\n", |
|
|
2807 |
"</div>\n", |
|
|
2808 |
"\n", |
|
|
2809 |
" </div>\n", |
|
|
2810 |
" </div>\n" |
|
|
2811 |
], |
|
|
2812 |
"application/vnd.google.colaboratory.intrinsic+json": { |
|
|
2813 |
"type": "dataframe", |
|
|
2814 |
"variable_name": "comparism", |
|
|
2815 |
"summary": "{\n \"name\": \"comparism\",\n \"rows\": 6228,\n \"fields\": [\n {\n \"column\": \"real values\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1,\n \"min\": 0,\n \"max\": 6,\n \"num_unique_values\": 7,\n \"samples\": [\n 5,\n 1,\n 2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"predicted values\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1,\n \"min\": 0,\n \"max\": 6,\n \"num_unique_values\": 7,\n \"samples\": [\n 1,\n 6,\n 2\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" |
|
|
2816 |
} |
|
|
2817 |
}, |
|
|
2818 |
"metadata": {}, |
|
|
2819 |
"execution_count": 79 |
|
|
2820 |
} |
|
|
2821 |
] |
|
|
2822 |
} |
|
|
2823 |
] |
|
|
2824 |
} |