From 5712301d80c6d2a6c57cb8724c5b5d9f30343cd0 Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Tue, 16 Aug 2022 06:24:45 -0400 Subject: [PATCH 01/20] Update draft.md --- draft.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/draft.md b/draft.md index 3409ef1..3e3c52d 100644 --- a/draft.md +++ b/draft.md @@ -8,7 +8,7 @@ Machine learning metrics are built around the idea of training a model and then ## Introduction -The idea of out of sample prediction is described in detail throughout the literature[1], the basic idea is to split the data into two groups, a training sample and a testing sample. Once the data is split then a statistical model is trained on the training sample. Then the trained model is used to predict the dependent variable from the independent variables[4] in the testing sample. Finally, a loss metric, like mean squared error[2] is used if it is a regression problem or cross entropy[3] is used if it's classification, to compare the predicted dependent variable against the ground truth dependent variable. +The idea of out of sample prediction is described in detail throughout the literature[1], the basic idea is to split the data into two groups, a training sample and a testing sample. Once the data is split then a statistical model is trained on the training sample. Then the trained model is used to predict the independent variable from the dependent variables[4] in the testing sample. Finally, a loss metric, like mean squared error[2] is used if it is a regression problem or cross entropy[3] is used if it's classification, to compare the predicted dependent variable against the ground truth dependent variable. This method can be useful as a first pass to assess model quality, however it has many deficiencies[5]#To Do add more references here#. Since we only split the data once and we are dealing with a classification problem, we must hope for a few things: @@ -62,4 +62,4 @@ citation: 13 - [Cross Validation Wikipedia](https://en.wikipedia.org/wiki/Cross-validation_(statistics)) -14 - [Sci-kit learn's train test split](https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html) \ No newline at end of file +14 - [Sci-kit learn's train test split](https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html) From 5b0156f9b21b17c4ce403162912e765d423a40e4 Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Tue, 16 Aug 2022 06:27:47 -0400 Subject: [PATCH 02/20] Update draft.md --- draft.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft.md b/draft.md index 3e3c52d..0666fa9 100644 --- a/draft.md +++ b/draft.md @@ -14,7 +14,7 @@ This method can be useful as a first pass to assess model quality, however it ha 1. We don't get a substantially different balance in the label classes in training and testing. And that this balance is not different from the total data set, as well as, the population data in question. -2. We don't get a concentration of indepedent variables that are caused by a specific exogenous effect[6] in the training data and a different exogenous effect in the testing data. +2. We don't get a concentration of independent variables that are caused by a specific exogenous effect[6] in the training data and a different exogenous effect in the testing data. If either of these conditions fail then our loss metric may record either a far too optimistic or pessimistic view of how well the model does. This in turn may have consequences for a whole host of things - failure to select the correct model, for instance, we may select a logistic regression model[7] when a decision tree model[8] is more approriate. Or we may select the wrong hyperparameters for a given model class. A direct consequence of a bad model is poor inference which may have difficult or impossible to recognize consequences, in some cases`[9][10][11][12]`. Therefore it is of paramount importance that our models be 'honest' and the error well captured. From ce8a1d7a9ea469d49bfd08aadffed1f08e84587f Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Tue, 16 Aug 2022 06:30:45 -0400 Subject: [PATCH 03/20] Update draft.md --- draft.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft.md b/draft.md index 0666fa9..b18ed0c 100644 --- a/draft.md +++ b/draft.md @@ -20,7 +20,7 @@ If either of these conditions fail then our loss metric may record either a far To deal with this failure to generalize from a single training and testing split, cross validation[13] was created to increase the number of training and testing splits and then average the error metric or metrics. The way this works is by creating a number of random partitions of the data, and then treating one of the partitions as out of sample, while the rest are treated as in sample. Then the model is trained on all in sample predictions and the out of sample is left for predicting against, just like before. The procedure is repeated for each partition, so that each partition is treated as both training and testing. Finally the recorded metrics across each partition are averaged and reported, as well as the individual loss metrics. The issue with this strategy is you need to tune the number of partitions - too many and individual partitions won't generalize well, too few and you will run into the same issues as with train test split once. -In theory, both of the methods described are enough, the issue comes down to what happens in practice. Therefore we have created [honest_ml](https://github.com/EricSchles/honest_ml) a library to do many individual splits of the data, typically on the order of 500 to several thousand. The idea is to iterate over the random seed used in a typical train-test split implementation. For this library, we use scikit-learn's implementation[14], consider the gold standard by many. By doing so we remove the need to consider how many partitions is the right number. Additionally, we far less likely to deal with a lucky or unlucky split, because we are splitting so many times. +In theory, both of the methods described are enough, the issue comes down to what happens in practice. Therefore we have created [honest_ml](https://github.com/EricSchles/honest_ml) a library to do many individual splits of the data, typically on the order of 500 to several thousand. The idea is to iterate over the random seed used in a typical train-test split implementation. For this library, we use scikit-learn's implementation[14], considered the gold standard by many. By doing so we remove the need to consider how many partitions is the right number. Additionally, we are far less likely to deal with a lucky or unlucky split, because we are splitting so many times. ## Honest ML From af8ab0967f412a43bb1252c5bbf888a7b576cb63 Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Thu, 15 Sep 2022 01:44:43 -0400 Subject: [PATCH 04/20] Create Honest ML paper --- paper1/Honest ML paper | 1 + 1 file changed, 1 insertion(+) create mode 100644 paper1/Honest ML paper diff --git a/paper1/Honest ML paper b/paper1/Honest ML paper new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/paper1/Honest ML paper @@ -0,0 +1 @@ + From e9abbb18baa58625b897d4ca5a184ca6f527d976 Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Thu, 15 Sep 2022 01:45:26 -0400 Subject: [PATCH 05/20] Add files via upload --- paper1/Honest ML.docx | Bin 0 -> 129674 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 paper1/Honest ML.docx diff --git a/paper1/Honest ML.docx b/paper1/Honest ML.docx new file mode 100644 index 0000000000000000000000000000000000000000..0046ae89d579dac3d7f2a10782f1dd658d66097d GIT binary patch literal 129674 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

2qX8csH_#1!NZ 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


