From c31cf2f8551bda36eddecfc26b4439ff1f464923 Mon Sep 17 00:00:00 2001 From: samnthorne Date: Sun, 26 Mar 2023 18:00:12 -0700 Subject: [PATCH] added library to html --- notebooks/_build/.doctrees/analysis.doctree | Bin 123463 -> 175561 bytes notebooks/_build/.doctrees/environment.pickle | Bin 52648 -> 50861 bytes notebooks/_build/html/_sources/analysis.ipynb | 3 +- notebooks/_build/html/analysis.html | 105 ++++- notebooks/_build/html/searchindex.js | 2 +- .../_build/jupyter_execute/analysis.ipynb | 417 ++++++++++++++++-- notebooks/analysis.ipynb | 16 +- 7 files changed, 508 insertions(+), 35 deletions(-) diff --git a/notebooks/_build/.doctrees/analysis.doctree b/notebooks/_build/.doctrees/analysis.doctree index 49be21d730ef3d174a8f22bc8411225e447cb8ac..8b7fb9f58799394300d8989c8a663064261a8b16 100644 GIT binary patch literal 175561 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 diff --git a/notebooks/_build/.doctrees/environment.pickle b/notebooks/_build/.doctrees/environment.pickle index dd00b2ba128ac03ee1ffe65745e9ba8097dd3f4a..93e4a7945a53f1c8445bc4251b3313229d16714b 100644 GIT binary patch delta 200 zcmZ26n|W<7Giw9u)J4ZOvI@AeOt^h-!emL;=*i}8YLj{0v?iCh&fFa9=D^6ep0|fR zH#4uaB(->ox6tO*?mM*@B{ruP%~1nVOfw&~qHmnP`}0Q)9Q AZ~y=R delta 1632 zcmcJP&C44_9LJN^Jmp!m)S^WX!VqY?iRniB5}pPhwUm8&uqZq}NVT@Z?(8p5_Q~wb zGBf+6ImN3GFK(pNx3i!k@_^vQT)cW!3k6a9FT6N2o2090)r&dIzGU|E{r=wO%l8g{ z_R-hyU%!4qp32Q0#g+?`u8O<35_g=GrZST&qQo^^{7NX-aKZ+q`Y3g6naT5Vh}b_4JO@EhPJVsJ&CHMkz?NiMB3Xecf*uX5`-A-FT3$V~-|t zS}Y~U^?%dU=gdPiyNK|NMu>5Rdb-Z2moZ|}hw2M{-B})cUB~gaw_n@tqOuEKME-xf MaGYr-WfppW0&M#=dH?_b diff --git a/notebooks/_build/html/_sources/analysis.ipynb b/notebooks/_build/html/_sources/analysis.ipynb index 02d70b8..b4dd8e3 100644 --- a/notebooks/_build/html/_sources/analysis.ipynb +++ b/notebooks/_build/html/_sources/analysis.ipynb @@ -63,7 +63,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 25, "metadata": { "tags": [ "remove-input" @@ -149,6 +149,7 @@ } ], "source": [ + "library(tidyverse)\n", "heart_data <- read_csv('../data/processed/heart_data.csv', show_col_types = FALSE)\n", "head(heart_data)" ] diff --git a/notebooks/_build/html/analysis.html b/notebooks/_build/html/analysis.html index 3c6e8f2..4aff518 100644 --- a/notebooks/_build/html/analysis.html +++ b/notebooks/_build/html/analysis.html @@ -381,11 +381,36 @@

Preliminary Exploratory Data AnalysisWe combined the datasets “processed.switzerland.data,” “processed.va.data”, “processed.cleveland.data,” and “processed.hungarian.data”, to generate a longer and more complete dataset. Our complete aggregated data contains 13 different columns with an additional 8 that repeat some of the variables as factors instead of numeric types. Based on initial viewing of the data we decided to eliminate the ST_dep and slope columns as they were missing too many points.

-
Error in read_csv("../data/processed/heart_data.csv", show_col_types = FALSE): could not find function "read_csv"
-Traceback:
+
── Attaching packages ──────────────────────────────────────────────────────────────────────────────────── tidyverse 1.3.2 ──
 
+
 ggplot2 3.3.6       purrr   0.3.5 
+ tibble  3.1.8       dplyr   1.0.10
+ tidyr   1.2.1       stringr 1.4.1 
+ readr   2.1.3       forcats 0.5.2 
+
+
── Conflicts ─────────────────────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
+ dplyr::filter() masks stats::filter()
+ dplyr::lag()    masks stats::lag()
+
+
+
+ + + + + + + + + + + + + +
A tibble: 6 × 21
placeagesexchest_painrest_bpcholestoral_mmHgfasting_bsrest_ECGmax_heart_rateexercisethaldiagnosissex_fchest_pain_ffasting_bs_frest_ECG_fexercise_fmajor_vessels_fthal_fdiagnosis_f
<chr><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl>
switzerland3211 950NA 01270NA111NA 00NANA1
switzerland34141150NANA1540NA114NANA0NANA1
switzerland3514 NA0NA 01301 7314NA 01NA 73
switzerland36141100NA 01251 6114NA 01NA 61
switzerland38041050NA 01660NA204NA 00NANA2
switzerland38041100 0 01560 3104 0 00NA 31
+

Table 1. All columns with all data from the four heart disease data sets.

@@ -534,10 +559,24 @@

Classification ModelTesting the Model\n", + "A tibble: 6 × 21\n", + "\n", + "\tplaceagesexchest_painrest_bpcholestoral_mmHgfasting_bsrest_ECGmax_heart_rateexercise⋯thaldiagnosissex_fchest_pain_ffasting_bs_frest_ECG_fexercise_fmajor_vessels_fthal_fdiagnosis_f\n", + "\t<chr><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl>⋯<dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl><dbl>\n", + "\n", + "\n", + "\tswitzerland3211 950NA 01270⋯NA111NA 00NANA1\n", + "\tswitzerland34141150NANA1540⋯NA114NANA0NANA1\n", + "\tswitzerland3514 NA0NA 01301⋯ 7314NA 01NA 73\n", + "\tswitzerland36141100NA 01251⋯ 6114NA 01NA 61\n", + "\tswitzerland38041050NA 01660⋯NA204NA 00NANA2\n", + "\tswitzerland38041100 0 01560⋯ 3104 0 00NA 31\n", + "\n", + "\n" + ], + "text/latex": [ + "A tibble: 6 × 21\n", + "\\begin{tabular}{lllllllllllllllllllll}\n", + " place & age & sex & chest\\_pain & rest\\_bp & cholestoral\\_mmHg & fasting\\_bs & rest\\_ECG & max\\_heart\\_rate & exercise & ⋯ & thal & diagnosis & sex\\_f & chest\\_pain\\_f & fasting\\_bs\\_f & rest\\_ECG\\_f & exercise\\_f & major\\_vessels\\_f & thal\\_f & diagnosis\\_f\\\\\n", + " & & & & & & & & & & ⋯ & & & & & & & & & & \\\\\n", + "\\hline\n", + "\t switzerland & 32 & 1 & 1 & 95 & 0 & NA & 0 & 127 & 0 & ⋯ & NA & 1 & 1 & 1 & NA & 0 & 0 & NA & NA & 1\\\\\n", + "\t switzerland & 34 & 1 & 4 & 115 & 0 & NA & NA & 154 & 0 & ⋯ & NA & 1 & 1 & 4 & NA & NA & 0 & NA & NA & 1\\\\\n", + "\t switzerland & 35 & 1 & 4 & NA & 0 & NA & 0 & 130 & 1 & ⋯ & 7 & 3 & 1 & 4 & NA & 0 & 1 & NA & 7 & 3\\\\\n", + "\t switzerland & 36 & 1 & 4 & 110 & 0 & NA & 0 & 125 & 1 & ⋯ & 6 & 1 & 1 & 4 & NA & 0 & 1 & NA & 6 & 1\\\\\n", + "\t switzerland & 38 & 0 & 4 & 105 & 0 & NA & 0 & 166 & 0 & ⋯ & NA & 2 & 0 & 4 & NA & 0 & 0 & NA & NA & 2\\\\\n", + "\t switzerland & 38 & 0 & 4 & 110 & 0 & 0 & 0 & 156 & 0 & ⋯ & 3 & 1 & 0 & 4 & 0 & 0 & 0 & NA & 3 & 1\\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "A tibble: 6 × 21\n", + "\n", + "| place <chr> | age <dbl> | sex <dbl> | chest_pain <dbl> | rest_bp <dbl> | cholestoral_mmHg <dbl> | fasting_bs <dbl> | rest_ECG <dbl> | max_heart_rate <dbl> | exercise <dbl> | ⋯ ⋯ | thal <dbl> | diagnosis <dbl> | sex_f <dbl> | chest_pain_f <dbl> | fasting_bs_f <dbl> | rest_ECG_f <dbl> | exercise_f <dbl> | major_vessels_f <dbl> | thal_f <dbl> | diagnosis_f <dbl> |\n", + "|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n", + "| switzerland | 32 | 1 | 1 | 95 | 0 | NA | 0 | 127 | 0 | ⋯ | NA | 1 | 1 | 1 | NA | 0 | 0 | NA | NA | 1 |\n", + "| switzerland | 34 | 1 | 4 | 115 | 0 | NA | NA | 154 | 0 | ⋯ | NA | 1 | 1 | 4 | NA | NA | 0 | NA | NA | 1 |\n", + "| switzerland | 35 | 1 | 4 | NA | 0 | NA | 0 | 130 | 1 | ⋯ | 7 | 3 | 1 | 4 | NA | 0 | 1 | NA | 7 | 3 |\n", + "| switzerland | 36 | 1 | 4 | 110 | 0 | NA | 0 | 125 | 1 | ⋯ | 6 | 1 | 1 | 4 | NA | 0 | 1 | NA | 6 | 1 |\n", + "| switzerland | 38 | 0 | 4 | 105 | 0 | NA | 0 | 166 | 0 | ⋯ | NA | 2 | 0 | 4 | NA | 0 | 0 | NA | NA | 2 |\n", + "| switzerland | 38 | 0 | 4 | 110 | 0 | 0 | 0 | 156 | 0 | ⋯ | 3 | 1 | 0 | 4 | 0 | 0 | 0 | NA | 3 | 1 |\n", + "\n" + ], + "text/plain": [ + " place age sex chest_pain rest_bp cholestoral_mmHg fasting_bs rest_ECG\n", + "1 switzerland 32 1 1 95 0 NA 0 \n", + "2 switzerland 34 1 4 115 0 NA NA \n", + "3 switzerland 35 1 4 NA 0 NA 0 \n", + "4 switzerland 36 1 4 110 0 NA 0 \n", + "5 switzerland 38 0 4 105 0 NA 0 \n", + "6 switzerland 38 0 4 110 0 0 0 \n", + " max_heart_rate exercise ⋯ thal diagnosis sex_f chest_pain_f fasting_bs_f\n", + "1 127 0 ⋯ NA 1 1 1 NA \n", + "2 154 0 ⋯ NA 1 1 4 NA \n", + "3 130 1 ⋯ 7 3 1 4 NA \n", + "4 125 1 ⋯ 6 1 1 4 NA \n", + "5 166 0 ⋯ NA 2 0 4 NA \n", + "6 156 0 ⋯ 3 1 0 4 0 \n", + " rest_ECG_f exercise_f major_vessels_f thal_f diagnosis_f\n", + "1 0 0 NA NA 1 \n", + "2 NA 0 NA NA 1 \n", + "3 0 1 NA 7 3 \n", + "4 0 1 NA 6 1 \n", + "5 0 0 NA NA 2 \n", + "6 0 0 NA 3 1 " + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ + "library(tidyverse)\n", "heart_data <- read_csv('../data/processed/heart_data.csv', show_col_types = FALSE)\n", "head(heart_data)" ] @@ -229,7 +322,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 2, "metadata": { "tags": [ "remove-input" @@ -358,7 +451,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 3, "metadata": { "tags": [ "remove-input" @@ -457,7 +550,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 4, "metadata": { "tags": [ "remove-input" @@ -603,7 +696,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 5, "metadata": { "tags": [ "remove-input" @@ -623,10 +716,24 @@ "\t<dbl><chr><chr><dbl><dbl><dbl><chr>\n", "\n", "\n", - "\t1accuracymulticlass0.774132950.0236634Preprocessor1_Model01\n", - "\t2accuracymulticlass0.774132950.0236634Preprocessor1_Model02\n", - "\t3accuracymulticlass0.602946250.0151404Preprocessor1_Model03\n", - "\t⋮⋮⋮⋮⋮⋮⋮\n", + "\t 1accuracymulticlass0.774132950.02366340Preprocessor1_Model01\n", + "\t 2accuracymulticlass0.774132950.02366340Preprocessor1_Model02\n", + "\t 3accuracymulticlass0.602946250.01514040Preprocessor1_Model03\n", + "\t 4accuracymulticlass0.538528150.02673251Preprocessor1_Model04\n", + "\t 5accuracymulticlass0.488798950.02443692Preprocessor1_Model05\n", + "\t 6accuracymulticlass0.473827550.02162800Preprocessor1_Model06\n", + "\t 7accuracymulticlass0.443948650.02178144Preprocessor1_Model07\n", + "\t 8accuracymulticlass0.429318350.02294124Preprocessor1_Model08\n", + "\t 9accuracymulticlass0.412126250.03267083Preprocessor1_Model09\n", + "\t10accuracymulticlass0.399810650.03164645Preprocessor1_Model10\n", + "\t11accuracymulticlass0.394777550.02715977Preprocessor1_Model11\n", + "\t12accuracymulticlass0.377520550.03101980Preprocessor1_Model12\n", + "\t13accuracymulticlass0.360048350.02919724Preprocessor1_Model13\n", + "\t14accuracymulticlass0.367330750.01475960Preprocessor1_Model14\n", + "\t15accuracymulticlass0.369707250.01017029Preprocessor1_Model15\n", + "\t16accuracymulticlass0.379493550.01357445Preprocessor1_Model16\n", + "\t17accuracymulticlass0.377086850.01510417Preprocessor1_Model17\n", + "\t18accuracymulticlass0.389186350.01990557Preprocessor1_Model18\n", "\t19accuracymulticlass0.391624650.02010759Preprocessor1_Model19\n", "\t20accuracymulticlass0.396873850.01765057Preprocessor1_Model20\n", "\t21accuracymulticlass0.389341450.01604878Preprocessor1_Model21\n", @@ -639,10 +746,24 @@ " neighbors & .metric & .estimator & mean & n & std\\_err & .config\\\\\n", " & & & & & & \\\\\n", "\\hline\n", - "\t 1 & accuracy & multiclass & 0.7741329 & 5 & 0.0236634 & Preprocessor1\\_Model01\\\\\n", - "\t 2 & accuracy & multiclass & 0.7741329 & 5 & 0.0236634 & Preprocessor1\\_Model02\\\\\n", - "\t 3 & accuracy & multiclass & 0.6029462 & 5 & 0.0151404 & Preprocessor1\\_Model03\\\\\n", - "\t ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮ & ⋮\\\\\n", + "\t 1 & accuracy & multiclass & 0.7741329 & 5 & 0.02366340 & Preprocessor1\\_Model01\\\\\n", + "\t 2 & accuracy & multiclass & 0.7741329 & 5 & 0.02366340 & Preprocessor1\\_Model02\\\\\n", + "\t 3 & accuracy & multiclass & 0.6029462 & 5 & 0.01514040 & Preprocessor1\\_Model03\\\\\n", + "\t 4 & accuracy & multiclass & 0.5385281 & 5 & 0.02673251 & Preprocessor1\\_Model04\\\\\n", + "\t 5 & accuracy & multiclass & 0.4887989 & 5 & 0.02443692 & Preprocessor1\\_Model05\\\\\n", + "\t 6 & accuracy & multiclass & 0.4738275 & 5 & 0.02162800 & Preprocessor1\\_Model06\\\\\n", + "\t 7 & accuracy & multiclass & 0.4439486 & 5 & 0.02178144 & Preprocessor1\\_Model07\\\\\n", + "\t 8 & accuracy & multiclass & 0.4293183 & 5 & 0.02294124 & Preprocessor1\\_Model08\\\\\n", + "\t 9 & accuracy & multiclass & 0.4121262 & 5 & 0.03267083 & Preprocessor1\\_Model09\\\\\n", + "\t 10 & accuracy & multiclass & 0.3998106 & 5 & 0.03164645 & Preprocessor1\\_Model10\\\\\n", + "\t 11 & accuracy & multiclass & 0.3947775 & 5 & 0.02715977 & Preprocessor1\\_Model11\\\\\n", + "\t 12 & accuracy & multiclass & 0.3775205 & 5 & 0.03101980 & Preprocessor1\\_Model12\\\\\n", + "\t 13 & accuracy & multiclass & 0.3600483 & 5 & 0.02919724 & Preprocessor1\\_Model13\\\\\n", + "\t 14 & accuracy & multiclass & 0.3673307 & 5 & 0.01475960 & Preprocessor1\\_Model14\\\\\n", + "\t 15 & accuracy & multiclass & 0.3697072 & 5 & 0.01017029 & Preprocessor1\\_Model15\\\\\n", + "\t 16 & accuracy & multiclass & 0.3794935 & 5 & 0.01357445 & Preprocessor1\\_Model16\\\\\n", + "\t 17 & accuracy & multiclass & 0.3770868 & 5 & 0.01510417 & Preprocessor1\\_Model17\\\\\n", + "\t 18 & accuracy & multiclass & 0.3891863 & 5 & 0.01990557 & Preprocessor1\\_Model18\\\\\n", "\t 19 & accuracy & multiclass & 0.3916246 & 5 & 0.02010759 & Preprocessor1\\_Model19\\\\\n", "\t 20 & accuracy & multiclass & 0.3968738 & 5 & 0.01765057 & Preprocessor1\\_Model20\\\\\n", "\t 21 & accuracy & multiclass & 0.3893414 & 5 & 0.01604878 & Preprocessor1\\_Model21\\\\\n", @@ -654,10 +775,24 @@ "\n", "| neighbors <dbl> | .metric <chr> | .estimator <chr> | mean <dbl> | n <dbl> | std_err <dbl> | .config <chr> |\n", "|---|---|---|---|---|---|---|\n", - "| 1 | accuracy | multiclass | 0.7741329 | 5 | 0.0236634 | Preprocessor1_Model01 |\n", - "| 2 | accuracy | multiclass | 0.7741329 | 5 | 0.0236634 | Preprocessor1_Model02 |\n", - "| 3 | accuracy | multiclass | 0.6029462 | 5 | 0.0151404 | Preprocessor1_Model03 |\n", - "| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |\n", + "| 1 | accuracy | multiclass | 0.7741329 | 5 | 0.02366340 | Preprocessor1_Model01 |\n", + "| 2 | accuracy | multiclass | 0.7741329 | 5 | 0.02366340 | Preprocessor1_Model02 |\n", + "| 3 | accuracy | multiclass | 0.6029462 | 5 | 0.01514040 | Preprocessor1_Model03 |\n", + "| 4 | accuracy | multiclass | 0.5385281 | 5 | 0.02673251 | Preprocessor1_Model04 |\n", + "| 5 | accuracy | multiclass | 0.4887989 | 5 | 0.02443692 | Preprocessor1_Model05 |\n", + "| 6 | accuracy | multiclass | 0.4738275 | 5 | 0.02162800 | Preprocessor1_Model06 |\n", + "| 7 | accuracy | multiclass | 0.4439486 | 5 | 0.02178144 | Preprocessor1_Model07 |\n", + "| 8 | accuracy | multiclass | 0.4293183 | 5 | 0.02294124 | Preprocessor1_Model08 |\n", + "| 9 | accuracy | multiclass | 0.4121262 | 5 | 0.03267083 | Preprocessor1_Model09 |\n", + "| 10 | accuracy | multiclass | 0.3998106 | 5 | 0.03164645 | Preprocessor1_Model10 |\n", + "| 11 | accuracy | multiclass | 0.3947775 | 5 | 0.02715977 | Preprocessor1_Model11 |\n", + "| 12 | accuracy | multiclass | 0.3775205 | 5 | 0.03101980 | Preprocessor1_Model12 |\n", + "| 13 | accuracy | multiclass | 0.3600483 | 5 | 0.02919724 | Preprocessor1_Model13 |\n", + "| 14 | accuracy | multiclass | 0.3673307 | 5 | 0.01475960 | Preprocessor1_Model14 |\n", + "| 15 | accuracy | multiclass | 0.3697072 | 5 | 0.01017029 | Preprocessor1_Model15 |\n", + "| 16 | accuracy | multiclass | 0.3794935 | 5 | 0.01357445 | Preprocessor1_Model16 |\n", + "| 17 | accuracy | multiclass | 0.3770868 | 5 | 0.01510417 | Preprocessor1_Model17 |\n", + "| 18 | accuracy | multiclass | 0.3891863 | 5 | 0.01990557 | Preprocessor1_Model18 |\n", "| 19 | accuracy | multiclass | 0.3916246 | 5 | 0.02010759 | Preprocessor1_Model19 |\n", "| 20 | accuracy | multiclass | 0.3968738 | 5 | 0.01765057 | Preprocessor1_Model20 |\n", "| 21 | accuracy | multiclass | 0.3893414 | 5 | 0.01604878 | Preprocessor1_Model21 |\n", @@ -665,10 +800,24 @@ ], "text/plain": [ " neighbors .metric .estimator mean n std_err .config \n", - "1 1 accuracy multiclass 0.7741329 5 0.0236634 Preprocessor1_Model01\n", - "2 2 accuracy multiclass 0.7741329 5 0.0236634 Preprocessor1_Model02\n", - "3 3 accuracy multiclass 0.6029462 5 0.0151404 Preprocessor1_Model03\n", - "⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ \n", + "1 1 accuracy multiclass 0.7741329 5 0.02366340 Preprocessor1_Model01\n", + "2 2 accuracy multiclass 0.7741329 5 0.02366340 Preprocessor1_Model02\n", + "3 3 accuracy multiclass 0.6029462 5 0.01514040 Preprocessor1_Model03\n", + "4 4 accuracy multiclass 0.5385281 5 0.02673251 Preprocessor1_Model04\n", + "5 5 accuracy multiclass 0.4887989 5 0.02443692 Preprocessor1_Model05\n", + "6 6 accuracy multiclass 0.4738275 5 0.02162800 Preprocessor1_Model06\n", + "7 7 accuracy multiclass 0.4439486 5 0.02178144 Preprocessor1_Model07\n", + "8 8 accuracy multiclass 0.4293183 5 0.02294124 Preprocessor1_Model08\n", + "9 9 accuracy multiclass 0.4121262 5 0.03267083 Preprocessor1_Model09\n", + "10 10 accuracy multiclass 0.3998106 5 0.03164645 Preprocessor1_Model10\n", + "11 11 accuracy multiclass 0.3947775 5 0.02715977 Preprocessor1_Model11\n", + "12 12 accuracy multiclass 0.3775205 5 0.03101980 Preprocessor1_Model12\n", + "13 13 accuracy multiclass 0.3600483 5 0.02919724 Preprocessor1_Model13\n", + "14 14 accuracy multiclass 0.3673307 5 0.01475960 Preprocessor1_Model14\n", + "15 15 accuracy multiclass 0.3697072 5 0.01017029 Preprocessor1_Model15\n", + "16 16 accuracy multiclass 0.3794935 5 0.01357445 Preprocessor1_Model16\n", + "17 17 accuracy multiclass 0.3770868 5 0.01510417 Preprocessor1_Model17\n", + "18 18 accuracy multiclass 0.3891863 5 0.01990557 Preprocessor1_Model18\n", "19 19 accuracy multiclass 0.3916246 5 0.02010759 Preprocessor1_Model19\n", "20 20 accuracy multiclass 0.3968738 5 0.01765057 Preprocessor1_Model20\n", "21 21 accuracy multiclass 0.3893414 5 0.01604878 Preprocessor1_Model21" @@ -764,7 +913,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 6, "metadata": { "tags": [ "remove-input" @@ -787,7 +936,61 @@ "\t2110381561\n", "\t1115381281\n", "\t0150381201\n", + "\t3105421281\n", + "\t4110451380\n", + "\t3100461331\n", + "\t1110471201\n", + "\t2120511043\n", + "\t1130511702\n", + "\t4 9552 822\n", + "\t412053 953\n", + "\t2130531200\n", + "\t2 80531410\n", + "\t1120541552\n", + "\t0180541501\n", + "\t1140551500\n", + "\t1115551551\n", + "\t212056 970\n", + "\t215556 992\n", + "\t1120561482\n", + "\t2140561211\n", + "\t1105571481\n", + "\t1140571003\n", + "\t011059 943\n", + "\t216060 993\n", + "\t2160601491\n", + "\t3130611153\n", + "\t213061 773\n", + "\t0150611172\n", + "\t2150631543\n", "\t⋮⋮⋮⋮⋮\n", + "\t011451 960\n", + "\t1127541541\n", + "\t2140631122\n", + "\t2160601571\n", + "\t417063 844\n", + "\t0126631200\n", + "\t0152601180\n", + "\t1120641061\n", + "\t1120561201\n", + "\t1124561610\n", + "\t1126531061\n", + "\t4170561234\n", + "\t2140691182\n", + "\t3136541403\n", + "\t3120721023\n", + "\t1142601102\n", + "\t2146611482\n", + "\t1158621121\n", + "\t1102481101\n", + "\t0150551500\n", + "\t4104761204\n", + "\t012062 860\n", + "\t2150581182\n", + "\t0160751120\n", + "\t2150641352\n", + "\t1180571201\n", + "\t3140671223\n", "\t2130641302\n", "\t3160581133\n", "\t2150581182\n", @@ -803,7 +1006,61 @@ "\t 2 & 110 & 38 & 156 & 1\\\\\n", "\t 1 & 115 & 38 & 128 & 1\\\\\n", "\t 0 & 150 & 38 & 120 & 1\\\\\n", + "\t 3 & 105 & 42 & 128 & 1\\\\\n", + "\t 4 & 110 & 45 & 138 & 0\\\\\n", + "\t 3 & 100 & 46 & 133 & 1\\\\\n", + "\t 1 & 110 & 47 & 120 & 1\\\\\n", + "\t 2 & 120 & 51 & 104 & 3\\\\\n", + "\t 1 & 130 & 51 & 170 & 2\\\\\n", + "\t 4 & 95 & 52 & 82 & 2\\\\\n", + "\t 4 & 120 & 53 & 95 & 3\\\\\n", + "\t 2 & 130 & 53 & 120 & 0\\\\\n", + "\t 2 & 80 & 53 & 141 & 0\\\\\n", + "\t 1 & 120 & 54 & 155 & 2\\\\\n", + "\t 0 & 180 & 54 & 150 & 1\\\\\n", + "\t 1 & 140 & 55 & 150 & 0\\\\\n", + "\t 1 & 115 & 55 & 155 & 1\\\\\n", + "\t 2 & 120 & 56 & 97 & 0\\\\\n", + "\t 2 & 155 & 56 & 99 & 2\\\\\n", + "\t 1 & 120 & 56 & 148 & 2\\\\\n", + "\t 2 & 140 & 56 & 121 & 1\\\\\n", + "\t 1 & 105 & 57 & 148 & 1\\\\\n", + "\t 1 & 140 & 57 & 100 & 3\\\\\n", + "\t 0 & 110 & 59 & 94 & 3\\\\\n", + "\t 2 & 160 & 60 & 99 & 3\\\\\n", + "\t 2 & 160 & 60 & 149 & 1\\\\\n", + "\t 3 & 130 & 61 & 115 & 3\\\\\n", + "\t 2 & 130 & 61 & 77 & 3\\\\\n", + "\t 0 & 150 & 61 & 117 & 2\\\\\n", + "\t 2 & 150 & 63 & 154 & 3\\\\\n", "\t ⋮ & ⋮ & ⋮ & ⋮ & ⋮\\\\\n", + "\t 0 & 114 & 51 & 96 & 0\\\\\n", + "\t 1 & 127 & 54 & 154 & 1\\\\\n", + "\t 2 & 140 & 63 & 112 & 2\\\\\n", + "\t 2 & 160 & 60 & 157 & 1\\\\\n", + "\t 4 & 170 & 63 & 84 & 4\\\\\n", + "\t 0 & 126 & 63 & 120 & 0\\\\\n", + "\t 0 & 152 & 60 & 118 & 0\\\\\n", + "\t 1 & 120 & 64 & 106 & 1\\\\\n", + "\t 1 & 120 & 56 & 120 & 1\\\\\n", + "\t 1 & 124 & 56 & 161 & 0\\\\\n", + "\t 1 & 126 & 53 & 106 & 1\\\\\n", + "\t 4 & 170 & 56 & 123 & 4\\\\\n", + "\t 2 & 140 & 69 & 118 & 2\\\\\n", + "\t 3 & 136 & 54 & 140 & 3\\\\\n", + "\t 3 & 120 & 72 & 102 & 3\\\\\n", + "\t 1 & 142 & 60 & 110 & 2\\\\\n", + "\t 2 & 146 & 61 & 148 & 2\\\\\n", + "\t 1 & 158 & 62 & 112 & 1\\\\\n", + "\t 1 & 102 & 48 & 110 & 1\\\\\n", + "\t 0 & 150 & 55 & 150 & 0\\\\\n", + "\t 4 & 104 & 76 & 120 & 4\\\\\n", + "\t 0 & 120 & 62 & 86 & 0\\\\\n", + "\t 2 & 150 & 58 & 118 & 2\\\\\n", + "\t 0 & 160 & 75 & 112 & 0\\\\\n", + "\t 2 & 150 & 64 & 135 & 2\\\\\n", + "\t 1 & 180 & 57 & 120 & 1\\\\\n", + "\t 3 & 140 & 67 & 122 & 3\\\\\n", "\t 2 & 130 & 64 & 130 & 2\\\\\n", "\t 3 & 160 & 58 & 113 & 3\\\\\n", "\t 2 & 150 & 58 & 118 & 2\\\\\n", @@ -818,7 +1075,61 @@ "| 2 | 110 | 38 | 156 | 1 |\n", "| 1 | 115 | 38 | 128 | 1 |\n", "| 0 | 150 | 38 | 120 | 1 |\n", + "| 3 | 105 | 42 | 128 | 1 |\n", + "| 4 | 110 | 45 | 138 | 0 |\n", + "| 3 | 100 | 46 | 133 | 1 |\n", + "| 1 | 110 | 47 | 120 | 1 |\n", + "| 2 | 120 | 51 | 104 | 3 |\n", + "| 1 | 130 | 51 | 170 | 2 |\n", + "| 4 | 95 | 52 | 82 | 2 |\n", + "| 4 | 120 | 53 | 95 | 3 |\n", + "| 2 | 130 | 53 | 120 | 0 |\n", + "| 2 | 80 | 53 | 141 | 0 |\n", + "| 1 | 120 | 54 | 155 | 2 |\n", + "| 0 | 180 | 54 | 150 | 1 |\n", + "| 1 | 140 | 55 | 150 | 0 |\n", + "| 1 | 115 | 55 | 155 | 1 |\n", + "| 2 | 120 | 56 | 97 | 0 |\n", + "| 2 | 155 | 56 | 99 | 2 |\n", + "| 1 | 120 | 56 | 148 | 2 |\n", + "| 2 | 140 | 56 | 121 | 1 |\n", + "| 1 | 105 | 57 | 148 | 1 |\n", + "| 1 | 140 | 57 | 100 | 3 |\n", + "| 0 | 110 | 59 | 94 | 3 |\n", + "| 2 | 160 | 60 | 99 | 3 |\n", + "| 2 | 160 | 60 | 149 | 1 |\n", + "| 3 | 130 | 61 | 115 | 3 |\n", + "| 2 | 130 | 61 | 77 | 3 |\n", + "| 0 | 150 | 61 | 117 | 2 |\n", + "| 2 | 150 | 63 | 154 | 3 |\n", "| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |\n", + "| 0 | 114 | 51 | 96 | 0 |\n", + "| 1 | 127 | 54 | 154 | 1 |\n", + "| 2 | 140 | 63 | 112 | 2 |\n", + "| 2 | 160 | 60 | 157 | 1 |\n", + "| 4 | 170 | 63 | 84 | 4 |\n", + "| 0 | 126 | 63 | 120 | 0 |\n", + "| 0 | 152 | 60 | 118 | 0 |\n", + "| 1 | 120 | 64 | 106 | 1 |\n", + "| 1 | 120 | 56 | 120 | 1 |\n", + "| 1 | 124 | 56 | 161 | 0 |\n", + "| 1 | 126 | 53 | 106 | 1 |\n", + "| 4 | 170 | 56 | 123 | 4 |\n", + "| 2 | 140 | 69 | 118 | 2 |\n", + "| 3 | 136 | 54 | 140 | 3 |\n", + "| 3 | 120 | 72 | 102 | 3 |\n", + "| 1 | 142 | 60 | 110 | 2 |\n", + "| 2 | 146 | 61 | 148 | 2 |\n", + "| 1 | 158 | 62 | 112 | 1 |\n", + "| 1 | 102 | 48 | 110 | 1 |\n", + "| 0 | 150 | 55 | 150 | 0 |\n", + "| 4 | 104 | 76 | 120 | 4 |\n", + "| 0 | 120 | 62 | 86 | 0 |\n", + "| 2 | 150 | 58 | 118 | 2 |\n", + "| 0 | 160 | 75 | 112 | 0 |\n", + "| 2 | 150 | 64 | 135 | 2 |\n", + "| 1 | 180 | 57 | 120 | 1 |\n", + "| 3 | 140 | 67 | 122 | 3 |\n", "| 2 | 130 | 64 | 130 | 2 |\n", "| 3 | 160 | 58 | 113 | 3 |\n", "| 2 | 150 | 58 | 118 | 2 |\n", @@ -829,7 +1140,61 @@ "1 2 110 38 156 1 \n", "2 1 115 38 128 1 \n", "3 0 150 38 120 1 \n", + "4 3 105 42 128 1 \n", + "5 4 110 45 138 0 \n", + "6 3 100 46 133 1 \n", + "7 1 110 47 120 1 \n", + "8 2 120 51 104 3 \n", + "9 1 130 51 170 2 \n", + "10 4 95 52 82 2 \n", + "11 4 120 53 95 3 \n", + "12 2 130 53 120 0 \n", + "13 2 80 53 141 0 \n", + "14 1 120 54 155 2 \n", + "15 0 180 54 150 1 \n", + "16 1 140 55 150 0 \n", + "17 1 115 55 155 1 \n", + "18 2 120 56 97 0 \n", + "19 2 155 56 99 2 \n", + "20 1 120 56 148 2 \n", + "21 2 140 56 121 1 \n", + "22 1 105 57 148 1 \n", + "23 1 140 57 100 3 \n", + "24 0 110 59 94 3 \n", + "25 2 160 60 99 3 \n", + "26 2 160 60 149 1 \n", + "27 3 130 61 115 3 \n", + "28 2 130 61 77 3 \n", + "29 0 150 61 117 2 \n", + "30 2 150 63 154 3 \n", "⋮ ⋮ ⋮ ⋮ ⋮ ⋮ \n", + "118 0 114 51 96 0 \n", + "119 1 127 54 154 1 \n", + "120 2 140 63 112 2 \n", + "121 2 160 60 157 1 \n", + "122 4 170 63 84 4 \n", + "123 0 126 63 120 0 \n", + "124 0 152 60 118 0 \n", + "125 1 120 64 106 1 \n", + "126 1 120 56 120 1 \n", + "127 1 124 56 161 0 \n", + "128 1 126 53 106 1 \n", + "129 4 170 56 123 4 \n", + "130 2 140 69 118 2 \n", + "131 3 136 54 140 3 \n", + "132 3 120 72 102 3 \n", + "133 1 142 60 110 2 \n", + "134 2 146 61 148 2 \n", + "135 1 158 62 112 1 \n", + "136 1 102 48 110 1 \n", + "137 0 150 55 150 0 \n", + "138 4 104 76 120 4 \n", + "139 0 120 62 86 0 \n", + "140 2 150 58 118 2 \n", + "141 0 160 75 112 0 \n", + "142 2 150 64 135 2 \n", + "143 1 180 57 120 1 \n", + "144 3 140 67 122 3 \n", "145 2 130 64 130 2 \n", "146 3 160 58 113 3 \n", "147 2 150 58 118 2 " diff --git a/notebooks/analysis.ipynb b/notebooks/analysis.ipynb index 563ee45..74bdb82 100644 --- a/notebooks/analysis.ipynb +++ b/notebooks/analysis.ipynb @@ -63,7 +63,20 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 27, + "metadata": { + "tags": [ + "remove-cell" + ] + }, + "outputs": [], + "source": [ + "library(tidyverse)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, "metadata": { "tags": [ "remove-input" @@ -149,6 +162,7 @@ } ], "source": [ + "\n", "heart_data <- read_csv('../data/processed/heart_data.csv', show_col_types = FALSE)\n", "head(heart_data)" ]