I$n?(>28jP;xDgw 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 Date: Thu, 15 Sep 2022 02:27:08 -0400 Subject: [PATCH 06/20] Add files via upload --- paper1/Figure1.jpg | Bin 0 -> 45521 bytes paper1/Figure2.jpg | Bin 0 -> 27733 bytes paper1/Figure3.jpg | Bin 0 -> 27531 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 paper1/Figure1.jpg create mode 100644 paper1/Figure2.jpg create mode 100644 paper1/Figure3.jpg diff --git a/paper1/Figure1.jpg b/paper1/Figure1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b223192e562fa1f741c66af9d2e876f118020243 GIT binary patch literal 45521 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 RI@U(KEB`+YW7Pj<{~uL8#P0wA literal 0 HcmV?d00001 diff --git a/paper1/Figure2.jpg b/paper1/Figure2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fe02cb69d62b6378e4646428ddf4b0a1b43acec7 GIT binary patch literal 27733 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 literal 0 HcmV?d00001 diff --git a/paper1/Figure3.jpg b/paper1/Figure3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..312d26fb4dc2279c7dff2f2c1952199db66a8bac GIT binary patch literal 27531 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 literal 0 HcmV?d00001 From 1b67e5bb21ab3abf8a53e641f95d2c581b021e7a Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Thu, 15 Sep 2022 02:40:51 -0400 Subject: [PATCH 07/20] Add files via upload --- paper1/Paper.md | 109 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 paper1/Paper.md diff --git a/paper1/Paper.md b/paper1/Paper.md new file mode 100644 index 0000000..86bd282 --- /dev/null +++ b/paper1/Paper.md @@ -0,0 +1,109 @@ +--- +title: Honest ML: A library for building confidence in statistical models +tags: + - Python + - Machine Learning + - Intervals + +authors: + - name: Eric Schles + orcid: ### + equal-contrib: true + affiliation: "1, 2" + corresponding: true + - name: Abdul-Rashid Zakaria + orcid: 0000-0002-3694-7082 + equal-contrib: false + affiliation: 3 +affiliations: + - name: John Hopkins University Hospital, USA + index: 1 + - name: The City University of New York, USA + index: 2 + - name: Michigan Technological University + index: 3 +date: 16 September 2022 +bibiliography: paper.bib +--- + +# 1.Summary + +Machine learning metrics are built around the idea of training a model and then making out-of-sample predictions to test generalizability. There are a few standard methods; splitting the data into training and testing data and then predicting once on the testing or out of sample data. Using cross-validation to train on partitions of the data and then test by using one partition as the holdout and averaging the metric across all partitions. And finally, stratified partitioning splits the data subject to some condition, usually on the proportion of labels in the entire dataset. This paper will look at a library that implements a different method, training the model on many train-test splits and recording the out-of-sample error across these five hundred to more than a thousand splits. This creates higher confidence in the model and more closely simulates the likely scenarios you would find in the production setting, even with reasonably small datasets. Through this library, users can present statistical models based on confidence intervals to capture the uncertainty in inferences instead of point statistics for different machine learning models. + +# 2.Introduction + +The idea of out-of-sample prediction is described in detail throughout the literature [@Montgomery:1991]. The basic idea is to split the data into two groups, a training sample and a testing sample. Once the data is split, a statistical model is trained on the training sample. Then the trained model is used to predict the independent variable from the dependent variables [@Kuhn:2013; @Pawluszek-Filipiak:2020] in the testing sample. Finally, a loss metric, like mean squared error, is used if it is a regression problem, or cross-entropy [@Bickel:2015; @James:2021] is used for classification to compare the predicted dependent variable against the ground truth dependent variable. This method can be helpful as a first pass to assess model quality; however, it has many deficiencies [@Doan:2022; @Salazar:2022; @Tan:2021] since the data was only split once considering a classification problem, there may be issues such as: + +1. Imbalance in the label classes in the training and testing data. This balance is not different from the entire data set, as well as the population data being modeled. +2. Concentration of independent variables caused by a specific exogenous effect [@Edelkamp:2021] in the training data and a different exogenous effect in the testing data. + +If either of these conditions persists, our loss metric may record a far too optimistic or pessimistic view of how well the model performs. This, in turn, may have consequences for a whole host of things - failure to select the correct model, for instance, we may choose a logistic regression model [@Gortmaker:1994; @Vittinghoff:2012] when a decision tree model [@de Ville:2013; @Shalev-Shwartz:2013] is more appropriate. Or we may select the wrong hyperparameters for a given model class. A direct consequence of a flawed model is a poor inference which may have complex or impossible to recognize consequences [@Chernozhukov:2022; @Kok:2007; @Marsili:2022; @z\_ai:2020]. Therefore, it is of paramount importance that our models be 'honest' and the error well captured. + +To deal with this failure to generalize from a single training and testing split, cross-validation [@Arlot:2010; @Kohavi:1995] was created to increase the number of training and testing splits and then average the error metric or metrics. This works by creating several random partitions of the data and then treating one of the partitions as an out of the sample, while the rest are treated as in the sample. A model is trained on all in-sample predictions, and the out-of-sample is left for testing the model. The procedure is repeated for each partition used as an out-of-sample. Issues with choosing the optimum number of partitions, including multiple and separate partitions, may not generalize well in some cases; few partitions will produce the same problems as with a train-test split. + +In theory, these methods described are inherently good approaches; the issues raised come down to how models are viewed and interpreted in practice. Therefore, [honest\_ml](https://github.com/EricSchles/honest_ml) is a library to do many individual data splits, typically on the order of 500 to several thousand data splits. The idea is to iterate over the random seed used in a typical train-test split implementation. For this library, we use scikit-learn's implementation [@Buitinck:2013; @Pedregosa:2011], considered the gold standard by machine learning engineers. Doing so removes the need to consider how many partitions are required for a particular dataset. We also further decrease the possibility of a "lucky or unlucky" split in a train-test split. In addition, this implementation helps to identify the sensitivity of trained models to the data used in training the models with specific hyperparameters. + +# 3.Utilization + +[honest\_ml](https://github.com/EricSchles/honest_ml) has an EvaluateModel class that allows users to pass in their classifier of choice, a target data set, a feature data set and the number of trials where each data split during a trial uses a different random seed. The relevant performance metrics are calculated for each train-test split. For example, in Figure 1, users can create an object of EvaluateModel. The performance metrics for each trial are saved after fitting the model. + +![](RackMultipart20220915-1-erje6c_html_646ed6569b43cba5.png) + +_Figure 1. Sample code for using the EvaluateModel class in honest\_ml_ + +The [honest\_ml](https://github.com/EricSchles/honest_ml) library also have a visualization tool that allows users to view results of each trial relative to other trials stored in a user defined variable using the EvaluateModel class. + +For example, using the model\_instances created above in the logistic regression model, users can compare metrics such as the precision, recall and f1-score for classification models. Figure 2 and Figure 3 shows the distribution of the precision and recall for 200 trials of the logistic regression model with two classes 0 and 1. Models that produce less normal distributions indicate a sensitivity of the model to the training data and provides users with a realistic expectation of the model in production than a point statistic would provide. + +![](RackMultipart20220915-1-erje6c_html_e95300b08451126.png) + +_Figure 2. Comparison of the distribution of the precision and recall for different trials for the class 0_ + +![](RackMultipart20220915-1-erje6c_html_6fd2ab5f2df4e95d.png) + +_Figure 3. Sensitivity of class 1 to different trials using recall and precision distribution_ + +# 4.References + +Arlot, S., & Celisse, A. (2010). A survey of cross-validation procedures for model selection. _Statistics surveys_, _4_(none), 40-79. [https://doi.org/10.1214/09-SS054](https://doi.org/10.1214/09-SS054) + +Bickel, P. J., & Doksum, K. A. (2015). _Mathematical statistics: Basic ideas and selected topics, second edition_ (Vol. 1). [https://doi.org/10.1201/b18312](https://doi.org/10.1201/b18312) + +Buitinck, L., Louppe, G., Blondel, M., Pedregosa, F., Mueller, A., Grisel, O., Niculae, V., Prettenhofer, P., Gramfort, A., & Grobler, J. (2013). API design for machine learning software: experiences from the scikit-learn project. _arXiv preprint arXiv:1309.0238_. + +Chernozhukov, V., Newey, W. K., & Singh, R. (2022). Automatic Debiased Machine Learning of Causal and Structural Effects. _Econometrica_, _90_(3), 967-1027. [https://doi.org/10.3982/ECTA18515](https://doi.org/10.3982/ECTA18515) + +de Ville, B. (2013). Decision trees. _Wiley interdisciplinary reviews. Computational statistics_, _5_(6), 448-455. [https://doi.org/10.1002/wics.1278](https://doi.org/10.1002/wics.1278) + +Doan, Q. H., Mai, S.-H., Do, Q. T., & Thai, D.-K. (2022). A cluster-based data splitting method for small sample and class imbalance problems in impact damage classification. _Applied soft computing_, _120_, 108628. [https://doi.org/10.1016/j.asoc.2022.108628](https://doi.org/10.1016/j.asoc.2022.108628) + +Edelkamp, S., Möller, R., & Rueckert, E. (2021). _KI 2021: advances in artificial intelligence : 44th German Conference on AI, virtual event, September 27 - October 1, 2021 : proceedings_. Springer. + +Gortmaker, S. L. (1994). Theory and methods -- Applied Logistic Regression by David W. Hosmer Jr and Stanley Lemeshow. In (Vol. 23, pp. 159). Washington: Sage Publications Ltd. + +James, G. (2021). _An introduction to statistical learning : with applications in R_ (2nd ed.). Springer. + +Kohavi, R. (1995). A study of cross-validation and bootstrap for accuracy estimation and model selection. Ijcai, + +Kok, J. N. (2007). _Machine learning : ECML 2007 : 18th European Conference on Machine Learning, Warsaw, Poland, September 17-21, 2007 : proceedings_ (1st 2007. ed.). Springer. [https://doi.org/10.1007/978-3-540-74958-5](https://doi.org/10.1007/978-3-540-74958-5) + +Kuhn, M., & Johnson, K. (2013). _Applied Predictive Modeling_. Springer New York. [https://doi.org/10.1007/978-1-4614-6849-3](https://doi.org/10.1007/978-1-4614-6849-3) + +Marsili, M., & Roudi, Y. (2022). Quantifying relevance in learning and inference. _Physics reports_, _963_, 1-43. [https://doi.org/10.1016/j.physrep.2022.03.001](https://doi.org/10.1016/j.physrep.2022.03.001) + +Montgomery, D. C. (1991). Response surface methods and designs. _Design and analysis of experiments_. + +Pawluszek-Filipiak, K., & Borkowski, A. (2020). On the Importance of Train–Test Split Ratio of Datasets in Automatic Landslide Detection by Supervised Classification. _Remote sensing (Basel, Switzerland)_, _12_(18), 3054. [https://doi.org/10.3390/rs12183054](https://doi.org/10.3390/rs12183054) + +Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., & Dubourg, V. (2011). Scikit-learn: Machine learning in Python. _the Journal of machine Learning research_, _12_, 2825-2830. + +Salazar, J. J., Garland, L., Ochoa, J., & Pyrcz, M. J. (2022). Fair train-test split in machine learning: Mitigating spatial autocorrelation for improved prediction accuracy. _Journal of Petroleum Science and Engineering_, _209_, 109885. [https://doi.org/https://doi.org/10.1016/j.petrol.2021.109885](https://doi.org/https://doi.org/10.1016/j.petrol.2021.109885) + +Shalev-Shwartz, S., & Ben-David, S. (2013). _Understanding machine learning: From theory to algorithms_ (Vol. 9781107057135). [https://doi.org/10.1017/CBO9781107298019](https://doi.org/10.1017/CBO9781107298019) + +Tan, J., Yang, J., Wu, S., Chen, G., & Zhao, J. (2021). A critical look at the current train/test split in machine learning. + +Vittinghoff, E., Glidden, D. V., Shiboski, S. C., & McCulloch, C. E. (2012). _Regression Methods in Biostatistics Linear, Logistic, Survival, and Repeated Measures Models_ (2nd 2012. ed.). Springer New York. [https://doi.org/10.1007/978-1-4614-1353-0](https://doi.org/10.1007/978-1-4614-1353-0) + +z\_ai. (2020). _The Ultimate Guide to Debugging your Machine Learning models_ [Article]. +``` From 0fc13ac2747e4184066af2c7dda26c89471b7695 Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Thu, 15 Sep 2022 13:23:47 -0400 Subject: [PATCH 08/20] Update Paper.md --- paper1/Paper.md | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/paper1/Paper.md b/paper1/Paper.md index 86bd282..3cddd45 100644 --- a/paper1/Paper.md +++ b/paper1/Paper.md @@ -20,17 +20,17 @@ affiliations: index: 1 - name: The City University of New York, USA index: 2 - - name: Michigan Technological University + - name: Michigan Technological University, USA index: 3 date: 16 September 2022 bibiliography: paper.bib --- -# 1.Summary +# Summary Machine learning metrics are built around the idea of training a model and then making out-of-sample predictions to test generalizability. There are a few standard methods; splitting the data into training and testing data and then predicting once on the testing or out of sample data. Using cross-validation to train on partitions of the data and then test by using one partition as the holdout and averaging the metric across all partitions. And finally, stratified partitioning splits the data subject to some condition, usually on the proportion of labels in the entire dataset. This paper will look at a library that implements a different method, training the model on many train-test splits and recording the out-of-sample error across these five hundred to more than a thousand splits. This creates higher confidence in the model and more closely simulates the likely scenarios you would find in the production setting, even with reasonably small datasets. Through this library, users can present statistical models based on confidence intervals to capture the uncertainty in inferences instead of point statistics for different machine learning models. -# 2.Introduction +# Introduction The idea of out-of-sample prediction is described in detail throughout the literature [@Montgomery:1991]. The basic idea is to split the data into two groups, a training sample and a testing sample. Once the data is split, a statistical model is trained on the training sample. Then the trained model is used to predict the independent variable from the dependent variables [@Kuhn:2013; @Pawluszek-Filipiak:2020] in the testing sample. Finally, a loss metric, like mean squared error, is used if it is a regression problem, or cross-entropy [@Bickel:2015; @James:2021] is used for classification to compare the predicted dependent variable against the ground truth dependent variable. This method can be helpful as a first pass to assess model quality; however, it has many deficiencies [@Doan:2022; @Salazar:2022; @Tan:2021] since the data was only split once considering a classification problem, there may be issues such as: @@ -43,27 +43,21 @@ To deal with this failure to generalize from a single training and testing split In theory, these methods described are inherently good approaches; the issues raised come down to how models are viewed and interpreted in practice. Therefore, [honest\_ml](https://github.com/EricSchles/honest_ml) is a library to do many individual data splits, typically on the order of 500 to several thousand data splits. The idea is to iterate over the random seed used in a typical train-test split implementation. For this library, we use scikit-learn's implementation [@Buitinck:2013; @Pedregosa:2011], considered the gold standard by machine learning engineers. Doing so removes the need to consider how many partitions are required for a particular dataset. We also further decrease the possibility of a "lucky or unlucky" split in a train-test split. In addition, this implementation helps to identify the sensitivity of trained models to the data used in training the models with specific hyperparameters. -# 3.Utilization +# Utilization -[honest\_ml](https://github.com/EricSchles/honest_ml) has an EvaluateModel class that allows users to pass in their classifier of choice, a target data set, a feature data set and the number of trials where each data split during a trial uses a different random seed. The relevant performance metrics are calculated for each train-test split. For example, in Figure 1, users can create an object of EvaluateModel. The performance metrics for each trial are saved after fitting the model. +[honest\_ml](https://github.com/EricSchles/honest_ml) has an EvaluateModel class that allows users to pass in their classifier of choice, a target data set, a feature data set and the number of trials where each data split during a trial uses a different random seed. The relevant performance metrics are calculated for each train-test split. For example, in \autoref{fig:Figure 1}, users can create an object of EvaluateModel. The performance metrics for each trial are saved after fitting the model. -![](RackMultipart20220915-1-erje6c_html_646ed6569b43cba5.png) - -_Figure 1. Sample code for using the EvaluateModel class in honest\_ml_ +![Using the EvaluateModel class in honest_ml.\label{fig:Figure 1}](https://github.com/ZachJon1/honest_ml/blob/main/paper1/Figure1.jpg) The [honest\_ml](https://github.com/EricSchles/honest_ml) library also have a visualization tool that allows users to view results of each trial relative to other trials stored in a user defined variable using the EvaluateModel class. For example, using the model\_instances created above in the logistic regression model, users can compare metrics such as the precision, recall and f1-score for classification models. Figure 2 and Figure 3 shows the distribution of the precision and recall for 200 trials of the logistic regression model with two classes 0 and 1. Models that produce less normal distributions indicate a sensitivity of the model to the training data and provides users with a realistic expectation of the model in production than a point statistic would provide. -![](RackMultipart20220915-1-erje6c_html_e95300b08451126.png) - -_Figure 2. Comparison of the distribution of the precision and recall for different trials for the class 0_ - -![](RackMultipart20220915-1-erje6c_html_6fd2ab5f2df4e95d.png) +![Comparison of the distribution of the precision and recall for different trials for the class 0\label{fig: Figure 2}](https://github.com/ZachJon1/honest_ml/blob/main/paper1/Figure2.jpg) -_Figure 3. Sensitivity of class 1 to different trials using recall and precision distribution_ +![Sensitivity of class 1 to different trials using recall and precision distribution\label{fig: Figure 3}](https://github.com/ZachJon1/honest_ml/blob/main/paper1/Figure3.jpg) -# 4.References +# References Arlot, S., & Celisse, A. (2010). A survey of cross-validation procedures for model selection. _Statistics surveys_, _4_(none), 40-79. [https://doi.org/10.1214/09-SS054](https://doi.org/10.1214/09-SS054) From 0d371eef5456099ec5fc76821284100cbe2ab45f Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Thu, 15 Sep 2022 13:45:39 -0400 Subject: [PATCH 09/20] Add files via upload --- paper1/paper.bib | 368 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 368 insertions(+) create mode 100644 paper1/paper.bib diff --git a/paper1/paper.bib b/paper1/paper.bib new file mode 100644 index 0000000..6f1ad6e --- /dev/null +++ b/paper1/paper.bib @@ -0,0 +1,368 @@ +@misc{RN11, + author = {Andersen, Per Kragh}, + title = {3. Applied Logistic Regression. 2nd edn. David W. Hosmer and Stanley Lemeshow. Wiley, New York, 2000. No. of pages: xii+373. Price: £60.95. ISBN 0-471-35632-8}, + publisher = {John Wiley & Sons, Ltd}, + volume = {21}, + pages = {1963-1964}, + note = {ArticleID:SIM1236}, + ISBN = {0277-6715}, + DOI = {10.1002/sim.1236}, + year = {2002}, + type = {Generic} +} + +@article{RN19, + author = {Arlot, Sylvain and Celisse, Alain}, + title = {A survey of cross-validation procedures for model selection}, + journal = {Statistics surveys}, + volume = {4}, + number = {none}, + pages = {40-79}, + abstract = {Used to estimate the risk of an estimator or to perform model selection, cross-validation is a widespread strategy because of its simplicity and its apparent universality. Many results exist on the model selection performances of cross-validation procedures. This survey intends to relate these results to the most recent advances of model selection theory, with a particular emphasis on distinguishing empirical statements from rigorous theoretical results. As a conclusion, guidelines are provided for choosing the best cross-validation procedure according to the particular features of the problem in hand.}, + keywords = {Applications +Bayesian analysis +Cross-validation +Leave-one-out +Mathematics +Methodology +Model selection +Other Statistics +Statistics +Statistics Theory}, + ISSN = {1935-7516}, + DOI = {10.1214/09-SS054}, + year = {2010}, + type = {Journal Article} +} + +@book{RN5, + author = {Bickel, Peter J. and Doksum, Kjell A.}, + title = {Mathematical statistics: Basic ideas and selected topics, second edition}, + volume = {1}, + ISBN = {9781498723817}, + DOI = {10.1201/b18312}, + year = {2015}, + type = {Book} +} + +@article{RN22, + author = {Buitinck, Lars and Louppe, Gilles and Blondel, Mathieu and Pedregosa, Fabian and Mueller, Andreas and Grisel, Olivier and Niculae, Vlad and Prettenhofer, Peter and Gramfort, Alexandre and Grobler, Jaques}, + title = {API design for machine learning software: experiences from the scikit-learn project}, + journal = {arXiv preprint arXiv:1309.0238}, + year = {2013}, + type = {Journal Article} +} + +@article{RN16, + author = {Chernozhukov, Victor and Newey, Whitney K. and Singh, Rahul}, + title = {Automatic Debiased Machine Learning of Causal and Structural Effects}, + journal = {Econometrica}, + volume = {90}, + number = {3}, + pages = {967-1027}, + abstract = {Many causal and structural effects depend on regressions. Examples include policy effects, average derivatives, regression decompositions, average treatment effects, causal mediation, and parameters of economic structural models. The regressions may be high‐dimensional, making machine learning useful. Plugging machine learners into identifying equations can lead to poor inference due to bias from regularization and/or model selection. This paper gives automatic debiasing for linear and nonlinear functions of regressions. The debiasing is automatic in using Lasso and the function of interest without the full form of the bias correction. The debiasing can be applied to any regression learner, including neural nets, random forests, Lasso, boosting, and other high‐dimensional methods. In addition to providing the bias correction, we give standard errors that are robust to misspecification, convergence rates for the bias correction, and primitive conditions for asymptotic inference for estimators of a variety of estimators of structural and causal effects. The automatic debiased machine learning is used to estimate the average treatment effect on the treated for the NSW job training data and to estimate demand elasticities from Nielsen scanner data while allowing preferences to be correlated with prices and income.}, + keywords = {Analysis +Automatic +Averages +Bias +causal parameters +Convergence +Debiased machine learning +Elasticity of demand +Forests +Lasso +Learning +Machine learning +Mediation +Nonlinear functions +Occupational training +Parameters +Prices +regression effects +Riesz representation +Structural models +structural parameters +Vocational education}, + ISSN = {0012-9682}, + DOI = {10.3982/ECTA18515}, + year = {2022}, + type = {Journal Article} +} + +@article{RN13, + author = {de Ville, Barry}, + title = {Decision trees}, + journal = {Wiley interdisciplinary reviews. Computational statistics}, + volume = {5}, + number = {6}, + pages = {448-455}, + note = {ArticleID:WICS1278}, + abstract = {Decision trees trace their origins to the era of the early development of written records. This history illustrates a major strength of trees: exceptionally interpretable results which have an intuitive tree‐like display which, in turn, enhances understanding and the dissemination of results. The computational origins of decision trees—sometimes called classification trees or regression trees—are models of biological and cognitive processes. This common heritage drives complementary developments of both statistical decision trees and trees designed for machine learning. The unfolding and progressive elucidation of the various features of trees throughout their early history in the late 20th century is discussed along with the important associated reference points and responsible authors. Statistical approaches, such as a hypothesis testing and various resampling approaches, have coevolved along with machine learning implementations. This had resulted in exceptionally adaptable decision tree tools, appropriate for various statistical and machine learning tasks, across various levels of measurement, with varying levels of data quality. Trees are robust in the presence of missing data and offer multiple ways of incorporating missing data in the resulting models. Although trees are powerful, they are also flexible and easy to use methods. This assures the production of high quality results that require few assumptions to deploy. The treatment ends with a discussion of the most current developments which continue to rely on the synergies and cross‐fertilization between statistical and machine learning communities. Current developments with the emergence of multiple trees and the various resampling approaches that are employed are discussed. WIREs Comput Stat 2013, 5:448–455. doi: 10.1002/wics.1278 This article is categorized under: Statistical Learning and Exploratory Methods of the Data Sciences > Clustering and Classification Statistical Learning and Exploratory Methods of the Data Sciences > Pattern Recognition Statistical Learning and Exploratory Methods of the Data Sciences > Rule-Based Mining}, + keywords = {Boosting +Computation +Decision trees +Machine learning +Missing data +Origins +Predictive models +Random forests +Resampling +Rule induction +Trees +Wire}, + ISSN = {1939-5108}, + DOI = {10.1002/wics.1278}, + year = {2013}, + type = {Journal Article} +} + +@article{RN8, + author = {Doan, Quoc Hoan and Mai, Sy-Hung and Do, Quang Thang and Thai, Duc-Kien}, + title = {A cluster-based data splitting method for small sample and class imbalance problems in impact damage classification}, + journal = {Applied soft computing}, + volume = {120}, + pages = {108628}, + abstract = {From collected experimental data, a rapid and precise classification model for impact damage modes (IMDs) can be developed using machine learning (ML) techniques to evaluate impact resistant capabilities of reinforced concrete (RC) building walls. However, experimental data is often small and imbalanced, resulting in significant degradation and instability in classification performance. In this study, an imbalanced 4-classes dataset consisted of 240 missile impact tests is employed, with the most minor class containing only 10 samples. The paper aims to develop an automated classification model for IDMs, using a clustering-based within-class stratified splitting technique, named WICS, combining with a well-known oversampling technique, namely SMOTE-NC, that considers not only the between-class imbalance but also the within-class distribution to stabilize the classification performance. Four classifiers and five data splitting techniques are developed and implemented to address classification performance. We found that the support vector machine (SVM) classifier using WICS and SMOTE-NC achieves the best micro F1 score (0.821), Cohen’s kappa score (0.700), and AUC value (0.949) with highly stable performance. Friedman and Holm’s post-hoc statistical tests also confirm the outperformance of WICS+SMOTE-NC over other techniques. •A new splitting technique is proposed to address the small-imbalanced data problem.•A classification model for impact damages of resistant RC walls is developed.•The developed machine learning (ML) model can rapidly assess the impact damages.•The ML model applying the proposed technique achieves high and stable performance.}, + keywords = {Analysis +Green technology +Imbalanced dataset +Impact damage +Impact loading +Machine learning +Methods +RC walls +School construction +Small dataset}, + ISSN = {1568-4946}, + DOI = {10.1016/j.asoc.2022.108628}, + year = {2022}, + type = {Journal Article} +} + +@book{RN9, + author = {Edelkamp, Stefan and Möller, Ralf and Rueckert, Elmar}, + title = {KI 2021: advances in artificial intelligence : 44th German Conference on AI, virtual event, September 27 - October 1, 2021 : proceedings}, + publisher = {Springer}, + address = {Cham, Switzerland}, + series = {Lecture Notes in Computer Science Ser. ; v.12873}, + note = {Includes bibliographical references and index.}, + keywords = {Optical data processing +Electronic books}, + ISBN = {3-030-87626-8}, + year = {2021}, + type = {Book} +} + +@misc{RN10, + author = {Gortmaker, Steven L.}, + title = {Theory and methods -- Applied Logistic Regression by David W. Hosmer Jr and Stanley Lemeshow}, + publisher = {Sage Publications Ltd}, + volume = {23}, + pages = {159}, + keywords = {Epidemiology +Nonfiction +Statistical methods +Statistics +Variables}, + ISBN = {0094-3061}, + year = {1994}, + type = {Generic} +} + +@book{RN4, + author = {James, Gareth}, + title = {An introduction to statistical learning : with applications in R}, + publisher = {Springer}, + address = {New York, New York}, + edition = {2nd}, + series = {Springer Texts in Statistics}, + note = {(Gareth Michael)}, + abstract = {Presents an essential statistical learning toolkit for practitioners in science, industry, and other fields. Demonstrates application of the statistical learning methods in R. Includes new chapters on deep learning, survival analysis, and multiple testing. Covers a range of topics, such as linear regression, classification, resampling methods, shrinkage approaches, tree-based methods, support vector machines, clustering, and deep learning. Features extensive color graphics for a dynamic learning experience.}, + keywords = {Mathematical statistics +Mathematical models +R (Computer program language) +Electronic books}, + ISBN = {1-0716-1418-5}, + year = {2021}, + type = {Book} +} + +@inproceedings{RN20, + author = {Kohavi, Ron}, + title = {A study of cross-validation and bootstrap for accuracy estimation and model selection}, + booktitle = {Ijcai}, + publisher = {Montreal, Canada}, + volume = {14}, + pages = {1137-1145}, + type = {Conference Proceedings} +} + +@book{RN15, + author = {Kok, Joost N.}, + title = {Machine learning : ECML 2007 : 18th European Conference on Machine Learning, Warsaw, Poland, September 17-21, 2007 : proceedings}, + publisher = {Springer}, + address = {Berlin, Germany ;}, + edition = {1st 2007.}, + series = {Lecture notes in computer science. Lecture notes in artificial intelligence ;4701}, + note = {Includes bibliographical references and index.}, + abstract = {The two premier annual European conferences in the areas of machine learning and data mining have been collocated ever since the ?rst joint conference in Freiburg, 2001. The European Conference on Machine Learning (ECML) traces its origins to 1986, when the ?rst European Working Session on Learning was held in Orsay, France. The European Conference on Principles and Practice of KnowledgeDiscoveryinDatabases(PKDD) was?rstheldin1997inTrondheim, Norway. Over the years, the ECML/PKDD series has evolved into one of the largest and most selective international conferences in machine learning and data mining. In 2007, the seventh collocated ECML/PKDD took place during September 17–21 on the centralcampus of WarsawUniversityand in the nearby Staszic Palace of the Polish Academy of Sciences. The conference for the third time used a hierarchical reviewing process. We nominated 30 Area Chairs, each of them responsible for one sub-?eld or several closely related research topics. Suitable areas were selected on the basis of the submission statistics for ECML/PKDD 2006 and for last year’s International Conference on Machine Learning (ICML 2006) to ensure a proper load balance amongtheAreaChairs.AjointProgramCommittee(PC)wasnominatedforthe two conferences, consisting of some 300 renowned researchers, mostly proposed by the Area Chairs. This joint PC, the largest of the series to date, allowed us to exploit synergies and deal competently with topic overlaps between ECML and PKDD. ECML/PKDD 2007 received 592 abstract submissions. As in previous years, toassistthereviewersandtheAreaChairsintheir?nalrecommendationauthors had the opportunity to communicate their feedback after the reviewing phase.}, + keywords = {Machine learning +Electronic books}, + ISBN = {3-540-74958-6}, + DOI = {10.1007/978-3-540-74958-5}, + year = {2007}, + type = {Book} +} + +@book{RN3, + author = {Kuhn, Max and Johnson, Kjell}, + title = {Applied Predictive Modeling}, + publisher = {Springer New York}, + address = {New York, NY}, + keywords = {Linear Discriminant Analysis +Multivariate Adaptive Regression Spline +Predictive Model +Recursive Partitioning}, + pages = {595}, + ISBN = {9781461468486}, + DOI = {10.1007/978-1-4614-6849-3}, + year = {2013}, + type = {Book} +} + +@article{RN17, + author = {Marsili, Matteo and Roudi, Yasser}, + title = {Quantifying relevance in learning and inference}, + journal = {Physics reports}, + volume = {963}, + pages = {1-43}, + abstract = {Learning is a distinctive feature of intelligent behaviour. High-throughput experimental data and Big Data promise to open new windows on complex systems such as cells, the brain or our societies. Yet, the puzzling success of Artificial Intelligence and Machine Learning shows that we still have a poor conceptual understanding of learning. These applications push statistical inference into uncharted territories where data is high-dimensional and scarce, and prior information on “true” models is scant if not totally absent. Here we review recent progress on understanding learning, based on the notion of “relevance”. The relevance, as we define it here, quantifies the amount of information that a dataset or the internal representation of a learning machine contains on the generative model of the data. This allows us to define maximally informative samples, on one hand, and optimal learning machines on the other. These are ideal limits of samples and of machines, that contain the maximal amount of information about the unknown generative process, at a given resolution (or level of compression). Both ideal limits exhibit critical features in the statistical sense: Maximally informative samples are characterised by a power-law frequency distribution (statistical criticality) and optimal learning machines by an anomalously large susceptibility. The trade-off between resolution (i.e. compression) and relevance distinguishes the regime of noisy representations from that of lossy compression. These are separated by a special point characterised by Zipf’s law statistics. This identifies samples obeying Zipf’s law as the most compressed loss-less representations that are optimal in the sense of maximal relevance. Criticality in optimal learning machines manifests in an exponential degeneracy of energy levels, that leads to unusual thermodynamic properties. This distinctive feature is consistent with the invariance of the classification under coarse graining of the output, which is a desirable property of learning machines. This theoretical framework is corroborated by empirical analysis showing (i) how the concept of relevance can be useful to identify relevant variables in high-dimensional inference and (ii) that widely used machine learning architectures approach reasonably well the ideal limit of optimal learning machines, within the limits of the data with which they are trained.}, + keywords = {Analysis +Artificial intelligence +Big Data +Complex systems +Electric power distribution +Energy levels +Frequency distribution +Information theory +Machine learning +Machinery +Magneto-electric machines +Relevance +Representations +Samples +Statistical analysis +Statistical inference +Statistical methods +Thermodynamic properties +Zipf's Law}, + ISSN = {0370-1573}, + DOI = {10.1016/j.physrep.2022.03.001}, + year = {2022}, + type = {Journal Article} +} + +@article{RN1, + author = {Montgomery, Douglas C}, + title = {Response surface methods and designs}, + journal = {Design and analysis of experiments}, + year = {1991}, + type = {Journal Article} +} + +@article{RN2, + author = {Pawluszek-Filipiak, Kamila and Borkowski, Andrzej}, + title = {On the Importance of Train–Test Split Ratio of Datasets in Automatic Landslide Detection by Supervised Classification}, + journal = {Remote sensing (Basel, Switzerland)}, + volume = {12}, + number = {18}, + pages = {3054}, + abstract = {Many automatic landslide detection algorithms are based on supervised classification of various remote sensing (RS) data, particularly satellite images and digital elevation models (DEMs) delivered by Light Detection and Ranging (LiDAR). Machine learning methods require the collection of both training and testing data to produce and evaluate the classification results. The collection of good quality landslide ground truths to train classifiers and detect landslides in other regions is a challenge, with a significant impact on classification accuracy. Taking this into account, the following research question arises: What is the appropriate training–testing dataset split ratio in supervised classification to effectively detect landslides in a testing area based on DEMs? We investigated this issue for both the pixel-based approach (PBA) and object-based image analysis (OBIA). In both approaches, the random forest (RF) classification was implemented. The experiments were performed in the most landslide-affected area in Poland in the Outer Carpathians-Rożnów Lake vicinity. Based on the accuracy assessment, we found that the training area should be of a similar size to the testing area. We also found that the OBIA approach performs slightly better than PBA when the quantity of training samples is significantly lower than the testing samples. To increase detection performance, the intersection of the OBIA and PBA results together with median filtering and the removal of small elongated objects were performed. This allowed an overall accuracy (OA) = 80% and F1 Score = 0.50 to be achieved. The achieved results are compared and discussed with other landslide detection-related studies.}, + keywords = {automatic landslide detection +OBIA +PBA +random forests +supervised classification}, + ISSN = {2072-4292}, + DOI = {10.3390/rs12183054}, + year = {2020}, + type = {Journal Article} +} + +@article{RN21, + author = {Pedregosa, Fabian and Varoquaux, Gaël and Gramfort, Alexandre and Michel, Vincent and Thirion, Bertrand and Grisel, Olivier and Blondel, Mathieu and Prettenhofer, Peter and Weiss, Ron and Dubourg, Vincent}, + title = {Scikit-learn: Machine learning in Python}, + journal = {the Journal of machine Learning research}, + volume = {12}, + pages = {2825-2830}, + ISSN = {1532-4435}, + year = {2011}, + type = {Journal Article} +} + +@article{RN7, + author = {Salazar, Jose J. and Garland, Lean and Ochoa, Jesus and Pyrcz, Michael J.}, + title = {Fair train-test split in machine learning: Mitigating spatial autocorrelation for improved prediction accuracy}, + journal = {Journal of Petroleum Science and Engineering}, + volume = {209}, + pages = {109885}, + abstract = {Machine learning supports prediction and inference in multivariate and complex datasets where observations are spatially related to one another. Frequently, these datasets depict spatial autocorrelation that violates the assumption of identically and independently distributed data. Overlooking this correlation result in over-optimistic models that fail to account for the geographical configuration of data. Furthermore, although different data split methods account for spatial autocorrelation, these methods are inflexible, and the parameter training and hyperparameter tuning of the machine learning model is set with a different prediction difficulty than the planned real-world use of the model. In other words, it is an unfair training-testing process. We present a novel method that considers spatial autocorrelation and planned real-world use of the spatial prediction model to design a fair train-test split. Demonstrations include two examples of the planned real-world use of the model using a realistic multivariate synthetic dataset and the analysis of 148 wells from an undisclosed Equinor play. First, the workflow applies the semivariogram model of the target to compute the simple kriging variance as a proxy of spatial estimation difficulty based on the spatial data configuration. Second, the workflow employs a modified rejection sampling to generate a test set with similar prediction difficulty as the planned real-world use of the model. Third, we compare 100 test sets' realizations to the model's planned real-world use, using probability distributions and two divergence metrics: the Jensen-Shannon distance and the mean squared error. The analysis ranks the spatial fair train-test split method as the only one to replicate the difficulty (i.e., kriging variance) compared to the validation set approach and spatial cross-validation. Moreover, the proposed method outperforms the validation set approach, yielding a minor mean percentage error when predicting a target feature in an undisclosed Equinor play using a random forest model. The resulting outputs are training and test sets ready for model fit and assessment with any machine learning algorithm. Thus, the proposed workflow offers spatial aware sets ready for predictive machine learning problems with similar estimation difficulty as the planned real-world use of the model and compatible with any spatial data analysis task.}, + keywords = {Fairness +Spatial autocorrelation +Train-test split +Kriging +Cross-validation}, + ISSN = {0920-4105}, + DOI = {https://doi.org/10.1016/j.petrol.2021.109885}, + url = {https://www.sciencedirect.com/science/article/pii/S0920410521015023}, + year = {2022}, + type = {Journal Article} +} + +@book{RN14, + author = {Shalev-Shwartz, Shai and Ben-David, Shai}, + title = {Understanding machine learning: From theory to algorithms}, + volume = {9781107057135}, + ISBN = {9781107057135}, + DOI = {10.1017/CBO9781107298019}, + year = {2013}, + type = {Book} +} + +@article{RN6, + author = {Tan, Jimin and Yang, Jianan and Wu, Sai and Chen, Gang and Zhao, Jake}, + title = {A critical look at the current train/test split in machine learning}, + abstract = {The randomized or cross-validated split of training and testing sets has been adopted as the gold standard of machine learning for decades. The establishment of these split protocols are based on two assumptions: (i)-fixing the dataset to be eternally static so we could evaluate different machine learning algorithms or models; (ii)-there is a complete set of annotated data available to researchers or industrial practitioners. However, in this article, we intend to take a closer and critical look at the split protocol itself and point out its weakness and limitation, especially for industrial applications. In many real-world problems, we must acknowledge that there are numerous situations where assumption (ii) does not hold. For instance, for interdisciplinary applications like drug discovery, it often requires real lab experiments to annotate data which poses huge costs in both time and financial considerations. In other words, it can be very difficult or even impossible to satisfy assumption (ii). In this article, we intend to access this problem and reiterate the paradigm of active learning, and investigate its potential on solving problems under unconventional train/test split protocols. We further propose a new adaptive active learning architecture (AAL) which involves an adaptation policy, in comparison with the traditional active learning that only unidirectionally adds data points to the training pool. We primarily justify our points by extensively investigating an interdisciplinary drug-protein binding problem. We additionally evaluate AAL on more conventional machine learning benchmarking datasets like CIFAR-10 to demonstrate the generalizability and efficacy of the new framework.}, + year = {2021}, + type = {Journal Article} +} + +@book{RN12, + author = {Vittinghoff, Eric and Glidden, David V. and Shiboski, Stephen C. and McCulloch, Charles E.}, + title = {Regression Methods in Biostatistics Linear, Logistic, Survival, and Repeated Measures Models}, + publisher = {Springer New York}, + address = {New York, NY}, + edition = {2nd 2012.}, + series = {Statistics for Biology and Health}, + note = {Includes bibliographical references and index.}, + abstract = {This new edition provides a unified, in-depth, readable introduction to the multipredictor regression methods most widely used in biostatistics: linear models for continuous outcomes, logistic models for binary outcomes, the Cox model for right-censored survival times, repeated-measures models for longitudinal and hierarchical outcomes, and generalized linear models for counts and other outcomes. Treating these topics together takes advantage of all they have in common. The authors point out the many-shared elements in the methods they present for selecting, estimating, checking, and interpreting each of these models. They also show that these regression methods deal with confounding, mediation, and interaction of causal effects in essentially the same way. The examples, analyzed using Stata, are drawn from the biomedical context but generalize to other areas of application. While a first course in statistics is assumed, a chapter reviewing basic statistical methods is included. Some advanced topics are covered but the presentation remains intuitive. A brief introduction to regression analysis of complex surveys and notes for further reading are provided. For many students and researchers learning to use these methods, this one book may be all they need to conduct and interpret multipredictor regression analyses. In the second edition, the authors have substantially expanded the core chapters, including new coverage of exact, ordinal, and multinomial logistic models, discrete time and competing risks survival models, within and between effects in longitudinal models, zero-inflated Poisson and negative binomial models, cross-validation for prediction model selection, directed acyclic graphs, and sample size, power and minimum detectable effect calculations; Stata code is also updated. In addition, there are new chapters on methods for strengthening causal inference, including propensity scores, marginal structural models, and instrumental variables, and on methods for handling missing data, using maximum likelihood, multiple imputation, inverse weighting, and pattern mixture models. From the reviews of the first edition: "This book provides a unified introduction to the regression methods listed in the title...The methods are well illustrated by data drawn from medical studies...A real strength of this book is the careful discussion of issues common to all of the multipredictor methods covered." Journal of Biopharmaceutical Statistics, 2005 "This book is not just for biostatisticians. It is, in fact, a very good, and relatively nonmathematical, overview of multipredictor regression models. Although the examples are biologically oriented, they are generally easy to understand and follow...I heartily recommend the book" Technometrics, February 2006 "Overall, the text provides an overview of regression methods that is particularly strong in its breadth of coverage and emphasis on insight in place of mathematical detail. As intended, this well-unified approach should appeal to students who learn conceptually and verbally." Journal of the American Statistical Association, March 2006.}, + keywords = {UmU kursbok +Statistics  +Public health +Statistics for Life Sciences, Medicine, Health Sciences +Epidemiology}, + ISBN = {1-4614-1353-2}, + DOI = {10.1007/978-1-4614-1353-0}, + year = {2012}, + type = {Book} +} + +@misc{RN18, + author = {z_ai}, + title = {The Ultimate Guide to Debugging your Machine Learning models}, + pages = {https://towardsdatascience.com/the-ultimate-guide-to-debugging-your-machine-learning-models-103dc0f9e421}, + month = {8/20/2022}, + year = {2020}, + type = {Online Multimedia} +} + From cef42341129e988b38f30c9c0813a20ea8fece4f Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Thu, 15 Sep 2022 14:19:41 -0400 Subject: [PATCH 10/20] Update paper.bib --- paper1/paper.bib | 46 ++++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/paper1/paper.bib b/paper1/paper.bib index 6f1ad6e..24b316c 100644 --- a/paper1/paper.bib +++ b/paper1/paper.bib @@ -1,4 +1,4 @@ -@misc{RN11, +@misc{Andersen:2002, author = {Andersen, Per Kragh}, title = {3. Applied Logistic Regression. 2nd edn. David W. Hosmer and Stanley Lemeshow. Wiley, New York, 2000. No. of pages: xii+373. Price: £60.95. ISBN 0-471-35632-8}, publisher = {John Wiley & Sons, Ltd}, @@ -11,7 +11,7 @@ @misc{RN11 type = {Generic} } -@article{RN19, +@article{Arlot:2010, author = {Arlot, Sylvain and Celisse, Alain}, title = {A survey of cross-validation procedures for model selection}, journal = {Statistics surveys}, @@ -35,7 +35,7 @@ @article{RN19 type = {Journal Article} } -@book{RN5, +@book{Bickel:2015, author = {Bickel, Peter J. and Doksum, Kjell A.}, title = {Mathematical statistics: Basic ideas and selected topics, second edition}, volume = {1}, @@ -45,7 +45,7 @@ @book{RN5 type = {Book} } -@article{RN22, +@article{Buitinck:2013, author = {Buitinck, Lars and Louppe, Gilles and Blondel, Mathieu and Pedregosa, Fabian and Mueller, Andreas and Grisel, Olivier and Niculae, Vlad and Prettenhofer, Peter and Gramfort, Alexandre and Grobler, Jaques}, title = {API design for machine learning software: experiences from the scikit-learn project}, journal = {arXiv preprint arXiv:1309.0238}, @@ -53,7 +53,7 @@ @article{RN22 type = {Journal Article} } -@article{RN16, +@article{Chernozhukov:2022, author = {Chernozhukov, Victor and Newey, Whitney K. and Singh, Rahul}, title = {Automatic Debiased Machine Learning of Causal and Structural Effects}, journal = {Econometrica}, @@ -89,7 +89,7 @@ @article{RN16 type = {Journal Article} } -@article{RN13, +@article{de Ville:2013, author = {de Ville, Barry}, title = {Decision trees}, journal = {Wiley interdisciplinary reviews. Computational statistics}, @@ -116,7 +116,7 @@ @article{RN13 type = {Journal Article} } -@article{RN8, +@article{Doan: 2022, author = {Doan, Quoc Hoan and Mai, Sy-Hung and Do, Quang Thang and Thai, Duc-Kien}, title = {A cluster-based data splitting method for small sample and class imbalance problems in impact damage classification}, journal = {Applied soft computing}, @@ -139,7 +139,7 @@ @article{RN8 type = {Journal Article} } -@book{RN9, +@book{Edelkamp:2021, author = {Edelkamp, Stefan and Möller, Ralf and Rueckert, Elmar}, title = {KI 2021: advances in artificial intelligence : 44th German Conference on AI, virtual event, September 27 - October 1, 2021 : proceedings}, publisher = {Springer}, @@ -153,7 +153,7 @@ @book{RN9 type = {Book} } -@misc{RN10, +@misc{Gortmaker:1994, author = {Gortmaker, Steven L.}, title = {Theory and methods -- Applied Logistic Regression by David W. Hosmer Jr and Stanley Lemeshow}, publisher = {Sage Publications Ltd}, @@ -169,7 +169,7 @@ @misc{RN10 type = {Generic} } -@book{RN4, +@book{James:2021, author = {James, Gareth}, title = {An introduction to statistical learning : with applications in R}, publisher = {Springer}, @@ -187,17 +187,19 @@ @book{RN4 type = {Book} } -@inproceedings{RN20, +@inproceedings{Kohavi:1995, author = {Kohavi, Ron}, title = {A study of cross-validation and bootstrap for accuracy estimation and model selection}, booktitle = {Ijcai}, publisher = {Montreal, Canada}, volume = {14}, pages = {1137-1145}, + year = {1995}, type = {Conference Proceedings} + } -@book{RN15, +@book{Kok:2007, author = {Kok, Joost N.}, title = {Machine learning : ECML 2007 : 18th European Conference on Machine Learning, Warsaw, Poland, September 17-21, 2007 : proceedings}, publisher = {Springer}, @@ -214,7 +216,7 @@ @book{RN15 type = {Book} } -@book{RN3, +@book{Kuhn:2013, author = {Kuhn, Max and Johnson, Kjell}, title = {Applied Predictive Modeling}, publisher = {Springer New York}, @@ -230,7 +232,7 @@ @book{RN3 type = {Book} } -@article{RN17, +@article{Marsili:2022, author = {Marsili, Matteo and Roudi, Yasser}, title = {Quantifying relevance in learning and inference}, journal = {Physics reports}, @@ -262,7 +264,7 @@ @article{RN17 type = {Journal Article} } -@article{RN1, +@article{Montgomery:1991, author = {Montgomery, Douglas C}, title = {Response surface methods and designs}, journal = {Design and analysis of experiments}, @@ -270,7 +272,7 @@ @article{RN1 type = {Journal Article} } -@article{RN2, +@article{Pawluszek-Filipiak:2020, author = {Pawluszek-Filipiak, Kamila and Borkowski, Andrzej}, title = {On the Importance of Train–Test Split Ratio of Datasets in Automatic Landslide Detection by Supervised Classification}, journal = {Remote sensing (Basel, Switzerland)}, @@ -289,7 +291,7 @@ @article{RN2 type = {Journal Article} } -@article{RN21, +@article{Pedregosa:2011, author = {Pedregosa, Fabian and Varoquaux, Gaël and Gramfort, Alexandre and Michel, Vincent and Thirion, Bertrand and Grisel, Olivier and Blondel, Mathieu and Prettenhofer, Peter and Weiss, Ron and Dubourg, Vincent}, title = {Scikit-learn: Machine learning in Python}, journal = {the Journal of machine Learning research}, @@ -300,7 +302,7 @@ @article{RN21 type = {Journal Article} } -@article{RN7, +@article{Salazar:2022, author = {Salazar, Jose J. and Garland, Lean and Ochoa, Jesus and Pyrcz, Michael J.}, title = {Fair train-test split in machine learning: Mitigating spatial autocorrelation for improved prediction accuracy}, journal = {Journal of Petroleum Science and Engineering}, @@ -319,7 +321,7 @@ @article{RN7 type = {Journal Article} } -@book{RN14, +@book{Shalev-Shwartz:2013, author = {Shalev-Shwartz, Shai and Ben-David, Shai}, title = {Understanding machine learning: From theory to algorithms}, volume = {9781107057135}, @@ -329,7 +331,7 @@ @book{RN14 type = {Book} } -@article{RN6, +@article{Tan:2021, author = {Tan, Jimin and Yang, Jianan and Wu, Sai and Chen, Gang and Zhao, Jake}, title = {A critical look at the current train/test split in machine learning}, abstract = {The randomized or cross-validated split of training and testing sets has been adopted as the gold standard of machine learning for decades. The establishment of these split protocols are based on two assumptions: (i)-fixing the dataset to be eternally static so we could evaluate different machine learning algorithms or models; (ii)-there is a complete set of annotated data available to researchers or industrial practitioners. However, in this article, we intend to take a closer and critical look at the split protocol itself and point out its weakness and limitation, especially for industrial applications. In many real-world problems, we must acknowledge that there are numerous situations where assumption (ii) does not hold. For instance, for interdisciplinary applications like drug discovery, it often requires real lab experiments to annotate data which poses huge costs in both time and financial considerations. In other words, it can be very difficult or even impossible to satisfy assumption (ii). In this article, we intend to access this problem and reiterate the paradigm of active learning, and investigate its potential on solving problems under unconventional train/test split protocols. We further propose a new adaptive active learning architecture (AAL) which involves an adaptation policy, in comparison with the traditional active learning that only unidirectionally adds data points to the training pool. We primarily justify our points by extensively investigating an interdisciplinary drug-protein binding problem. We additionally evaluate AAL on more conventional machine learning benchmarking datasets like CIFAR-10 to demonstrate the generalizability and efficacy of the new framework.}, @@ -337,7 +339,7 @@ @article{RN6 type = {Journal Article} } -@book{RN12, +@book{Vittinghoff:2012, author = {Vittinghoff, Eric and Glidden, David V. and Shiboski, Stephen C. and McCulloch, Charles E.}, title = {Regression Methods in Biostatistics Linear, Logistic, Survival, and Repeated Measures Models}, publisher = {Springer New York}, @@ -357,7 +359,7 @@ @book{RN12 type = {Book} } -@misc{RN18, +@misc{z_ai:2020, author = {z_ai}, title = {The Ultimate Guide to Debugging your Machine Learning models}, pages = {https://towardsdatascience.com/the-ultimate-guide-to-debugging-your-machine-learning-models-103dc0f9e421}, From 04d7afbf9f3d8aae50e836e780ddaa48b330f55c Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Thu, 15 Sep 2022 14:20:39 -0400 Subject: [PATCH 11/20] Update Paper.md --- paper1/Paper.md | 42 ------------------------------------------ 1 file changed, 42 deletions(-) diff --git a/paper1/Paper.md b/paper1/Paper.md index 3cddd45..c6c2ea7 100644 --- a/paper1/Paper.md +++ b/paper1/Paper.md @@ -59,45 +59,3 @@ For example, using the model\_instances created above in the logistic regression # References -Arlot, S., & Celisse, A. (2010). A survey of cross-validation procedures for model selection. _Statistics surveys_, _4_(none), 40-79. [https://doi.org/10.1214/09-SS054](https://doi.org/10.1214/09-SS054) - -Bickel, P. J., & Doksum, K. A. (2015). _Mathematical statistics: Basic ideas and selected topics, second edition_ (Vol. 1). [https://doi.org/10.1201/b18312](https://doi.org/10.1201/b18312) - -Buitinck, L., Louppe, G., Blondel, M., Pedregosa, F., Mueller, A., Grisel, O., Niculae, V., Prettenhofer, P., Gramfort, A., & Grobler, J. (2013). API design for machine learning software: experiences from the scikit-learn project. _arXiv preprint arXiv:1309.0238_. - -Chernozhukov, V., Newey, W. K., & Singh, R. (2022). Automatic Debiased Machine Learning of Causal and Structural Effects. _Econometrica_, _90_(3), 967-1027. [https://doi.org/10.3982/ECTA18515](https://doi.org/10.3982/ECTA18515) - -de Ville, B. (2013). Decision trees. _Wiley interdisciplinary reviews. Computational statistics_, _5_(6), 448-455. [https://doi.org/10.1002/wics.1278](https://doi.org/10.1002/wics.1278) - -Doan, Q. H., Mai, S.-H., Do, Q. T., & Thai, D.-K. (2022). A cluster-based data splitting method for small sample and class imbalance problems in impact damage classification. _Applied soft computing_, _120_, 108628. [https://doi.org/10.1016/j.asoc.2022.108628](https://doi.org/10.1016/j.asoc.2022.108628) - -Edelkamp, S., Möller, R., & Rueckert, E. (2021). _KI 2021: advances in artificial intelligence : 44th German Conference on AI, virtual event, September 27 - October 1, 2021 : proceedings_. Springer. - -Gortmaker, S. L. (1994). Theory and methods -- Applied Logistic Regression by David W. Hosmer Jr and Stanley Lemeshow. In (Vol. 23, pp. 159). Washington: Sage Publications Ltd. - -James, G. (2021). _An introduction to statistical learning : with applications in R_ (2nd ed.). Springer. - -Kohavi, R. (1995). A study of cross-validation and bootstrap for accuracy estimation and model selection. Ijcai, - -Kok, J. N. (2007). _Machine learning : ECML 2007 : 18th European Conference on Machine Learning, Warsaw, Poland, September 17-21, 2007 : proceedings_ (1st 2007. ed.). Springer. [https://doi.org/10.1007/978-3-540-74958-5](https://doi.org/10.1007/978-3-540-74958-5) - -Kuhn, M., & Johnson, K. (2013). _Applied Predictive Modeling_. Springer New York. [https://doi.org/10.1007/978-1-4614-6849-3](https://doi.org/10.1007/978-1-4614-6849-3) - -Marsili, M., & Roudi, Y. (2022). Quantifying relevance in learning and inference. _Physics reports_, _963_, 1-43. [https://doi.org/10.1016/j.physrep.2022.03.001](https://doi.org/10.1016/j.physrep.2022.03.001) - -Montgomery, D. C. (1991). Response surface methods and designs. _Design and analysis of experiments_. - -Pawluszek-Filipiak, K., & Borkowski, A. (2020). On the Importance of Train–Test Split Ratio of Datasets in Automatic Landslide Detection by Supervised Classification. _Remote sensing (Basel, Switzerland)_, _12_(18), 3054. [https://doi.org/10.3390/rs12183054](https://doi.org/10.3390/rs12183054) - -Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., & Dubourg, V. (2011). Scikit-learn: Machine learning in Python. _the Journal of machine Learning research_, _12_, 2825-2830. - -Salazar, J. J., Garland, L., Ochoa, J., & Pyrcz, M. J. (2022). Fair train-test split in machine learning: Mitigating spatial autocorrelation for improved prediction accuracy. _Journal of Petroleum Science and Engineering_, _209_, 109885. [https://doi.org/https://doi.org/10.1016/j.petrol.2021.109885](https://doi.org/https://doi.org/10.1016/j.petrol.2021.109885) - -Shalev-Shwartz, S., & Ben-David, S. (2013). _Understanding machine learning: From theory to algorithms_ (Vol. 9781107057135). [https://doi.org/10.1017/CBO9781107298019](https://doi.org/10.1017/CBO9781107298019) - -Tan, J., Yang, J., Wu, S., Chen, G., & Zhao, J. (2021). A critical look at the current train/test split in machine learning. - -Vittinghoff, E., Glidden, D. V., Shiboski, S. C., & McCulloch, C. E. (2012). _Regression Methods in Biostatistics Linear, Logistic, Survival, and Repeated Measures Models_ (2nd 2012. ed.). Springer New York. [https://doi.org/10.1007/978-1-4614-1353-0](https://doi.org/10.1007/978-1-4614-1353-0) - -z\_ai. (2020). _The Ultimate Guide to Debugging your Machine Learning models_ [Article]. -``` From 46af019b6d0056eeec59058d2f6f921d3ccdd8f0 Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Thu, 15 Sep 2022 14:26:53 -0400 Subject: [PATCH 12/20] Create paper.md --- paper1/paper.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 paper1/paper.md diff --git a/paper1/paper.md b/paper1/paper.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/paper1/paper.md @@ -0,0 +1 @@ + From 60197d492a044c9fde69a9cdbaa29833c3bd0338 Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Thu, 15 Sep 2022 14:28:53 -0400 Subject: [PATCH 13/20] Update paper.md --- paper1/paper.md | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/paper1/paper.md b/paper1/paper.md index 8b13789..c6c2ea7 100644 --- a/paper1/paper.md +++ b/paper1/paper.md @@ -1 +1,61 @@ +--- +title: Honest ML: A library for building confidence in statistical models +tags: + - Python + - Machine Learning + - Intervals + +authors: + - name: Eric Schles + orcid: ### + equal-contrib: true + affiliation: "1, 2" + corresponding: true + - name: Abdul-Rashid Zakaria + orcid: 0000-0002-3694-7082 + equal-contrib: false + affiliation: 3 +affiliations: + - name: John Hopkins University Hospital, USA + index: 1 + - name: The City University of New York, USA + index: 2 + - name: Michigan Technological University, USA + index: 3 +date: 16 September 2022 +bibiliography: paper.bib +--- + +# Summary + +Machine learning metrics are built around the idea of training a model and then making out-of-sample predictions to test generalizability. There are a few standard methods; splitting the data into training and testing data and then predicting once on the testing or out of sample data. Using cross-validation to train on partitions of the data and then test by using one partition as the holdout and averaging the metric across all partitions. And finally, stratified partitioning splits the data subject to some condition, usually on the proportion of labels in the entire dataset. This paper will look at a library that implements a different method, training the model on many train-test splits and recording the out-of-sample error across these five hundred to more than a thousand splits. This creates higher confidence in the model and more closely simulates the likely scenarios you would find in the production setting, even with reasonably small datasets. Through this library, users can present statistical models based on confidence intervals to capture the uncertainty in inferences instead of point statistics for different machine learning models. + +# Introduction + +The idea of out-of-sample prediction is described in detail throughout the literature [@Montgomery:1991]. The basic idea is to split the data into two groups, a training sample and a testing sample. Once the data is split, a statistical model is trained on the training sample. Then the trained model is used to predict the independent variable from the dependent variables [@Kuhn:2013; @Pawluszek-Filipiak:2020] in the testing sample. Finally, a loss metric, like mean squared error, is used if it is a regression problem, or cross-entropy [@Bickel:2015; @James:2021] is used for classification to compare the predicted dependent variable against the ground truth dependent variable. This method can be helpful as a first pass to assess model quality; however, it has many deficiencies [@Doan:2022; @Salazar:2022; @Tan:2021] since the data was only split once considering a classification problem, there may be issues such as: + +1. Imbalance in the label classes in the training and testing data. This balance is not different from the entire data set, as well as the population data being modeled. +2. Concentration of independent variables caused by a specific exogenous effect [@Edelkamp:2021] in the training data and a different exogenous effect in the testing data. + +If either of these conditions persists, our loss metric may record a far too optimistic or pessimistic view of how well the model performs. This, in turn, may have consequences for a whole host of things - failure to select the correct model, for instance, we may choose a logistic regression model [@Gortmaker:1994; @Vittinghoff:2012] when a decision tree model [@de Ville:2013; @Shalev-Shwartz:2013] is more appropriate. Or we may select the wrong hyperparameters for a given model class. A direct consequence of a flawed model is a poor inference which may have complex or impossible to recognize consequences [@Chernozhukov:2022; @Kok:2007; @Marsili:2022; @z\_ai:2020]. Therefore, it is of paramount importance that our models be 'honest' and the error well captured. + +To deal with this failure to generalize from a single training and testing split, cross-validation [@Arlot:2010; @Kohavi:1995] was created to increase the number of training and testing splits and then average the error metric or metrics. This works by creating several random partitions of the data and then treating one of the partitions as an out of the sample, while the rest are treated as in the sample. A model is trained on all in-sample predictions, and the out-of-sample is left for testing the model. The procedure is repeated for each partition used as an out-of-sample. Issues with choosing the optimum number of partitions, including multiple and separate partitions, may not generalize well in some cases; few partitions will produce the same problems as with a train-test split. + +In theory, these methods described are inherently good approaches; the issues raised come down to how models are viewed and interpreted in practice. Therefore, [honest\_ml](https://github.com/EricSchles/honest_ml) is a library to do many individual data splits, typically on the order of 500 to several thousand data splits. The idea is to iterate over the random seed used in a typical train-test split implementation. For this library, we use scikit-learn's implementation [@Buitinck:2013; @Pedregosa:2011], considered the gold standard by machine learning engineers. Doing so removes the need to consider how many partitions are required for a particular dataset. We also further decrease the possibility of a "lucky or unlucky" split in a train-test split. In addition, this implementation helps to identify the sensitivity of trained models to the data used in training the models with specific hyperparameters. + +# Utilization + +[honest\_ml](https://github.com/EricSchles/honest_ml) has an EvaluateModel class that allows users to pass in their classifier of choice, a target data set, a feature data set and the number of trials where each data split during a trial uses a different random seed. The relevant performance metrics are calculated for each train-test split. For example, in \autoref{fig:Figure 1}, users can create an object of EvaluateModel. The performance metrics for each trial are saved after fitting the model. + +![Using the EvaluateModel class in honest_ml.\label{fig:Figure 1}](https://github.com/ZachJon1/honest_ml/blob/main/paper1/Figure1.jpg) + +The [honest\_ml](https://github.com/EricSchles/honest_ml) library also have a visualization tool that allows users to view results of each trial relative to other trials stored in a user defined variable using the EvaluateModel class. + +For example, using the model\_instances created above in the logistic regression model, users can compare metrics such as the precision, recall and f1-score for classification models. Figure 2 and Figure 3 shows the distribution of the precision and recall for 200 trials of the logistic regression model with two classes 0 and 1. Models that produce less normal distributions indicate a sensitivity of the model to the training data and provides users with a realistic expectation of the model in production than a point statistic would provide. + +![Comparison of the distribution of the precision and recall for different trials for the class 0\label{fig: Figure 2}](https://github.com/ZachJon1/honest_ml/blob/main/paper1/Figure2.jpg) + +![Sensitivity of class 1 to different trials using recall and precision distribution\label{fig: Figure 3}](https://github.com/ZachJon1/honest_ml/blob/main/paper1/Figure3.jpg) + +# References From 39205bd0ea2c036ebe223f94e3d252595601f53f Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Thu, 15 Sep 2022 14:29:43 -0400 Subject: [PATCH 14/20] Delete Paper.md --- paper1/Paper.md | 61 ------------------------------------------------- 1 file changed, 61 deletions(-) delete mode 100644 paper1/Paper.md diff --git a/paper1/Paper.md b/paper1/Paper.md deleted file mode 100644 index c6c2ea7..0000000 --- a/paper1/Paper.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Honest ML: A library for building confidence in statistical models -tags: - - Python - - Machine Learning - - Intervals - -authors: - - name: Eric Schles - orcid: ### - equal-contrib: true - affiliation: "1, 2" - corresponding: true - - name: Abdul-Rashid Zakaria - orcid: 0000-0002-3694-7082 - equal-contrib: false - affiliation: 3 -affiliations: - - name: John Hopkins University Hospital, USA - index: 1 - - name: The City University of New York, USA - index: 2 - - name: Michigan Technological University, USA - index: 3 -date: 16 September 2022 -bibiliography: paper.bib ---- - -# Summary - -Machine learning metrics are built around the idea of training a model and then making out-of-sample predictions to test generalizability. There are a few standard methods; splitting the data into training and testing data and then predicting once on the testing or out of sample data. Using cross-validation to train on partitions of the data and then test by using one partition as the holdout and averaging the metric across all partitions. And finally, stratified partitioning splits the data subject to some condition, usually on the proportion of labels in the entire dataset. This paper will look at a library that implements a different method, training the model on many train-test splits and recording the out-of-sample error across these five hundred to more than a thousand splits. This creates higher confidence in the model and more closely simulates the likely scenarios you would find in the production setting, even with reasonably small datasets. Through this library, users can present statistical models based on confidence intervals to capture the uncertainty in inferences instead of point statistics for different machine learning models. - -# Introduction - -The idea of out-of-sample prediction is described in detail throughout the literature [@Montgomery:1991]. The basic idea is to split the data into two groups, a training sample and a testing sample. Once the data is split, a statistical model is trained on the training sample. Then the trained model is used to predict the independent variable from the dependent variables [@Kuhn:2013; @Pawluszek-Filipiak:2020] in the testing sample. Finally, a loss metric, like mean squared error, is used if it is a regression problem, or cross-entropy [@Bickel:2015; @James:2021] is used for classification to compare the predicted dependent variable against the ground truth dependent variable. This method can be helpful as a first pass to assess model quality; however, it has many deficiencies [@Doan:2022; @Salazar:2022; @Tan:2021] since the data was only split once considering a classification problem, there may be issues such as: - -1. Imbalance in the label classes in the training and testing data. This balance is not different from the entire data set, as well as the population data being modeled. -2. Concentration of independent variables caused by a specific exogenous effect [@Edelkamp:2021] in the training data and a different exogenous effect in the testing data. - -If either of these conditions persists, our loss metric may record a far too optimistic or pessimistic view of how well the model performs. This, in turn, may have consequences for a whole host of things - failure to select the correct model, for instance, we may choose a logistic regression model [@Gortmaker:1994; @Vittinghoff:2012] when a decision tree model [@de Ville:2013; @Shalev-Shwartz:2013] is more appropriate. Or we may select the wrong hyperparameters for a given model class. A direct consequence of a flawed model is a poor inference which may have complex or impossible to recognize consequences [@Chernozhukov:2022; @Kok:2007; @Marsili:2022; @z\_ai:2020]. Therefore, it is of paramount importance that our models be 'honest' and the error well captured. - -To deal with this failure to generalize from a single training and testing split, cross-validation [@Arlot:2010; @Kohavi:1995] was created to increase the number of training and testing splits and then average the error metric or metrics. This works by creating several random partitions of the data and then treating one of the partitions as an out of the sample, while the rest are treated as in the sample. A model is trained on all in-sample predictions, and the out-of-sample is left for testing the model. The procedure is repeated for each partition used as an out-of-sample. Issues with choosing the optimum number of partitions, including multiple and separate partitions, may not generalize well in some cases; few partitions will produce the same problems as with a train-test split. - -In theory, these methods described are inherently good approaches; the issues raised come down to how models are viewed and interpreted in practice. Therefore, [honest\_ml](https://github.com/EricSchles/honest_ml) is a library to do many individual data splits, typically on the order of 500 to several thousand data splits. The idea is to iterate over the random seed used in a typical train-test split implementation. For this library, we use scikit-learn's implementation [@Buitinck:2013; @Pedregosa:2011], considered the gold standard by machine learning engineers. Doing so removes the need to consider how many partitions are required for a particular dataset. We also further decrease the possibility of a "lucky or unlucky" split in a train-test split. In addition, this implementation helps to identify the sensitivity of trained models to the data used in training the models with specific hyperparameters. - -# Utilization - -[honest\_ml](https://github.com/EricSchles/honest_ml) has an EvaluateModel class that allows users to pass in their classifier of choice, a target data set, a feature data set and the number of trials where each data split during a trial uses a different random seed. The relevant performance metrics are calculated for each train-test split. For example, in \autoref{fig:Figure 1}, users can create an object of EvaluateModel. The performance metrics for each trial are saved after fitting the model. - -![Using the EvaluateModel class in honest_ml.\label{fig:Figure 1}](https://github.com/ZachJon1/honest_ml/blob/main/paper1/Figure1.jpg) - -The [honest\_ml](https://github.com/EricSchles/honest_ml) library also have a visualization tool that allows users to view results of each trial relative to other trials stored in a user defined variable using the EvaluateModel class. - -For example, using the model\_instances created above in the logistic regression model, users can compare metrics such as the precision, recall and f1-score for classification models. Figure 2 and Figure 3 shows the distribution of the precision and recall for 200 trials of the logistic regression model with two classes 0 and 1. Models that produce less normal distributions indicate a sensitivity of the model to the training data and provides users with a realistic expectation of the model in production than a point statistic would provide. - -![Comparison of the distribution of the precision and recall for different trials for the class 0\label{fig: Figure 2}](https://github.com/ZachJon1/honest_ml/blob/main/paper1/Figure2.jpg) - -![Sensitivity of class 1 to different trials using recall and precision distribution\label{fig: Figure 3}](https://github.com/ZachJon1/honest_ml/blob/main/paper1/Figure3.jpg) - -# References - From 4ecca4bddcadbcc3f5e7a7e023df4dfcb502df86 Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Thu, 15 Sep 2022 14:34:40 -0400 Subject: [PATCH 15/20] Create draft-pdf.yml --- paper1/.github/workflows/draft-pdf.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 paper1/.github/workflows/draft-pdf.yml diff --git a/paper1/.github/workflows/draft-pdf.yml b/paper1/.github/workflows/draft-pdf.yml new file mode 100644 index 0000000..cf6d3db --- /dev/null +++ b/paper1/.github/workflows/draft-pdf.yml @@ -0,0 +1,23 @@ +on: [push] + +jobs: + paper: + runs-on: ubuntu-latest + name: Paper Draft + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Build draft PDF + uses: openjournals/openjournals-draft-action@master + with: + journal: joss + # This should be the path to the paper within your repo. + paper-path: paper.md + - name: Upload + uses: actions/upload-artifact@v1 + with: + name: paper + # This is the output path where Pandoc will write the compiled + # PDF. Note, this should be the same directory as the input + # paper.md + path: paper.pdf From 36068c6d5e92971bc5622a5a2f07059c41a3a7f2 Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Thu, 15 Sep 2022 14:42:12 -0400 Subject: [PATCH 16/20] Update draft-pdf.yml --- paper1/.github/workflows/draft-pdf.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/paper1/.github/workflows/draft-pdf.yml b/paper1/.github/workflows/draft-pdf.yml index cf6d3db..a255a04 100644 --- a/paper1/.github/workflows/draft-pdf.yml +++ b/paper1/.github/workflows/draft-pdf.yml @@ -12,7 +12,7 @@ jobs: with: journal: joss # This should be the path to the paper within your repo. - paper-path: paper.md + paper-path: https://github.com/ZachJon1/honest_ml/blob/main/paper1/paper.md - name: Upload uses: actions/upload-artifact@v1 with: @@ -20,4 +20,4 @@ jobs: # This is the output path where Pandoc will write the compiled # PDF. Note, this should be the same directory as the input # paper.md - path: paper.pdf + path: https://github.com/ZachJon1/honest_ml/blob/main/paper1/paper.pdf From 34f171f454daabd9ab6de60570b4fce0d98fa056 Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Thu, 15 Sep 2022 14:42:49 -0400 Subject: [PATCH 17/20] Delete paper1/.github/workflows directory --- paper1/.github/workflows/draft-pdf.yml | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 paper1/.github/workflows/draft-pdf.yml diff --git a/paper1/.github/workflows/draft-pdf.yml b/paper1/.github/workflows/draft-pdf.yml deleted file mode 100644 index a255a04..0000000 --- a/paper1/.github/workflows/draft-pdf.yml +++ /dev/null @@ -1,23 +0,0 @@ -on: [push] - -jobs: - paper: - runs-on: ubuntu-latest - name: Paper Draft - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Build draft PDF - uses: openjournals/openjournals-draft-action@master - with: - journal: joss - # This should be the path to the paper within your repo. - paper-path: https://github.com/ZachJon1/honest_ml/blob/main/paper1/paper.md - - name: Upload - uses: actions/upload-artifact@v1 - with: - name: paper - # This is the output path where Pandoc will write the compiled - # PDF. Note, this should be the same directory as the input - # paper.md - path: https://github.com/ZachJon1/honest_ml/blob/main/paper1/paper.pdf From 84bb3e8083c8a9a06af3fa31ec287524ae38aaa9 Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Thu, 15 Sep 2022 14:43:53 -0400 Subject: [PATCH 18/20] Create draft-pdf.yml --- paper1/draft-pdf.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 paper1/draft-pdf.yml diff --git a/paper1/draft-pdf.yml b/paper1/draft-pdf.yml new file mode 100644 index 0000000..cf6d3db --- /dev/null +++ b/paper1/draft-pdf.yml @@ -0,0 +1,23 @@ +on: [push] + +jobs: + paper: + runs-on: ubuntu-latest + name: Paper Draft + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Build draft PDF + uses: openjournals/openjournals-draft-action@master + with: + journal: joss + # This should be the path to the paper within your repo. + paper-path: paper.md + - name: Upload + uses: actions/upload-artifact@v1 + with: + name: paper + # This is the output path where Pandoc will write the compiled + # PDF. Note, this should be the same directory as the input + # paper.md + path: paper.pdf From 5b7f6b8a9fdc2106036a785799747b80ae1d9c2b Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Thu, 15 Sep 2022 14:47:34 -0400 Subject: [PATCH 19/20] Update draft-pdf.yml --- paper1/draft-pdf.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper1/draft-pdf.yml b/paper1/draft-pdf.yml index cf6d3db..d07a901 100644 --- a/paper1/draft-pdf.yml +++ b/paper1/draft-pdf.yml @@ -12,7 +12,7 @@ jobs: with: journal: joss # This should be the path to the paper within your repo. - paper-path: paper.md + paper-path: https://github.com/ZachJon1/honest_ml/blob/main/paper1/paper.md - name: Upload uses: actions/upload-artifact@v1 with: From dccb51cc669eda7a599d913226a757348d35046a Mon Sep 17 00:00:00 2001 From: ZachJon1 <59528459+ZachJon1@users.noreply.github.com> Date: Thu, 15 Sep 2022 15:00:23 -0400 Subject: [PATCH 20/20] Delete draft-pdf.yml --- paper1/draft-pdf.yml | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 paper1/draft-pdf.yml diff --git a/paper1/draft-pdf.yml b/paper1/draft-pdf.yml deleted file mode 100644 index d07a901..0000000 --- a/paper1/draft-pdf.yml +++ /dev/null @@ -1,23 +0,0 @@ -on: [push] - -jobs: - paper: - runs-on: ubuntu-latest - name: Paper Draft - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Build draft PDF - uses: openjournals/openjournals-draft-action@master - with: - journal: joss - # This should be the path to the paper within your repo. - paper-path: https://github.com/ZachJon1/honest_ml/blob/main/paper1/paper.md - - name: Upload - uses: actions/upload-artifact@v1 - with: - name: paper - # This is the output path where Pandoc will write the compiled - # PDF. Note, this should be the same directory as the input - # paper.md - path: paper.pdf