From dd18069cbee8409532af894c95858689974db261 Mon Sep 17 00:00:00 2001 From: jasonfan1997 Date: Thu, 17 Oct 2024 09:40:21 -0400 Subject: [PATCH] Adding reference --- docs/build/doctrees/environment.pickle | Bin 153530 -> 153662 bytes .../notebooks/prevalence_adjustment.ipynb | 2 + .../notebooks/prevalence_adjustment.doctree | Bin 37619 -> 38331 bytes docs/build/html/_modules/calzone/metrics.html | 8 ++- .../notebooks/prevalence_adjustment.ipynb.txt | 2 + .../html/notebooks/prevalence_adjustment.html | 1 + .../notebooks/prevalence_adjustment.ipynb | 2 + docs/build/html/searchindex.js | 2 +- docs/build/latex/calzone.fdb_latexmk | 60 +++++++++--------- docs/build/latex/calzone.log | 38 +++++------ docs/build/latex/calzone.pdf | Bin 1434923 -> 1435181 bytes docs/build/latex/calzone.tex | 5 +- .../notebooks/prevalence_adjustment.ipynb | 2 + paper/paper.bib | 22 +++++++ paper/paper.md | 2 +- 15 files changed, 91 insertions(+), 55 deletions(-) diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index 2e8f74c966eacb80fbf020c939cd66ffd68a5917..ffd3aa078a030e704f89e4b38afb3a235ab7055c 100644 GIT binary patch literal 153662 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 z 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 literal 153530 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 i*|VSD`PaXCDd7l9pvW5%;FVD|+2mc46`8XB; diff --git a/docs/build/doctrees/nbsphinx/notebooks/prevalence_adjustment.ipynb b/docs/build/doctrees/nbsphinx/notebooks/prevalence_adjustment.ipynb index ccdf182..08e07a4 100644 --- a/docs/build/doctrees/nbsphinx/notebooks/prevalence_adjustment.ipynb +++ b/docs/build/doctrees/nbsphinx/notebooks/prevalence_adjustment.ipynb @@ -235,6 +235,8 @@ "\n", "\n", "Tian, J., Liu, Y.-C., Glaser, N., Hsu, Y.-C., & Kira, Z. (2020). Posterior Re-calibration for Imbalanced Datasets (No. arXiv:2010.11820). arXiv. http://arxiv.org/abs/2010.11820\n", + "\n", + "Horsch, K., Giger, M. L., & Metz, C. E. (2008). Prevalence scaling: applications to an intelligent workstation for the diagnosis of breast cancer. Academic radiology, 15(11), 1446–1457. https://doi.org/10.1016/j.acra.2008.04.022\n", "\n" ] } diff --git a/docs/build/doctrees/notebooks/prevalence_adjustment.doctree b/docs/build/doctrees/notebooks/prevalence_adjustment.doctree index 0c40082e895ac60975df0fe11d92870d395608a1..691e9882d794b2a17060555ebb34b2a875bf6a1e 100644 GIT binary patch delta 713 zcmeyolxg>BCe{YlsT-zlWOeDBtkcR>|I8!5s5m)8N5NZ9N5MTaJ+(+j!B~2q;P|OUy~lOHNfNPEO3p%uBaYNGvGG$xKcx$;{6y zRw&6=NX%2n%qvOF$pM;|SE5j!UzA;30+v=t%P&$W$w*a5$xKYo%P+3aELO-*Q%EXG zO)M@^NKOPATcoGpn4FlBnwy!dP?VUGnV*xNUa6yCXsTgos0pM^Ow1lNOg1zzHP=(f zC@Co@w$j&6$k&%nrNN(OuE6pakKo;@fY zuBW??Q9W!!s*k6%PHCJ{3-pP6){4p1ZL--~B!&Sn2uRU_uxd`2wk|iA+Gk55$TDs?PG?JY!-s FBLJ4o=AZxo delta 115 zcmdnJn(6aWCe{YlsV^pNWOeDB+|^(**|mqCv2Jr{j~+AA8@A1@{ZE(~_f5{4Jd1JL zWY#H)R{Pi(7&^1USV5#0n7s`|mSzalPSMEHXJ=r@Fv&6iQdtw3fP^846$wSource code for calzone.metrics
 import statsmodels.api as sm
 import statsmodels.nonparametric.smoothers_lowess as lowess
 import numpy.lib.recfunctions as rf
-
+import contextlib
 
 
[docs] @@ -308,9 +308,11 @@

Source code for calzone.metrics

     # Fit the logistic regression model
     logit_model = sm.Logit(y_true, X)
     if fix_intercept == True:
-        logit_result = logit_model.fit_constrained("const=0", disp=0)
+        with contextlib.redirect_stdout(None):
+            logit_result = logit_model.fit_constrained("const=0", disp=0)
     elif fix_slope == True:
-        logit_result = logit_model.fit_constrained("x1=1", disp=0)
+        with contextlib.redirect_stdout(None):
+            logit_result = logit_model.fit_constrained("x1=1", disp=0)    
     else:
         logit_result = logit_model.fit(disp=0)
 
diff --git a/docs/build/html/_sources/notebooks/prevalence_adjustment.ipynb.txt b/docs/build/html/_sources/notebooks/prevalence_adjustment.ipynb.txt
index ccdf182..08e07a4 100644
--- a/docs/build/html/_sources/notebooks/prevalence_adjustment.ipynb.txt
+++ b/docs/build/html/_sources/notebooks/prevalence_adjustment.ipynb.txt
@@ -235,6 +235,8 @@
     "\n",
     "\n",
     "Tian, J., Liu, Y.-C., Glaser, N., Hsu, Y.-C., & Kira, Z. (2020). Posterior Re-calibration for Imbalanced Datasets (No. arXiv:2010.11820). arXiv. http://arxiv.org/abs/2010.11820\n",
+    "\n",
+    "Horsch, K., Giger, M. L., & Metz, C. E. (2008). Prevalence scaling: applications to an intelligent workstation for the diagnosis of breast cancer. Academic radiology, 15(11), 1446–1457. https://doi.org/10.1016/j.acra.2008.04.022\n",
     "\n"
    ]
   }
diff --git a/docs/build/html/notebooks/prevalence_adjustment.html b/docs/build/html/notebooks/prevalence_adjustment.html
index 5b77985..228f195 100644
--- a/docs/build/html/notebooks/prevalence_adjustment.html
+++ b/docs/build/html/notebooks/prevalence_adjustment.html
@@ -261,6 +261,7 @@ 

Referenceshttps://doi.org/10.1177/0962280216661371

Gu, W., & Pepe, M. S. (2011). Estimating the diagnostic likelihood ratio of a continuous marker. Biostatistics, 12(1), 87–101. https://doi.org/10.1093/biostatistics/kxq045

Tian, J., Liu, Y.-C., Glaser, N., Hsu, Y.-C., & Kira, Z. (2020). Posterior Re-calibration for Imbalanced Datasets (No. arXiv:2010.11820). arXiv. http://arxiv.org/abs/2010.11820

+

Horsch, K., Giger, M. L., & Metz, C. E. (2008). Prevalence scaling: applications to an intelligent workstation for the diagnosis of breast cancer. Academic radiology, 15(11), 1446–1457. https://doi.org/10.1016/j.acra.2008.04.022

diff --git a/docs/build/html/notebooks/prevalence_adjustment.ipynb b/docs/build/html/notebooks/prevalence_adjustment.ipynb index ccdf182..08e07a4 100644 --- a/docs/build/html/notebooks/prevalence_adjustment.ipynb +++ b/docs/build/html/notebooks/prevalence_adjustment.ipynb @@ -235,6 +235,8 @@ "\n", "\n", "Tian, J., Liu, Y.-C., Glaser, N., Hsu, Y.-C., & Kira, Z. (2020). Posterior Re-calibration for Imbalanced Datasets (No. arXiv:2010.11820). arXiv. http://arxiv.org/abs/2010.11820\n", + "\n", + "Horsch, K., Giger, M. L., & Metz, C. E. (2008). Prevalence scaling: applications to an intelligent workstation for the diagnosis of breast cancer. Academic radiology, 15(11), 1446–1457. https://doi.org/10.1016/j.acra.2008.04.022\n", "\n" ] } diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 89c2da1..2a0169f 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"COX calibration analysis": [[4, null]], "Calculating Cox slope and intercept with calzone": [[4, "Calculating-Cox-slope-and-intercept-with-calzone"]], "Calculating ECE and MCE with calzone": [[5, "Calculating-ECE-and-MCE-with-calzone"]], "Calculating HL test statistics and p-value with calzone": [[6, "Calculating-HL-test-statistics-and-p-value-with-calzone"]], "Calculating LOESS ICI and COX ICI using calzone": [[7, "Calculating-LOESS-ICI-and-COX-ICI-using-calzone"]], "Calculating the Spieegelhalter Z score and p-value using calzone": [[12, "Calculating-the-Spieegelhalter-Z-score-and-p-value-using-calzone"]], "Command line interface": [[10, "Command-line-interface"]], "Cons of Cox calibration analysis": [[4, "Cons-of-Cox-calibration-analysis"]], "Cons of ECE and MCE": [[5, "Cons-of-ECE-and-MCE"]], "Cons of HL Test": [[6, "Cons-of-HL-Test"]], "Cons of ICI": [[7, "Cons-of-ICI"]], "Cons of Spiegelhalter\u2019s Z test": [[12, "Cons-of-Spiegelhalter's-Z-test"]], "Contents:": [[1, null]], "ECE and MCE as function of bin size": [[5, "ECE-and-MCE-as-function-of-bin-size"]], "Estimated ECE and MCE": [[5, "Estimated-ECE-and-MCE"]], "Exepected Calibration Error(ECE) and Maximum Calibration Error (MCE)": [[5, null]], "Guide to calzone and calibration metrics": [[8, "Guide-to-calzone-and-calibration-metrics"]], "Hosmer-Lemeshow test (HL test)": [[6, null]], "Installation": [[10, "Installation"]], "Integrated Calibration Index (ICI)": [[7, null]], "Module contents": [[0, "module-calzone"]], "Multiclass extension": [[14, null]], "Preform prevalence adjustment in calzone": [[9, "Preform-prevalence-adjustment-in-calzone"]], "Prevalence adjustment": [[9, null]], "Prevalence adjustment and constant shift in logit of class-of-interest": [[9, "Prevalence-adjustment-and-constant-shift-in-logit-of-class-of-interest"]], "Pros of Cox calibration analysis": [[4, "Pros-of-Cox-calibration-analysis"]], "Pros of ECE and MCE": [[5, "Pros-of-ECE-and-MCE"]], "Pros of HL test": [[6, "Pros-of-HL-test"]], "Pros of ICI": [[7, "Pros-of-ICI"]], "Pros of Spiegelhalter\u2019s Z test": [[12, "Pros-of-Spiegelhalter's-Z-test"]], "Quick Start": [[10, null]], "Reference": [[5, "Reference"], [6, "Reference"], [7, "Reference"], [12, "Reference"]], "References": [[4, "References"], [9, "References"], [11, "References"]], "Reliability diagram": [[11, null]], "Running GUI": [[3, null]], "Size of COX slope and intecept test": [[4, "Size-of-COX-slope-and-intecept-test"]], "Size of HL test": [[6, "Size-of-HL-test"]], "Spiegelhalter\u2019s Z-test": [[12, null]], "Subgroup analysis": [[13, null]], "Submodules": [[0, "submodules"]], "Summary and guide for calzone": [[8, null]], "Testing the size of Spiegelhalter\u2019s z test": [[12, "Testing-the-size-of-Spiegelhalter's-z-test"]], "Theoretical Background": [[4, "Theoretical-Background"], [5, "Theoretical-Background"], [6, "Theoretical-Background"], [7, "Theoretical-Background"]], "Theoretical background": [[12, "Theoretical-background"]], "Using calzone in python": [[10, "Using-calzone-in-python"]], "Visualization of the fitted curve": [[7, "Visualization-of-the-fitted-curve"]], "Welcome to the documentation for calzone": [[1, null]], "calzone": [[2, null]], "calzone package": [[0, null]], "calzone.metrics module": [[0, "module-calzone.metrics"]], "calzone.utils module": [[0, "module-calzone.utils"]], "calzone.vis module": [[0, "module-calzone.vis"]]}, "docnames": ["calzone", "index", "modules", "notebooks/GUI", "notebooks/cox", "notebooks/ece_mce", "notebooks/hl_test", "notebooks/ici", "notebooks/metrics_summary", "notebooks/prevalence_adjustment", "notebooks/quickstart", "notebooks/reliability_diagram", "notebooks/spiegelhalter_z", "notebooks/subgroup", "notebooks/topclass"], "envversion": {"nbsphinx": 4, "sphinx": 63, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1}, "filenames": ["calzone.rst", "index.rst", "modules.rst", "notebooks/GUI.ipynb", "notebooks/cox.ipynb", "notebooks/ece_mce.ipynb", "notebooks/hl_test.ipynb", "notebooks/ici.ipynb", "notebooks/metrics_summary.ipynb", "notebooks/prevalence_adjustment.ipynb", "notebooks/quickstart.ipynb", "notebooks/reliability_diagram.ipynb", "notebooks/spiegelhalter_z.ipynb", "notebooks/subgroup.ipynb", "notebooks/topclass.ipynb"], "indexentries": {"__init__() (calzone.metrics.calibrationmetrics method)": [[0, "calzone.metrics.CalibrationMetrics.__init__", false]], "__init__() (calzone.utils.data_loader method)": [[0, "calzone.utils.data_loader.__init__", false], [0, "id0", false]], "__init__() (calzone.utils.fake_binary_data_generator method)": [[0, "calzone.utils.fake_binary_data_generator.__init__", false]], "abraitary_miscal() (calzone.utils.fake_binary_data_generator method)": [[0, "calzone.utils.fake_binary_data_generator.abraitary_miscal", false]], "alpha_val (calzone.utils.fake_binary_data_generator attribute)": [[0, "calzone.utils.fake_binary_data_generator.alpha_val", false]], "apply_prevalence_adjustment() (in module calzone.utils)": [[0, "calzone.utils.apply_prevalence_adjustment", false]], "beta_val (calzone.utils.fake_binary_data_generator attribute)": [[0, "calzone.utils.fake_binary_data_generator.beta_val", false]], "bootstrap() (calzone.metrics.calibrationmetrics method)": [[0, "calzone.metrics.CalibrationMetrics.bootstrap", false]], "cal_ici() (in module calzone.metrics)": [[0, "calzone.metrics.cal_ICI", false]], "cal_ici_cox() (in module calzone.metrics)": [[0, "calzone.metrics.cal_ICI_cox", false]], "calculate_ece_mce() (in module calzone.metrics)": [[0, "calzone.metrics.calculate_ece_mce", false]], "calculate_metrics() (calzone.metrics.calibrationmetrics method)": [[0, "calzone.metrics.CalibrationMetrics.calculate_metrics", false]], "calibrationmetrics (class in calzone.metrics)": [[0, "calzone.metrics.CalibrationMetrics", false]], "calzone": [[0, "module-calzone", false]], "calzone.metrics": [[0, "module-calzone.metrics", false]], "calzone.utils": [[0, "module-calzone.utils", false]], "calzone.vis": [[0, "module-calzone.vis", false]], "cox_regression_analysis() (in module calzone.metrics)": [[0, "calzone.metrics.cox_regression_analysis", false]], "data (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.data", false]], "data_loader (class in calzone.utils)": [[0, "calzone.utils.data_loader", false]], "data_path (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.data_path", false]], "fake_binary_data_generator (class in calzone.utils)": [[0, "calzone.utils.fake_binary_data_generator", false]], "find_optimal_prevalence() (in module calzone.utils)": [[0, "calzone.utils.find_optimal_prevalence", false]], "generate_data() (calzone.utils.fake_binary_data_generator method)": [[0, "calzone.utils.fake_binary_data_generator.generate_data", false]], "get_ci() (in module calzone.metrics)": [[0, "calzone.metrics.get_CI", false]], "have_subgroup (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.have_subgroup", false]], "header (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.Header", false]], "hosmer_lemeshow_test() (in module calzone.metrics)": [[0, "calzone.metrics.hosmer_lemeshow_test", false]], "labels (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.labels", false]], "linear_miscal() (calzone.utils.fake_binary_data_generator method)": [[0, "calzone.utils.fake_binary_data_generator.linear_miscal", false]], "logit_func() (in module calzone.metrics)": [[0, "calzone.metrics.logit_func", false]], "loss() (in module calzone.utils)": [[0, "calzone.utils.loss", false]], "lowess_regression_analysis() (in module calzone.metrics)": [[0, "calzone.metrics.lowess_regression_analysis", false]], "make_roc_curve() (in module calzone.utils)": [[0, "calzone.utils.make_roc_curve", false]], "module": [[0, "module-calzone", false], [0, "module-calzone.metrics", false], [0, "module-calzone.utils", false], [0, "module-calzone.vis", false]], "optimal_prevalence_adjustment() (calzone.metrics.calibrationmetrics method)": [[0, "calzone.metrics.CalibrationMetrics.optimal_prevalence_adjustment", false]], "plot_reliability_diagram() (in module calzone.vis)": [[0, "calzone.vis.plot_reliability_diagram", false]], "plot_roc_curve() (in module calzone.vis)": [[0, "calzone.vis.plot_roc_curve", false]], "probs (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.probs", false]], "reliability_diagram() (in module calzone.utils)": [[0, "calzone.utils.reliability_diagram", false]], "removing_nan() (in module calzone.utils)": [[0, "calzone.utils.removing_nan", false]], "softmax_to_logits() (in module calzone.utils)": [[0, "calzone.utils.softmax_to_logits", false]], "spiegelhalter_z_test() (in module calzone.metrics)": [[0, "calzone.metrics.spiegelhalter_z_test", false]], "subgroup_indices (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.subgroup_indices", false]], "subgroups (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.subgroups", false]], "subgroups_class (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.subgroups_class", false]], "subgroups_index (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.subgroups_index", false]], "transform_topclass() (calzone.utils.data_loader method)": [[0, "calzone.utils.data_loader.transform_topclass", false], [0, "id1", false]]}, "objects": {"": [[0, 0, 0, "-", "calzone"]], "calzone": [[0, 0, 0, "-", "metrics"], [0, 0, 0, "-", "utils"], [0, 0, 0, "-", "vis"]], "calzone.metrics": [[0, 1, 1, "", "CalibrationMetrics"], [0, 3, 1, "", "cal_ICI"], [0, 3, 1, "", "cal_ICI_cox"], [0, 3, 1, "", "calculate_ece_mce"], [0, 3, 1, "", "cox_regression_analysis"], [0, 3, 1, "", "get_CI"], [0, 3, 1, "", "hosmer_lemeshow_test"], [0, 3, 1, "", "logit_func"], [0, 3, 1, "", "lowess_regression_analysis"], [0, 3, 1, "", "spiegelhalter_z_test"]], "calzone.metrics.CalibrationMetrics": [[0, 2, 1, "", "__init__"], [0, 2, 1, "", "bootstrap"], [0, 2, 1, "", "calculate_metrics"], [0, 2, 1, "", "optimal_prevalence_adjustment"]], "calzone.utils": [[0, 3, 1, "", "apply_prevalence_adjustment"], [0, 1, 1, "", "data_loader"], [0, 1, 1, "", "fake_binary_data_generator"], [0, 3, 1, "", "find_optimal_prevalence"], [0, 3, 1, "", "loss"], [0, 3, 1, "", "make_roc_curve"], [0, 3, 1, "", "reliability_diagram"], [0, 3, 1, "", "removing_nan"], [0, 3, 1, "", "softmax_to_logits"]], "calzone.utils.data_loader": [[0, 4, 1, "", "Header"], [0, 2, 1, "id0", "__init__"], [0, 4, 1, "", "data"], [0, 4, 1, "", "data_path"], [0, 4, 1, "", "have_subgroup"], [0, 4, 1, "", "labels"], [0, 4, 1, "", "probs"], [0, 4, 1, "", "subgroup_indices"], [0, 4, 1, "", "subgroups"], [0, 4, 1, "", "subgroups_class"], [0, 4, 1, "", "subgroups_index"], [0, 2, 1, "id1", "transform_topclass"]], "calzone.utils.fake_binary_data_generator": [[0, 2, 1, "", "__init__"], [0, 2, 1, "", "abraitary_miscal"], [0, 4, 1, "", "alpha_val"], [0, 4, 1, "", "beta_val"], [0, 2, 1, "", "generate_data"], [0, 2, 1, "", "linear_miscal"]], "calzone.vis": [[0, 3, 1, "", "plot_reliability_diagram"], [0, 3, 1, "", "plot_roc_curve"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"], "4": ["py", "attribute", "Python attribute"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function", "4": "py:attribute"}, "terms": {"": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11], "0": [0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "000": [4, 10, 13], "00037947714112375366": 13, "001": [0, 7, 10], "0012819521292332472": 14, "002": 10, "003": 10, "0038637011857438034": 14, "004": 10, "0046758796391944": 9, "005": 10, "00558856942568957": [7, 10, 13], "005610391483826338": [4, 7, 10, 13], "006": [10, 13], "007": 10, "007508966220374058": 9, "008": 10, "008733966945443138": [5, 10, 13], "008745511902314453": 9, "009": [10, 13], "009313116424641145": 14, "009458033653818828": [5, 10, 13, 14], "009458033653818974": 14, "009608653731328977": [5, 10, 13, 14], "009608653731329372": 14, "01": [10, 13], "010355911839501922": 9, "011": 10, "012": [10, 13], "01208775955804901": [5, 10, 13], "013671230516636386": 9, "014081013182402267": 9, "016": 10, "017": 10, "018": 10, "019": 10, "02": [4, 10, 13], "020": 10, "020515047600205394": 14, "020515047600205505": [5, 10, 13, 14], "021": [10, 13], "022": 10, "023": [10, 13], "02324031223486256": [5, 10, 13], "025": [4, 10], "028": 10, "029": 4, "029403495083063648": 9, "029652031234071": 14, "03": 10, "031": 10, "032": 10, "03353272525376893": [4, 7, 10, 13], "034": [4, 10, 13], "035": 10, "036": 10, "037": [10, 13], "038": [10, 13], "039": [10, 13], "039000000000000035": 4, "03926468843081932": 14, "03926468843081976": [5, 10, 13, 14], "040": 4, "041": 10, "042": [10, 13], "043": 10, "044": 10, "04497652296600376": [4, 7, 10, 13], "045": [10, 13], "0450": 4, "04599": 5, "046": 10, "048": [10, 13], "04848338618970194": [5, 10, 13], "049": [10, 12, 13], "05": [0, 6, 12], "050": 10, "051": [4, 10, 13], "0512096313774626": [4, 7, 10, 13], "052": 10, "054": 10, "055": [10, 13], "056": 10, "05600000000000005": 4, "058": 10, "062": 10, "063": [10, 13], "064": [10, 13], "065": [10, 13], "066": 10, "068": 10, "06894458205508802": 9, "069": 10, "06991428582761099": 13, "07": [10, 13], "071": 10, "072": 10, "073": 10, "07356445428053172": 7, "074": [10, 13], "07429481165606829": 13, "07479369479609524": 13, "075": [10, 13], "076": 10, "0765892898243467": 13, "07658928982434714": 13, "07692218401743334": 7, "077": [10, 13], "07746407648179383": 13, "07796623141885761": 13, "078": [10, 13], "07872518570110512": 13, "079": [10, 13], "07961758926734244": 9, "08": 10, "081": 10, "083": 10, "0830845954424": 14, "084": 10, "0841517729106883": 9, "0841517733462589": 9, "085": 10, "086": 10, "087": 10, "0884212323912401": 14, "09": 10, "091": 10, "092": 10, "0962280216661371": 9, "0984122810555748": 7, "0x7fe048e8b470": 5, "1": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "10": [0, 4, 5, 6, 7, 9, 10, 11, 12, 13], "1000": [0, 4, 6, 10, 12], "10000": [5, 6, 12], "1002": [4, 7, 12], "101": 9, "1027": 10, "1043": 6, "1069": 6, "107": 10, "108": 10, "109": 10, "1093": [4, 7, 9], "11017646753618837": 14, "111": 10, "1135847825485915": 14, "1138": [10, 13], "114": 10, "115": 10, "1156": 10, "116": [6, 10], "117": 6, "1175": 11, "1177": 9, "11820": 9, "12": 9, "123": [4, 6, 9, 10, 12, 13], "12348577118577644": [4, 7, 10, 13], "124": 10, "125": 10, "126": 10, "127": 10, "12775157222121533": 9, "1292": 10, "13": [10, 11], "1322110153978738": 14, "1327565894838103": 13, "133": [10, 13], "135": [10, 12], "1355": 10, "139": 10, "1393": 10, "1394": 9, "14": 11, "140": [10, 13], "14045600565696226": 13, "1409": 9, "14090872416947742": 13, "141": [10, 13], "145": 10, "15": [4, 7, 10, 11, 14], "150": 0, "151": 10, "1512": 12, "1519": 12, "152": 10, "155": 10, "158": 10, "16": 6, "1609": 5, "16250572519432438": 13, "163": [10, 13], "168": 10, "1706": 5, "171": [10, 13], "1714434139853": 13, "175": 10, "18": [10, 13], "182": 10, "1844": 10, "185": 10, "1857": 10, "1927": 4, "1928": 4, "1958": 4, "1979": 7, "1980": 6, "1986": 12, "1997": 6, "1e": [0, 7], "1st": 4, "2": [0, 4, 5, 6, 7, 9, 10, 11, 12, 13], "20": [6, 12], "2007": 11, "2008": 12, "2009": 12, "2010": 9, "2011": 9, "2015": 5, "2017": 5, "2018": [4, 9], "2019": [5, 7], "202": 10, "2020": [4, 5, 7, 9], "2022": 5, "2024": 4, "203": 10, "204": 10, "205": 10, "21": [7, 10], "210": 4, "212": 4, "214": 10, "22": 11, "2246": [10, 13], "232": 10, "24": 10, "244": 10, "249": 10, "26": 10, "262": 4, "27": [4, 7, 9, 10, 13], "273": 10, "28": 10, "29": [5, 10], "2_": 6, "2p_i": 12, "3": [0, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14], "300": 5, "31": 10, "319": 10, "327": [10, 13], "33": 10, "3300531914893617": 9, "3341": 10, "335": 10, "34": [4, 10, 12], "3465": 4, "352": [10, 13], "35209071874348785": [6, 10, 13], "368": 7, "37": 10, "376": [10, 13], "37632691618773545": 14, "3763269161877356": [10, 12, 13], "38": 7, "385628": 4, "39": [4, 5, 6, 7, 10, 12, 14], "3900": 10, "391": 10, "392": 10, "396": 10, "4": [0, 4, 5, 6, 7, 9, 10, 12, 14], "40": 11, "4051": 7, "4065": 7, "42": 11, "429": [10, 13], "43": 11, "4385762101924": 13, "439": [10, 13], "443": 10, "4436": 4, "4438": 4, "454": 10, "456": 12, "463": 10, "469": 10, "470": 10, "478": [10, 13], "47838663128188996": 13, "481": 10, "494": 10, "495": 10, "497": 10, "49863799264980607": 9, "4998": 4, "4999": 4, "5": [0, 4, 5, 6, 7, 9, 10, 11, 12, 14], "50": 11, "5000": [4, 9, 10], "507": [10, 13], "5071793536874274": 13, "508": 10, "524": 10, "526": 10, "53": 4, "5359720760929648": 13, "536": [10, 13], "539": 10, "554": 10, "569": 10, "577": 10, "581": 10, "584": 10, "5958290924064796": 9, "6": [0, 4, 5, 6, 10, 14], "611": 10, "621": [4, 7], "626": 10, "631": 10, "633": [4, 7], "637": 10, "638": 10, "641": [10, 13], "643": 12, "651": 11, "661": 11, "664": 10, "666": 10, "668": [10, 13], "67": 10, "681": 10, "686": 10, "6897839569176842": 9, "694947603203135": [6, 10, 13], "695": [10, 13], "696": [10, 13], "698": 10, "7": [0, 4, 6, 10], "7066738713391099": [10, 12, 13], "7066738713391101": 14, "707": [10, 13], "716": 10, "727": 10, "729": 10, "732": [10, 13], "74": 7, "7486601568004448": 14, "778": 10, "779": 10, "781": 10, "7837388214288888": 9, "794": 10, "8": [0, 5, 6, 10, 13], "813": 10, "818": 10, "8281": 7, "829": 7, "836": 7, "842": [10, 13], "87": 9, "8754203499121678": 9, "8754203499121679": 9, "8835446575708198": [6, 10, 13], "884": [10, 13], "884991559088098": [6, 10, 13], "885": [10, 13], "886": 10, "888": 10, "9": [0, 6, 10], "9097229915817346": 14, "910": [10, 13], "93575342117766": 13, "936": [10, 13], "937": [4, 10, 13], "9372902801721911": [4, 7, 10, 13], "940": 10, "9400481147756811": 9, "942": 10, "95": [10, 11], "96": 0, "9602": 5, "971": 10, "975": 4, "977": 10, "9781118445112": 4, "981": 10, "990": 10, "9939": 4, "994": [10, 13], "9942": 4, "9942499557748269": [4, 7, 10, 13], "996": 10, "9990721119864874": 14, "A": [0, 4, 6, 7, 9, 11, 13], "And": 9, "But": 11, "By": 9, "FOR": 6, "For": [0, 4, 8, 9, 10, 12], "If": [0, 4, 8, 10], "In": [4, 5, 6, 7, 9, 10, 12, 13, 14], "It": [0, 1, 5, 6, 7, 10, 11, 12], "No": [4, 5, 9], "OF": 6, "On": 5, "One": 6, "Or": 10, "THE": 6, "That": 4, "The": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12], "Then": [3, 10], "There": [4, 5, 6, 10], "These": 0, "To": [1, 3, 4, 7, 8, 9, 10, 14], "_": [5, 6, 12, 14], "__init__": [0, 2], "aaai": 5, "ab": [5, 9], "about": [5, 6, 11, 14], "abov": [5, 9, 10], "abraitary_misc": [0, 2], "absenc": 0, "absolut": 0, "ac": 5, "acc": 5, "access": 8, "accordingli": 0, "account": 5, "accur": [1, 8, 12], "accuraci": [0, 5, 7, 11], "achiev": 8, "across": 0, "actual": [0, 7], "adapt": [5, 9], "add": [0, 9], "addint": 9, "addit": 0, "adjust": [0, 1, 4, 8, 10, 11], "adjusted_p": 9, "adjusted_preval": 0, "adjusted_prob": 0, "adjusted_proba": 0, "adopt": 5, "advantag": [4, 6, 7], "affect": [5, 6, 7, 9], "after": [8, 9, 12], "after_preval": 9, "again": [6, 8], "against": [0, 11], "aim": [5, 8], "aka": [4, 9], "al": [5, 6], "alern": 13, "all": [0, 3, 4, 5, 8, 10, 13, 14], "allow": 0, "alpha": [0, 6, 12], "alpha_v": [0, 2, 4, 6, 9, 10, 12], "alreadi": 10, "also": [4, 5, 6, 7, 9, 10, 12, 13], "altern": [4, 5, 7, 10], "alternativli": 14, "although": 4, "alwai": 5, "american": [4, 7], "an": [0, 4, 5, 6, 7, 9, 10, 13], "analysi": [0, 1], "ani": [0, 6, 7, 12], "append": [4, 6, 12], "appli": [0, 8, 9, 10], "applic": [0, 4, 13], "apply_prevalence_adjust": [0, 2, 9], "approach": 14, "approxim": 12, "ar": [0, 3, 4, 5, 6, 10, 13], "arang": 5, "arbitrari": [0, 7], "area": 0, "argument": [0, 9, 10], "around": 4, "arrai": [0, 4, 6, 12], "arrieta": 5, "artifici": [5, 11], "arxiv": [5, 9], "assess": [0, 1, 4, 6, 8], "associ": [0, 4, 7], "assum": [0, 9, 10, 11], "assumpt": 6, "auc": 0, "austin": 7, "automat": 10, "avail": 0, "averag": [0, 5, 7, 8, 11], "avoid": 0, "b": [4, 9, 12, 13], "b_m": 5, "back": 0, "background": 1, "bad": 11, "bar": [0, 11], "base": [0, 5, 6], "basic": 10, "batch": 1, "bay": 9, "bayesian": 5, "becaus": 5, "becom": [9, 14], "been": [4, 6], "befor": [1, 9], "before_preval": 9, "being": 9, "below": [4, 5, 11], "bernoulli": 11, "beta": [0, 10], "beta_v": [0, 2, 4, 6, 9, 10, 12], "better": 0, "between": [0, 4, 5, 9], "beyond": 4, "big": 4, "biggest": [5, 6], "bin": [0, 1, 4, 6, 7, 8, 10, 11, 12], "bin_count": [0, 5, 6, 7, 11, 14], "bin_counts_0": 11, "bin_counts_1": 11, "bin_edg": [0, 5, 6, 7, 11, 14], "binari": [0, 1, 4, 8, 9, 10, 11, 14], "binomi": 10, "biostatist": 9, "blue": 11, "bool": [0, 9, 11], "boostrap": 10, "bootstrap": [0, 1, 2, 10], "bootstrap_ci": 10, "both": [0, 4, 5, 6, 7, 9], "bound": 0, "brier": 12, "brocker": 12, "br\u00f6cker": [11, 12], "c": [0, 5, 6, 7, 9, 10, 13, 14], "cal_ici": [0, 2], "cal_ici_cox": [0, 2, 7], "cal_metr": [4, 6, 10, 12, 13, 14], "calcualt": 8, "calcuat": 11, "calcul": [0, 1, 8, 9, 10, 11], "calculate_ece_mc": [0, 2, 5], "calculate_metr": [0, 2, 4, 5, 6, 7, 9, 10, 12, 13, 14], "calib": 5, "calibbr": 11, "calibr": [0, 1, 6, 9, 10, 11, 12, 13, 14], "calibrationmetr": [0, 2, 4, 5, 6, 7, 9, 10, 12, 13, 14], "call": [4, 5, 6, 7, 12], "callabl": 0, "calmetr": [4, 5, 6, 7, 9, 12], "calster": 4, "calzon": [3, 11, 13, 14], "can": [0, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14], "cannot": 6, "cao": 1, "capabl": 1, "captur": [4, 7], "care": 14, "carlo": 0, "case": [4, 7, 9, 10, 12], "caus": 5, "caution": 8, "cd": 10, "cdot": [4, 9], "certain": 4, "cessi": 6, "chanc": 4, "chang": [4, 5], "characterist": 0, "chart": 0, "check": [0, 6, 12], "chen": 9, "chi": [0, 6], "chi_squar": 0, "choic": [7, 9, 11], "choos": 4, "ci": 10, "class": [0, 1, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14], "class_1_index": [9, 11], "class_1_sampl": [9, 11], "class_to_calcul": [0, 4, 5, 6, 7, 9, 10, 12, 13, 14], "class_to_plot": [0, 5, 6, 7, 11, 14], "classif": [0, 1, 8, 9, 10, 11, 14], "classifi": 9, "clasto": 11, "clean": 0, "cleveland": 7, "cli": 10, "clinic": [4, 7, 12], "clip": [0, 7], "clone": 10, "close": [0, 4, 7], "closer": 4, "coef": [0, 4, 7, 9, 10, 13, 14], "coef_ci": 0, "coeffici": 0, "color": [0, 6, 7, 12], "column": [0, 10, 13], "com": 10, "comma": 10, "command": [1, 3, 13], "common": [4, 7, 14], "commun": 6, "compar": [0, 6, 12], "comparison": 6, "compon": 9, "comprehens": [1, 8], "comput": [0, 4, 5, 7], "con": [1, 8], "conda": 10, "conf": 5, "confer": 5, "confid": [0, 1, 4, 5, 10, 11], "confind": [0, 5, 6, 7, 11, 14], "confindence_0": 11, "confindence_1": 11, "conjunct": 0, "connect": 0, "consid": [8, 14], "const": 4, "constant": 1, "constraint": 4, "contain": [0, 8, 13], "content": 2, "continu": 9, "control": 4, "convent": 5, "convention": 6, "converg": 4, "convert": [0, 14], "cooper": 5, "correct": [0, 7, 9, 11, 12, 14], "correspond": [0, 8, 10], "could": [5, 7, 11], "count": [0, 5, 6], "covari": 4, "coverag": [1, 8], "cox": [0, 1, 8, 9, 10, 13, 14], "cox_func": 7, "cox_ici": 7, "cox_intercept": [4, 7], "cox_intercept_ci": [4, 7], "cox_intercept_lowerci": 4, "cox_intercept_upperci": 4, "cox_p_correct": 7, "cox_regression_analysi": [0, 2, 4, 7], "cox_slop": [4, 7], "cox_slope_ci": [4, 7], "cox_slope_lowerci": 4, "cox_slope_upperci": 4, "creat": [0, 11, 13], "credit": 1, "cross": [9, 12], "csv": [0, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14], "csv_file": [10, 13], "cumul": 7, "current": [3, 4], "curv": [0, 1], "custom": 0, "custom_color": [0, 11], "d": [4, 5, 6, 9, 12], "data": [0, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14], "data_load": [0, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14], "data_path": [0, 2, 4, 5, 6, 7, 11, 12], "dataset": [1, 8, 9, 10, 13, 14], "date": 4, "david": 12, "decil": 6, "decompos": 12, "decomposit": 12, "deep": 5, "default": [0, 10], "defin": [5, 12], "degre": [0, 6], "delta": [0, 7], "demonstr": [5, 9, 11], "demostr": [4, 6, 7], "denomin": 9, "densiti": [0, 6, 12], "dep": 4, "depend": [0, 4, 5, 6, 8, 9, 10], "deriv": [9, 10], "describ": 7, "descript": 8, "detail": [0, 4, 8, 13], "detect": 10, "determin": [0, 6, 8], "develop": [3, 10], "deviat": [5, 7, 8], "df": [0, 4, 6], "df_": [5, 7], "diagnost": 9, "diagram": [0, 1, 5, 6, 7, 8, 10, 13, 14], "dict": 0, "dictionari": 0, "didsr": 10, "differ": [0, 4, 5, 6, 7, 9, 14], "directli": [5, 7, 9, 10, 12], "directori": [3, 10], "disadvantag": [5, 7], "discrimin": 12, "discuss": [9, 11], "diseas": 9, "displai": 0, "distanc": 0, "distribut": [0, 5, 6, 7, 9, 10, 12], "diverg": [9, 12], "divid": [0, 6], "do": [4, 5, 13], "document": 8, "doe": [6, 12], "doesn": [4, 7, 9, 12], "doi": [4, 5, 7, 9, 11, 12], "don": 10, "done": 9, "dot": 0, "dpi": 0, "drop": [5, 9, 11], "drop_indic": [9, 11], "dtype": [9, 11], "due": 8, "dure": 13, "dusenberri": 5, "e": [1, 4, 5, 7, 9, 10, 12], "e_": 6, "each": [0, 6, 8, 10, 11, 13, 14], "easi": [5, 6], "easili": 7, "ec": [0, 1, 4, 7, 8, 9, 10, 13, 14], "ece_": 8, "ece_c": 5, "ece_c_classon": 5, "ece_c_top_class": 5, "ece_equal_width": 5, "ece_h": 5, "ece_h_classon": 5, "ece_h_top_class": 5, "ed": 4, "edg": 0, "effect": 5, "eg": 13, "els": [4, 6, 12], "empir": [0, 7], "encod": 0, "entropi": [9, 12], "enumer": 13, "epsilon": 0, "equal": [0, 4, 5, 6, 11, 14], "equat": 9, "equival": [5, 9], "err": 4, "error": [0, 1, 7, 8, 11, 12], "error_bar": [0, 11, 14], "essenti": [1, 7, 8], "estim": [0, 1, 4, 7, 8, 9], "et": [5, 6], "eta": 9, "etc": [1, 13], "evalu": 0, "evenli": 5, "event": [0, 6], "evid": 12, "exact": [4, 11], "examin": [4, 6, 8], "exampl": [0, 4, 7, 10, 11, 12, 13], "example_data": [4, 5, 6, 7, 10, 11, 12, 13, 14], "exceed": 4, "except": [8, 14], "exepect": 1, "exit": 10, "exp": 0, "expand": 9, "expect": [0, 5, 6, 7, 8], "experi": 5, "experienc": 10, "explan": 8, "explicitli": [5, 6], "extens": [1, 5], "extract": 0, "extrem": 12, "f": [0, 4, 7, 9, 12, 13], "f_": 7, "fact": [9, 12], "factor": [0, 9], "fake": [0, 6], "fake_binary_data_gener": [0, 2, 4, 6, 9, 12], "fakedata_gener": [4, 6, 9, 12], "fals": [0, 4, 5, 6, 7, 9, 10, 11, 12], "fan": 1, "featur": [1, 3], "field": [0, 13], "fig": 7, "figur": 0, "file": [0, 10, 13], "find": [0, 1, 9], "find_optimal_preval": [0, 2, 9], "first": [0, 1, 4, 5, 6, 9, 10, 12], "fit": [0, 1, 4, 6], "fix": [0, 4, 5], "fix_intercept": [0, 4], "fix_slop": [0, 4], "flag": [0, 10], "float": 0, "follow": [0, 3, 5, 6, 9, 10, 11, 12, 13], "foral": 9, "forecast": 11, "format": [0, 10, 13], "formula": 7, "fpr": 0, "frac": [4, 5, 6, 7, 9, 12], "fraction": 0, "freedom": [0, 6], "frequenc": [0, 6], "frequent": 0, "from": [0, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14], "full": [0, 10], "func": 0, "function": [0, 1, 4, 6, 7, 9, 10, 11, 12, 14], "further": [4, 9], "g": [1, 5], "gabriel": [4, 7], "gener": [0, 4, 6, 8, 9, 10, 12], "generate_data": [0, 2, 4, 6, 9, 12], "generate_miscal_data": 10, "generate_subgroup_data": 10, "generate_wellcal_data": 10, "get_ci": [0, 2], "git": 10, "github": 10, "give": [4, 5, 7], "given": [0, 8, 9, 11, 13], "glaser": 9, "go": 11, "goe": 5, "good": [0, 5, 6, 7, 11], "granular": 0, "graphic": 0, "greater": 6, "greatli": 7, "grid": 7, "group": [0, 5, 6, 7, 11, 13], "gt": [4, 5], "gu": 9, "gui": [1, 10], "gui_cal_metr": 3, "guid": [1, 4], "gujral": 5, "guo": 5, "h": [0, 5, 6, 9, 10, 13, 14], "ha": [4, 10, 12, 13], "had": 6, "half": 9, "hand": 7, "handl": [0, 14], "hat": [4, 5, 7, 8, 9], "hauskrecht": 5, "have": [0, 1, 4, 6, 7, 8, 9, 10, 11, 14], "have_subgroup": [0, 2, 13], "header": [0, 2, 10], "heavili": 5, "help": 10, "helper": 10, "here": 9, "high": 4, "higher": 0, "hist": [6, 12], "histtyp": [6, 12], "hl": [0, 1, 4, 8, 10, 12, 13, 14], "hl_c_p": 6, "hl_c_pvalu": 6, "hl_c_t": 6, "hl_h_p": 6, "hl_h_pvalu": 6, "hl_h_t": 6, "hope": 1, "hosmer": [0, 1, 8, 12], "hosmer_lemeshow_test": [0, 2, 6], "hot": 0, "how": [4, 5, 6, 8, 9], "howev": [5, 6, 7, 9, 12], "hsu": 9, "http": [4, 5, 7, 9, 10, 11, 12], "huang": [4, 7], "hyperparamet": [7, 12], "hypothesi": [6, 12], "i": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "ibarra": 5, "ici": [0, 1, 4, 8, 9, 10, 13, 14], "idea": 7, "ideal": 6, "ident": 0, "ig": 7, "ignor": 5, "illur": 10, "imbalanc": 9, "implement": [6, 7], "implicitli": 9, "import": [4, 5, 6, 7, 9, 10, 11, 12, 13, 14], "improv": 1, "inch": 0, "includ": [0, 1, 4, 8, 10], "incorrect": 6, "increas": [5, 11], "independ": [0, 9], "index": [0, 1, 8], "indic": [0, 4, 6], "industri": 6, "inform": [0, 11], "informat": [4, 7], "initi": 0, "input": [0, 10, 13], "insid": 10, "inspir": 12, "instabl": 0, "instal": [1, 3], "instead": [0, 10], "int": [0, 9, 11], "int_0": [5, 7], "intecept": 1, "integr": [0, 1, 8], "intellig": 5, "intend": [1, 8], "interact": 4, "intercept": [0, 1, 7, 8, 9, 10, 13, 14], "intercept_ci": 0, "interest": [0, 1, 4, 5, 8, 10, 13, 14], "interestingli": 7, "interfac": [1, 13], "intern": 0, "interpol": 0, "interpret": [5, 6, 7, 14], "interv": [0, 1, 4, 10, 11], "intrins": 9, "intuit": [5, 6], "invers": 0, "is_equal_freq": [0, 5, 6], "iter": 4, "itself": 7, "j": [5, 9, 11, 12, 13], "jamia": [4, 7], "jason": 1, "jerfel": 5, "journal": [4, 7, 12], "just": [5, 6, 13], "k": [5, 7], "kei": [0, 1, 4, 6, 9, 12], "kenett": 4, "keyword": 0, "kira": 9, "kl": [9, 12], "kwarg": 0, "kwok": 1, "kxq045": 9, "l": [4, 5, 6, 7, 11], "label": [0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "last": 10, "lead": [4, 9, 11], "learn": [1, 5, 8], "left": [6, 9], "legend": [5, 6, 7, 12], "lemesbow": 6, "lemeshow": [0, 1, 8, 12], "len": [5, 9, 11], "level": 0, "li": [4, 7], "librari": 11, "like": [0, 4, 7, 12], "likelihood": [4, 9, 11], "limit": 12, "line": [0, 1, 3, 7, 13], "linear": [0, 4, 7], "linear_misc": [0, 2], "linestyl": [6, 12], "list": [0, 4, 6, 10, 12], "literatur": [5, 6], "liu": 9, "ll": 4, "llr": 4, "load": [0, 4, 5, 6, 7, 11], "loader": 10, "loc": [6, 12], "local": [0, 7, 10], "loess": [0, 1, 8, 9, 10, 13, 14], "loess_ici": 7, "loess_ici2": 7, "log": [0, 4, 9], "logical_and": 4, "logist": [0, 4, 6, 7], "logit": [0, 1, 4], "logit_func": [0, 2, 7], "longford": 4, "look": [7, 11], "loop": 13, "loss": [0, 2, 9], "low": [4, 6], "lower": 0, "lowerci": [4, 7, 9, 10, 13, 14], "lowess": 0, "lowess_fit_p": 7, "lowess_fit_p2": 7, "lowess_fit_p2_correct": 7, "lowess_fit_p_correct": 7, "lowess_regression_analysi": [0, 2, 7, 9], "lr": 9, "lt": 5, "lung": 1, "m": [5, 6, 9, 10, 13], "machado": [4, 7], "macheret": [4, 7], "machin": [1, 5, 8], "mai": 5, "main": 7, "make_roc_curv": [0, 2], "manag": 12, "mani": [6, 7, 12, 13], "mannual": 9, "margin": 9, "marker": [7, 9], "mask": [9, 11], "match": 9, "mathbb": [5, 7, 8], "matplolib": 10, "matplotlib": [0, 5, 6, 7, 10, 12], "max": [5, 6, 12], "max_": 5, "max_m": 5, "max_p": 5, "maximum": [0, 1, 4], "mce": [0, 1, 4, 10, 13, 14], "mce_": 8, "mce_c_classon": 5, "mce_c_top_class": 5, "mce_h_classon": 5, "mce_h_top_class": 5, "mean": [0, 4, 5, 6, 7, 8, 9, 11, 12], "meaning": [1, 8], "measur": [0, 4, 5, 7, 12], "medic": [4, 7, 9], "medicin": 7, "messag": 10, "meteorolog": 12, "method": [0, 4, 5, 6, 7, 9, 11], "metric": [1, 2, 4, 5, 6, 7, 9, 10, 12, 13, 14], "metrics_c": 13, "mi": [9, 11], "might": [9, 11], "min_": 9, "minim": [0, 9], "miscal_dataload": 7, "miscal_funct": 0, "miscal_scal": [0, 10], "miscalibr": [0, 4, 7, 10, 12], "mislead": 11, "mle": 4, "model": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12], "moder": [4, 8], "modern": 5, "modifi": 5, "modul": 2, "monoton": 9, "mont": 0, "more": [0, 4, 8, 10, 11, 13], "most": [5, 7, 8, 14], "much": 5, "multi": [0, 1, 8, 10, 14], "multiclass": [0, 1], "multipl": [0, 6], "must": [0, 10], "n": [4, 5, 7, 9, 10, 12, 13], "n_bootstrap": 10, "n_class": 0, "n_m": 6, "n_point": 0, "n_sampl": 0, "naeini": 5, "name": [0, 12], "nan": [0, 4], "ndarrai": 0, "necessari": 11, "need": [0, 3, 4, 6, 7, 8, 10], "network": 5, "neural": 5, "new": [0, 4, 5, 9], "nicegui": [3, 10], "nixon": 5, "non": [6, 7, 12], "none": [0, 5, 11], "nonrobust": 4, "normal": 12, "note": 0, "notebook": [4, 8, 9, 10, 14], "notic": [5, 6, 7, 9, 10], "now": 14, "np": [4, 5, 6, 7, 9, 11, 12, 13], "null": [4, 6, 12], "num_bin": [0, 5, 6, 7, 10, 11, 13, 14], "number": [0, 4, 5, 6, 10], "numer": 0, "numpi": [0, 4, 5, 6, 7, 9, 10, 11, 12, 13], "o_": 6, "object": 0, "observ": [0, 4, 5, 6, 8], "obtain": 5, "oct": 4, "ocz228": [4, 7], "odd": 4, "off": 7, "offer": [1, 6], "often": 6, "ohno": [4, 7], "one": [0, 10, 13], "ones": [9, 11], "onli": [0, 1, 4, 5, 8, 10, 11, 13, 14], "onlin": 4, "oper": 0, "opposit": [5, 6], "optim": [0, 9], "optimal_preval": [0, 9], "optimal_prevalence_adjust": [0, 2], "option": [0, 4, 10], "order": [0, 6, 10, 13], "org": [4, 5, 7, 9, 11, 12], "origin": [4, 10], "other": [0, 4, 5, 6, 7, 8, 9, 11, 12, 13], "otherwis": 0, "outcom": [0, 4, 9], "output": [0, 9, 10], "over": [4, 5, 8], "overal": [4, 10, 13], "overconfid": 11, "p": [0, 1, 4, 5, 7, 8, 9, 10, 13, 14], "p_": [4, 5, 14], "p_i": [7, 9, 12], "p_valu": [0, 12], "packag": [1, 2, 4, 10, 11, 12, 13], "pakdaman": 5, "paramet": 0, "parametr": [6, 7, 12], "part": 5, "particular": 5, "particularli": 1, "pass": 0, "path": [0, 10], "patient": 12, "peopl": 7, "pepe": 9, "per": 0, "percentil": 0, "perfect": 4, "perfectli": 7, "perform": [0, 4, 9, 10, 13], "perform_pervalance_adjust": [0, 9], "perhap": 5, "petrick": 9, "pezeshk": 9, "piegorsch": 4, "pip": [3, 10], "pleas": [1, 8], "pleiss": 5, "plot": [0, 5, 7, 8, 10, 11, 13, 14], "plot_bin": 10, "plot_reliability_diagram": [0, 2, 7, 11, 14], "plot_roc_curv": [0, 2], "plote": 7, "plt": [5, 6, 7, 12], "png": 10, "point": 0, "polynomi": 7, "poor": 0, "poorli": 0, "popul": [1, 8, 9, 13], "posit": 0, "posterior": [9, 11], "power": [6, 12], "pp": 4, "practic": 9, "predict": [0, 1, 4, 5, 6, 7, 8, 9, 11, 12, 14], "predictor": 4, "preform": [1, 13], "prepar": 10, "preprocess": 0, "presenc": 0, "present": 0, "preval": [0, 1, 4, 8, 10, 11, 12], "prevalecn": 10, "prevalence_adjust": 10, "previou": 14, "print": [0, 4, 5, 6, 7, 9, 10, 12, 13], "print_result": [0, 4, 7], "pro": [1, 8], "prob": [0, 2, 4, 5, 6, 7, 10, 11, 12, 13, 14], "proba": 13, "proba_0": [0, 10, 13], "proba_1": [0, 10, 13], "proba_adjust": 9, "proba_class1": 7, "proba_n": [10, 13], "probabilist": [0, 5, 6, 12], "probabiliticst": 0, "probabl": [0, 4, 5, 6, 7, 8, 9, 10, 11, 14], "problem": [0, 5, 6, 8, 9, 10, 11, 14], "proce": 11, "proceed": 5, "process": [1, 10], "produc": 9, "prognost": 4, "program": 10, "project": 1, "proper": 12, "proport": 0, "propos": [5, 12], "prove": 9, "provid": [0, 1, 6, 8, 9, 10, 11, 12, 13], "pseudo": 4, "purpos": 10, "py": [3, 10, 13], "pyplot": [5, 6, 7, 12], "python": [1, 3], "q": 5, "qian": 1, "qj": 12, "quantifi": 7, "quarterli": 12, "quick": 1, "quickli": [5, 6], "quickstart": 13, "r": [4, 6, 7, 12], "random": [4, 6, 9, 11, 12], "random_se": 10, "rang": [4, 5, 6, 12], "range_of_bin": 5, "rate": 0, "ratio": [9, 11], "raw": 0, "re": 9, "read": [1, 13], "reader": 5, "real": 13, "rearrang": 9, "reason": [5, 11], "recalibr": 4, "receiv": 0, "recommend": [0, 5, 6, 8, 12], "red": 11, "refer": [1, 8], "regress": [0, 4, 6, 7], "regular": 14, "reject": 6, "relat": [7, 11], "relationship": 9, "reli": [5, 9], "reliability_0": 11, "reliability_1": 11, "reliability_diagram": [0, 2, 4, 5, 6, 7, 11, 12, 14], "reliabl": [0, 1, 5, 6, 7, 8, 10, 12, 13, 14], "relibail": 10, "remind": 5, "remov": 0, "removing_nan": [0, 2], "replac": [0, 9, 11], "repositori": 10, "reprens": [1, 8], "repres": [0, 1, 8], "represent": 5, "requir": [6, 7, 10, 12], "resampl": 0, "research": 9, "residu": [0, 4], "resolut": [0, 9, 12], "respect": 9, "rest": [1, 8, 14], "result": [0, 4, 5, 6, 7, 8, 12, 13], "return": [0, 5, 9], "return_fig": 0, "return_numpi": [0, 4, 5, 6, 12], "reveal": 11, "reweight": 0, "right": [6, 9, 12], "risk": 4, "robust": 7, "roc": 0, "roc_auc": 0, "roc_curv": 0, "rough": 5, "round": [6, 12], "row": 0, "royal": 12, "ruggeri": 4, "rule": 12, "run": [0, 1, 10, 13], "sahin": 9, "sai": 9, "same": [0, 5, 7, 9, 10, 13, 14], "sampl": [0, 5, 6, 7, 10, 11, 14], "sample_s": [0, 4, 6, 12], "samuelson": 9, "save": [0, 10], "save_diagram_output": 10, "save_metr": 10, "save_path": 0, "save_plot": 10, "scale": 0, "scatter": 7, "scatterplot": [0, 7], "scheme": [5, 6], "scipi": [0, 10, 11], "scope": 4, "score": [0, 1, 4, 6, 9, 10, 11, 13, 14], "script": [1, 10], "search": 9, "second": [0, 5, 12], "section": [5, 9, 11], "see": [4, 5, 6, 8, 10, 11, 12, 13, 14], "seed": [4, 6, 9, 12], "select": 0, "self": 0, "sens": [8, 11], "sensit": 0, "separ": 10, "seri": [11, 14], "set": [5, 9, 11], "sever": 6, "shape": 0, "shift": [1, 4, 8, 11, 12], "should": [0, 7, 8, 10, 13], "show": [0, 5, 6, 10, 11, 12], "shown": [4, 5, 6, 12], "signific": [0, 6], "sim": [6, 7], "similar": [5, 6], "similarili": 5, "similarli": [4, 5], "simpl": [5, 6, 13], "simpler": 5, "simpli": [3, 5, 10], "simplic": 5, "simul": [0, 13], "simulated_data_subgroup": [10, 13], "simulated_data_subgroup_result": 10, "simulated_misdata": [7, 10], "simulated_misdata_result": 10, "simulated_welldata": [4, 5, 6, 7, 10, 11, 12, 14], "simulated_welldata_diagram_output": 10, "simulated_welldata_result": 10, "simulation_s": [4, 6, 12], "sinc": [4, 6, 9, 11], "situat": 12, "size": [0, 1, 9, 11], "size_c": 6, "size_h": 6, "skip": 7, "slope": [0, 1, 8], "small": 0, "smith": 11, "smooth": [0, 7], "smoothed_proba": 0, "so": 9, "societi": 12, "softmax": [0, 11], "softmax_to_logit": [0, 2, 11], "sole": 8, "some": [4, 5, 12, 13], "sort": [0, 7], "sorted_proba": 0, "sourc": 0, "space": [0, 1, 8], "span": [0, 7], "special": 11, "specif": [8, 9, 10], "specifi": [0, 8, 10, 14], "speigelhalt": 12, "spieegelhalt": 1, "spiegelhalt": [0, 1, 8], "spiegelhalter_z_test": [0, 2, 12], "spiegelhalterz": [0, 10, 12, 13, 14], "spline": 7, "sqrt": 12, "squ": 4, "squar": [0, 6, 12], "standard": [6, 12], "start": 1, "stat08078": 4, "statist": [0, 1, 4, 7, 9, 12], "statistician": 12, "statsmodel": 10, "statsref": 4, "std": 4, "step": [0, 6, 12], "steyerberg": [4, 7], "still": [4, 6, 7, 11, 14], "str": [0, 6, 12], "strongli": 8, "structur": 0, "studi": 6, "subgroup": [0, 1, 2, 10], "subgroup_1": [0, 10, 13], "subgroup_1_group_a": [10, 13], "subgroup_1_group_b": [10, 13], "subgroup_2": [0, 10, 13], "subgroup_class": 13, "subgroup_column": 13, "subgroup_indic": [0, 2, 13], "subgroup_m": [10, 13], "subgroups_class": [0, 2, 13], "subgroups_index": [0, 2, 13], "subject": 4, "submodul": 2, "success": 11, "suffici": [1, 8, 12], "suggest": [0, 6, 8], "suit": 1, "sum": 5, "sum_": [5, 6, 7, 9, 12], "summari": [0, 1], "sun": 5, "support": [0, 3], "t": [0, 4, 5, 6, 7, 9, 10, 12], "take": [0, 8], "tannen": 5, "target": 4, "task": 1, "techniqu": 4, "tell": 4, "tempresult": [4, 6, 12], "term": [5, 7, 9, 12], "test": [0, 1, 8, 10, 11], "test_dataload": 11, "text": [5, 6, 7, 9, 12, 14], "th": [5, 6, 7], "than": [4, 6], "thei": [5, 7], "them": [0, 8, 10], "theorem": 9, "theoret": 1, "theori": 6, "therefor": [5, 6, 7, 8, 9], "thi": [0, 1, 4, 5, 6, 9, 10, 13], "thing": 13, "those": 0, "through": [7, 13], "tian": 9, "time": [4, 9], "titl": [0, 5, 6, 7, 11, 12, 14], "tool": [0, 1, 6, 10, 11], "top": [0, 1, 5, 8, 10, 11, 14], "topclass": [5, 9, 10, 13, 14], "total": [5, 6], "tpr": 0, "tradition": 5, "tran": 5, "transform": [0, 8, 9, 10, 14], "transform_topclass": [0, 2, 14], "transformed_data": 14, "treat": [0, 10], "trend": 4, "trial": [11, 12], "true": [0, 1, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14], "truth": 7, "try": [7, 10], "tune": 12, "tupl": 0, "turn": 10, "tutori": [4, 7, 10], "two": [4, 5, 6, 9, 13], "tygert": 5, "type": [0, 4, 5, 7], "typic": [0, 6], "u": [4, 5, 11], "ubgroup_2": 10, "uitliti": 0, "under": [0, 3, 4, 8, 12], "understand": 6, "uniqu": 0, "up": 5, "upper": [0, 6, 12], "upperci": [4, 7, 9, 10, 13, 14], "us": [0, 1, 3, 4, 5, 6, 8, 9, 11, 13, 14], "usag": 10, "useag": 10, "user": [4, 14], "usual": [4, 6, 9], "util": [2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14], "v": [1, 4, 5, 8, 10, 14], "v29i1": 5, "valid": 6, "valu": [0, 1, 4, 10, 11, 13, 14], "var": 12, "variabl": 4, "varianc": 12, "variou": [0, 1], "verbos": [10, 13], "veri": [6, 11, 12], "versa": 4, "version": [0, 5], "vi": [2, 7, 11, 14], "vice": 4, "visual": [0, 1, 8, 10, 11], "vline": [6, 12], "vstack": 11, "w": [4, 5, 6, 7, 9], "wa": 12, "waf993": 11, "wai": [4, 5, 6, 7, 13, 14], "want": [5, 10], "warn": 4, "we": [1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "weak": 4, "weather": 11, "wed": 4, "weight": [0, 5, 7], "weinberg": 5, "well": [0, 4, 5, 6, 7, 10, 11, 12, 14], "wellcal_dataload": [4, 5, 6, 7, 11, 12], "when": [0, 5, 8, 9, 10, 14], "where": [0, 5, 6, 7, 9, 10, 11, 12, 13], "whether": [0, 4, 6, 8, 9, 10, 12, 13, 14], "which": [0, 4, 5, 7, 8, 9, 10, 11, 12], "while": [4, 5, 6, 7], "who": 12, "whole": 10, "wide": [0, 5, 6], "width": [5, 6, 7], "wilei": 4, "wilson": [0, 11], "window": 7, "within": [0, 9, 13], "without": 0, "word": 9, "work": [1, 6, 8, 10, 14], "world": 13, "wrong": 6, "x": [0, 4, 6, 7, 9, 12], "x1": 4, "x_1": 9, "x_2": 9, "x_i": 12, "xlabel": [5, 6, 7, 12], "xu": 5, "y": [0, 4, 5, 6, 7, 8, 9, 12], "y_": 5, "y_i": 9, "y_predict": 0, "y_proba": 0, "y_true": 0, "ylabel": [6, 7, 12], "ylim": 5, "ymax": [6, 12], "ymin": [6, 12], "you": [1, 3, 4, 7, 8, 10, 13, 14], "your": [1, 10], "z": [0, 1, 4, 8, 9], "z_score": [0, 12], "zero": 5, "zhang": 5}, "titles": ["calzone package", "Welcome to the documentation for calzone", "calzone", "Running GUI", "COX calibration analysis", "Exepected Calibration Error(ECE) and Maximum Calibration Error (MCE)", "Hosmer-Lemeshow test (HL test)", "Integrated Calibration Index (ICI)", "Summary and guide for calzone", "Prevalence adjustment", "Quick Start", "Reliability diagram", "Spiegelhalter\u2019s Z-test", "Subgroup analysis", "Multiclass extension"], "titleterms": {"": 12, "adjust": 9, "analysi": [4, 13], "background": [4, 5, 6, 7, 12], "bin": 5, "calcul": [4, 5, 6, 7, 12], "calibr": [4, 5, 7, 8], "calzon": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 12], "class": 9, "command": 10, "con": [4, 5, 6, 7, 12], "constant": 9, "content": [0, 1], "cox": [4, 7], "curv": 7, "diagram": 11, "document": 1, "ec": 5, "error": 5, "estim": 5, "exepect": 5, "extens": 14, "fit": 7, "function": 5, "gui": 3, "guid": 8, "hl": 6, "hosmer": 6, "ici": 7, "index": 7, "instal": 10, "intecept": 4, "integr": 7, "intercept": 4, "interest": 9, "interfac": 10, "lemeshow": 6, "line": 10, "loess": 7, "logit": 9, "maximum": 5, "mce": 5, "metric": [0, 8], "modul": 0, "multiclass": 14, "p": [6, 12], "packag": 0, "preform": 9, "preval": 9, "pro": [4, 5, 6, 7, 12], "python": 10, "quick": 10, "refer": [4, 5, 6, 7, 9, 11, 12], "reliabl": 11, "run": 3, "score": 12, "shift": 9, "size": [4, 5, 6, 12], "slope": 4, "spieegelhalt": 12, "spiegelhalt": 12, "start": 10, "statist": 6, "subgroup": 13, "submodul": 0, "summari": 8, "test": [4, 6, 12], "theoret": [4, 5, 6, 7, 12], "us": [7, 10, 12], "util": 0, "valu": [6, 12], "vi": 0, "visual": 7, "welcom": 1, "z": 12}}) \ No newline at end of file +Search.setIndex({"alltitles": {"COX calibration analysis": [[4, null]], "Calculating Cox slope and intercept with calzone": [[4, "Calculating-Cox-slope-and-intercept-with-calzone"]], "Calculating ECE and MCE with calzone": [[5, "Calculating-ECE-and-MCE-with-calzone"]], "Calculating HL test statistics and p-value with calzone": [[6, "Calculating-HL-test-statistics-and-p-value-with-calzone"]], "Calculating LOESS ICI and COX ICI using calzone": [[7, "Calculating-LOESS-ICI-and-COX-ICI-using-calzone"]], "Calculating the Spieegelhalter Z score and p-value using calzone": [[12, "Calculating-the-Spieegelhalter-Z-score-and-p-value-using-calzone"]], "Command line interface": [[10, "Command-line-interface"]], "Cons of Cox calibration analysis": [[4, "Cons-of-Cox-calibration-analysis"]], "Cons of ECE and MCE": [[5, "Cons-of-ECE-and-MCE"]], "Cons of HL Test": [[6, "Cons-of-HL-Test"]], "Cons of ICI": [[7, "Cons-of-ICI"]], "Cons of Spiegelhalter\u2019s Z test": [[12, "Cons-of-Spiegelhalter's-Z-test"]], "Contents:": [[1, null]], "ECE and MCE as function of bin size": [[5, "ECE-and-MCE-as-function-of-bin-size"]], "Estimated ECE and MCE": [[5, "Estimated-ECE-and-MCE"]], "Exepected Calibration Error(ECE) and Maximum Calibration Error (MCE)": [[5, null]], "Guide to calzone and calibration metrics": [[8, "Guide-to-calzone-and-calibration-metrics"]], "Hosmer-Lemeshow test (HL test)": [[6, null]], "Installation": [[10, "Installation"]], "Integrated Calibration Index (ICI)": [[7, null]], "Module contents": [[0, "module-calzone"]], "Multiclass extension": [[14, null]], "Preform prevalence adjustment in calzone": [[9, "Preform-prevalence-adjustment-in-calzone"]], "Prevalence adjustment": [[9, null]], "Prevalence adjustment and constant shift in logit of class-of-interest": [[9, "Prevalence-adjustment-and-constant-shift-in-logit-of-class-of-interest"]], "Pros of Cox calibration analysis": [[4, "Pros-of-Cox-calibration-analysis"]], "Pros of ECE and MCE": [[5, "Pros-of-ECE-and-MCE"]], "Pros of HL test": [[6, "Pros-of-HL-test"]], "Pros of ICI": [[7, "Pros-of-ICI"]], "Pros of Spiegelhalter\u2019s Z test": [[12, "Pros-of-Spiegelhalter's-Z-test"]], "Quick Start": [[10, null]], "Reference": [[5, "Reference"], [6, "Reference"], [7, "Reference"], [12, "Reference"]], "References": [[4, "References"], [9, "References"], [11, "References"]], "Reliability diagram": [[11, null]], "Running GUI": [[3, null]], "Size of COX slope and intecept test": [[4, "Size-of-COX-slope-and-intecept-test"]], "Size of HL test": [[6, "Size-of-HL-test"]], "Spiegelhalter\u2019s Z-test": [[12, null]], "Subgroup analysis": [[13, null]], "Submodules": [[0, "submodules"]], "Summary and guide for calzone": [[8, null]], "Testing the size of Spiegelhalter\u2019s z test": [[12, "Testing-the-size-of-Spiegelhalter's-z-test"]], "Theoretical Background": [[4, "Theoretical-Background"], [5, "Theoretical-Background"], [6, "Theoretical-Background"], [7, "Theoretical-Background"]], "Theoretical background": [[12, "Theoretical-background"]], "Using calzone in python": [[10, "Using-calzone-in-python"]], "Visualization of the fitted curve": [[7, "Visualization-of-the-fitted-curve"]], "Welcome to the documentation for calzone": [[1, null]], "calzone": [[2, null]], "calzone package": [[0, null]], "calzone.metrics module": [[0, "module-calzone.metrics"]], "calzone.utils module": [[0, "module-calzone.utils"]], "calzone.vis module": [[0, "module-calzone.vis"]]}, "docnames": ["calzone", "index", "modules", "notebooks/GUI", "notebooks/cox", "notebooks/ece_mce", "notebooks/hl_test", "notebooks/ici", "notebooks/metrics_summary", "notebooks/prevalence_adjustment", "notebooks/quickstart", "notebooks/reliability_diagram", "notebooks/spiegelhalter_z", "notebooks/subgroup", "notebooks/topclass"], "envversion": {"nbsphinx": 4, "sphinx": 63, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1}, "filenames": ["calzone.rst", "index.rst", "modules.rst", "notebooks/GUI.ipynb", "notebooks/cox.ipynb", "notebooks/ece_mce.ipynb", "notebooks/hl_test.ipynb", "notebooks/ici.ipynb", "notebooks/metrics_summary.ipynb", "notebooks/prevalence_adjustment.ipynb", "notebooks/quickstart.ipynb", "notebooks/reliability_diagram.ipynb", "notebooks/spiegelhalter_z.ipynb", "notebooks/subgroup.ipynb", "notebooks/topclass.ipynb"], "indexentries": {"__init__() (calzone.metrics.calibrationmetrics method)": [[0, "calzone.metrics.CalibrationMetrics.__init__", false]], "__init__() (calzone.utils.data_loader method)": [[0, "calzone.utils.data_loader.__init__", false], [0, "id0", false]], "__init__() (calzone.utils.fake_binary_data_generator method)": [[0, "calzone.utils.fake_binary_data_generator.__init__", false]], "abraitary_miscal() (calzone.utils.fake_binary_data_generator method)": [[0, "calzone.utils.fake_binary_data_generator.abraitary_miscal", false]], "alpha_val (calzone.utils.fake_binary_data_generator attribute)": [[0, "calzone.utils.fake_binary_data_generator.alpha_val", false]], "apply_prevalence_adjustment() (in module calzone.utils)": [[0, "calzone.utils.apply_prevalence_adjustment", false]], "beta_val (calzone.utils.fake_binary_data_generator attribute)": [[0, "calzone.utils.fake_binary_data_generator.beta_val", false]], "bootstrap() (calzone.metrics.calibrationmetrics method)": [[0, "calzone.metrics.CalibrationMetrics.bootstrap", false]], "cal_ici() (in module calzone.metrics)": [[0, "calzone.metrics.cal_ICI", false]], "cal_ici_cox() (in module calzone.metrics)": [[0, "calzone.metrics.cal_ICI_cox", false]], "calculate_ece_mce() (in module calzone.metrics)": [[0, "calzone.metrics.calculate_ece_mce", false]], "calculate_metrics() (calzone.metrics.calibrationmetrics method)": [[0, "calzone.metrics.CalibrationMetrics.calculate_metrics", false]], "calibrationmetrics (class in calzone.metrics)": [[0, "calzone.metrics.CalibrationMetrics", false]], "calzone": [[0, "module-calzone", false]], "calzone.metrics": [[0, "module-calzone.metrics", false]], "calzone.utils": [[0, "module-calzone.utils", false]], "calzone.vis": [[0, "module-calzone.vis", false]], "cox_regression_analysis() (in module calzone.metrics)": [[0, "calzone.metrics.cox_regression_analysis", false]], "data (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.data", false]], "data_loader (class in calzone.utils)": [[0, "calzone.utils.data_loader", false]], "data_path (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.data_path", false]], "fake_binary_data_generator (class in calzone.utils)": [[0, "calzone.utils.fake_binary_data_generator", false]], "find_optimal_prevalence() (in module calzone.utils)": [[0, "calzone.utils.find_optimal_prevalence", false]], "generate_data() (calzone.utils.fake_binary_data_generator method)": [[0, "calzone.utils.fake_binary_data_generator.generate_data", false]], "get_ci() (in module calzone.metrics)": [[0, "calzone.metrics.get_CI", false]], "have_subgroup (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.have_subgroup", false]], "header (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.Header", false]], "hosmer_lemeshow_test() (in module calzone.metrics)": [[0, "calzone.metrics.hosmer_lemeshow_test", false]], "labels (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.labels", false]], "linear_miscal() (calzone.utils.fake_binary_data_generator method)": [[0, "calzone.utils.fake_binary_data_generator.linear_miscal", false]], "logit_func() (in module calzone.metrics)": [[0, "calzone.metrics.logit_func", false]], "loss() (in module calzone.utils)": [[0, "calzone.utils.loss", false]], "lowess_regression_analysis() (in module calzone.metrics)": [[0, "calzone.metrics.lowess_regression_analysis", false]], "make_roc_curve() (in module calzone.utils)": [[0, "calzone.utils.make_roc_curve", false]], "module": [[0, "module-calzone", false], [0, "module-calzone.metrics", false], [0, "module-calzone.utils", false], [0, "module-calzone.vis", false]], "optimal_prevalence_adjustment() (calzone.metrics.calibrationmetrics method)": [[0, "calzone.metrics.CalibrationMetrics.optimal_prevalence_adjustment", false]], "plot_reliability_diagram() (in module calzone.vis)": [[0, "calzone.vis.plot_reliability_diagram", false]], "plot_roc_curve() (in module calzone.vis)": [[0, "calzone.vis.plot_roc_curve", false]], "probs (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.probs", false]], "reliability_diagram() (in module calzone.utils)": [[0, "calzone.utils.reliability_diagram", false]], "removing_nan() (in module calzone.utils)": [[0, "calzone.utils.removing_nan", false]], "softmax_to_logits() (in module calzone.utils)": [[0, "calzone.utils.softmax_to_logits", false]], "spiegelhalter_z_test() (in module calzone.metrics)": [[0, "calzone.metrics.spiegelhalter_z_test", false]], "subgroup_indices (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.subgroup_indices", false]], "subgroups (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.subgroups", false]], "subgroups_class (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.subgroups_class", false]], "subgroups_index (calzone.utils.data_loader attribute)": [[0, "calzone.utils.data_loader.subgroups_index", false]], "transform_topclass() (calzone.utils.data_loader method)": [[0, "calzone.utils.data_loader.transform_topclass", false], [0, "id1", false]]}, "objects": {"": [[0, 0, 0, "-", "calzone"]], "calzone": [[0, 0, 0, "-", "metrics"], [0, 0, 0, "-", "utils"], [0, 0, 0, "-", "vis"]], "calzone.metrics": [[0, 1, 1, "", "CalibrationMetrics"], [0, 3, 1, "", "cal_ICI"], [0, 3, 1, "", "cal_ICI_cox"], [0, 3, 1, "", "calculate_ece_mce"], [0, 3, 1, "", "cox_regression_analysis"], [0, 3, 1, "", "get_CI"], [0, 3, 1, "", "hosmer_lemeshow_test"], [0, 3, 1, "", "logit_func"], [0, 3, 1, "", "lowess_regression_analysis"], [0, 3, 1, "", "spiegelhalter_z_test"]], "calzone.metrics.CalibrationMetrics": [[0, 2, 1, "", "__init__"], [0, 2, 1, "", "bootstrap"], [0, 2, 1, "", "calculate_metrics"], [0, 2, 1, "", "optimal_prevalence_adjustment"]], "calzone.utils": [[0, 3, 1, "", "apply_prevalence_adjustment"], [0, 1, 1, "", "data_loader"], [0, 1, 1, "", "fake_binary_data_generator"], [0, 3, 1, "", "find_optimal_prevalence"], [0, 3, 1, "", "loss"], [0, 3, 1, "", "make_roc_curve"], [0, 3, 1, "", "reliability_diagram"], [0, 3, 1, "", "removing_nan"], [0, 3, 1, "", "softmax_to_logits"]], "calzone.utils.data_loader": [[0, 4, 1, "", "Header"], [0, 2, 1, "id0", "__init__"], [0, 4, 1, "", "data"], [0, 4, 1, "", "data_path"], [0, 4, 1, "", "have_subgroup"], [0, 4, 1, "", "labels"], [0, 4, 1, "", "probs"], [0, 4, 1, "", "subgroup_indices"], [0, 4, 1, "", "subgroups"], [0, 4, 1, "", "subgroups_class"], [0, 4, 1, "", "subgroups_index"], [0, 2, 1, "id1", "transform_topclass"]], "calzone.utils.fake_binary_data_generator": [[0, 2, 1, "", "__init__"], [0, 2, 1, "", "abraitary_miscal"], [0, 4, 1, "", "alpha_val"], [0, 4, 1, "", "beta_val"], [0, 2, 1, "", "generate_data"], [0, 2, 1, "", "linear_miscal"]], "calzone.vis": [[0, 3, 1, "", "plot_reliability_diagram"], [0, 3, 1, "", "plot_roc_curve"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"], "4": ["py", "attribute", "Python attribute"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function", "4": "py:attribute"}, "terms": {"": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11], "0": [0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "000": [4, 10, 13], "00037947714112375366": 13, "001": [0, 7, 10], "0012819521292332472": 14, "002": 10, "003": 10, "0038637011857438034": 14, "004": 10, "0046758796391944": 9, "005": 10, "00558856942568957": [7, 10, 13], "005610391483826338": [4, 7, 10, 13], "006": [10, 13], "007": 10, "007508966220374058": 9, "008": 10, "008733966945443138": [5, 10, 13], "008745511902314453": 9, "009": [10, 13], "009313116424641145": 14, "009458033653818828": [5, 10, 13, 14], "009458033653818974": 14, "009608653731328977": [5, 10, 13, 14], "009608653731329372": 14, "01": [10, 13], "010355911839501922": 9, "011": 10, "012": [10, 13], "01208775955804901": [5, 10, 13], "013671230516636386": 9, "014081013182402267": 9, "016": 10, "017": 10, "018": 10, "019": 10, "02": [4, 10, 13], "020": 10, "020515047600205394": 14, "020515047600205505": [5, 10, 13, 14], "021": [10, 13], "022": [9, 10], "023": [10, 13], "02324031223486256": [5, 10, 13], "025": [4, 10], "028": 10, "029": 4, "029403495083063648": 9, "029652031234071": 14, "03": 10, "031": 10, "032": 10, "03353272525376893": [4, 7, 10, 13], "034": [4, 10, 13], "035": 10, "036": 10, "037": [10, 13], "038": [10, 13], "039": [10, 13], "039000000000000035": 4, "03926468843081932": 14, "03926468843081976": [5, 10, 13, 14], "04": 9, "040": 4, "041": 10, "042": [10, 13], "043": 10, "044": 10, "04497652296600376": [4, 7, 10, 13], "045": [10, 13], "0450": 4, "04599": 5, "046": 10, "048": [10, 13], "04848338618970194": [5, 10, 13], "049": [10, 12, 13], "05": [0, 6, 12], "050": 10, "051": [4, 10, 13], "0512096313774626": [4, 7, 10, 13], "052": 10, "054": 10, "055": [10, 13], "056": 10, "05600000000000005": 4, "058": 10, "062": 10, "063": [10, 13], "064": [10, 13], "065": [10, 13], "066": 10, "068": 10, "06894458205508802": 9, "069": 10, "06991428582761099": 13, "07": [10, 13], "071": 10, "072": 10, "073": 10, "07356445428053172": 7, "074": [10, 13], "07429481165606829": 13, "07479369479609524": 13, "075": [10, 13], "076": 10, "0765892898243467": 13, "07658928982434714": 13, "07692218401743334": 7, "077": [10, 13], "07746407648179383": 13, "07796623141885761": 13, "078": [10, 13], "07872518570110512": 13, "079": [10, 13], "07961758926734244": 9, "08": 10, "081": 10, "083": 10, "0830845954424": 14, "084": 10, "0841517729106883": 9, "0841517733462589": 9, "085": 10, "086": 10, "087": 10, "0884212323912401": 14, "09": 10, "091": 10, "092": 10, "0962280216661371": 9, "0984122810555748": 7, "0x7fe048e8b470": 5, "1": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "10": [0, 4, 5, 6, 7, 9, 10, 11, 12, 13], "1000": [0, 4, 6, 10, 12], "10000": [5, 6, 12], "1002": [4, 7, 12], "101": 9, "1016": 9, "1027": 10, "1043": 6, "1069": 6, "107": 10, "108": 10, "109": 10, "1093": [4, 7, 9], "11": 9, "11017646753618837": 14, "111": 10, "1135847825485915": 14, "1138": [10, 13], "114": 10, "115": 10, "1156": 10, "116": [6, 10], "117": 6, "1175": 11, "1177": 9, "11820": 9, "12": 9, "123": [4, 6, 9, 10, 12, 13], "12348577118577644": [4, 7, 10, 13], "124": 10, "125": 10, "126": 10, "127": 10, "12775157222121533": 9, "1292": 10, "13": [10, 11], "1322110153978738": 14, "1327565894838103": 13, "133": [10, 13], "135": [10, 12], "1355": 10, "139": 10, "1393": 10, "1394": 9, "14": 11, "140": [10, 13], "14045600565696226": 13, "1409": 9, "14090872416947742": 13, "141": [10, 13], "1446": 9, "145": 10, "1457": 9, "15": [4, 7, 9, 10, 11, 14], "150": 0, "151": 10, "1512": 12, "1519": 12, "152": 10, "155": 10, "158": 10, "16": 6, "1609": 5, "16250572519432438": 13, "163": [10, 13], "168": 10, "1706": 5, "171": [10, 13], "1714434139853": 13, "175": 10, "18": [10, 13], "182": 10, "1844": 10, "185": 10, "1857": 10, "1927": 4, "1928": 4, "1958": 4, "1979": 7, "1980": 6, "1986": 12, "1997": 6, "1e": [0, 7], "1st": 4, "2": [0, 4, 5, 6, 7, 9, 10, 11, 12, 13], "20": [6, 12], "2007": 11, "2008": [9, 12], "2009": 12, "2010": 9, "2011": 9, "2015": 5, "2017": 5, "2018": [4, 9], "2019": [5, 7], "202": 10, "2020": [4, 5, 7, 9], "2022": 5, "2024": 4, "203": 10, "204": 10, "205": 10, "21": [7, 10], "210": 4, "212": 4, "214": 10, "22": 11, "2246": [10, 13], "232": 10, "24": 10, "244": 10, "249": 10, "26": 10, "262": 4, "27": [4, 7, 9, 10, 13], "273": 10, "28": 10, "29": [5, 10], "2_": 6, "2p_i": 12, "3": [0, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14], "300": 5, "31": 10, "319": 10, "327": [10, 13], "33": 10, "3300531914893617": 9, "3341": 10, "335": 10, "34": [4, 10, 12], "3465": 4, "352": [10, 13], "35209071874348785": [6, 10, 13], "368": 7, "37": 10, "376": [10, 13], "37632691618773545": 14, "3763269161877356": [10, 12, 13], "38": 7, "385628": 4, "39": [4, 5, 6, 7, 10, 12, 14], "3900": 10, "391": 10, "392": 10, "396": 10, "4": [0, 4, 5, 6, 7, 9, 10, 12, 14], "40": 11, "4051": 7, "4065": 7, "42": 11, "429": [10, 13], "43": 11, "4385762101924": 13, "439": [10, 13], "443": 10, "4436": 4, "4438": 4, "454": 10, "456": 12, "463": 10, "469": 10, "470": 10, "478": [10, 13], "47838663128188996": 13, "481": 10, "494": 10, "495": 10, "497": 10, "49863799264980607": 9, "4998": 4, "4999": 4, "5": [0, 4, 5, 6, 7, 9, 10, 11, 12, 14], "50": 11, "5000": [4, 9, 10], "507": [10, 13], "5071793536874274": 13, "508": 10, "524": 10, "526": 10, "53": 4, "5359720760929648": 13, "536": [10, 13], "539": 10, "554": 10, "569": 10, "577": 10, "581": 10, "584": 10, "5958290924064796": 9, "6": [0, 4, 5, 6, 10, 14], "611": 10, "621": [4, 7], "626": 10, "631": 10, "633": [4, 7], "637": 10, "638": 10, "641": [10, 13], "643": 12, "651": 11, "661": 11, "664": 10, "666": 10, "668": [10, 13], "67": 10, "681": 10, "686": 10, "6897839569176842": 9, "694947603203135": [6, 10, 13], "695": [10, 13], "696": [10, 13], "698": 10, "7": [0, 4, 6, 10], "7066738713391099": [10, 12, 13], "7066738713391101": 14, "707": [10, 13], "716": 10, "727": 10, "729": 10, "732": [10, 13], "74": 7, "7486601568004448": 14, "778": 10, "779": 10, "781": 10, "7837388214288888": 9, "794": 10, "8": [0, 5, 6, 10, 13], "813": 10, "818": 10, "8281": 7, "829": 7, "836": 7, "842": [10, 13], "87": 9, "8754203499121678": 9, "8754203499121679": 9, "8835446575708198": [6, 10, 13], "884": [10, 13], "884991559088098": [6, 10, 13], "885": [10, 13], "886": 10, "888": 10, "9": [0, 6, 10], "9097229915817346": 14, "910": [10, 13], "93575342117766": 13, "936": [10, 13], "937": [4, 10, 13], "9372902801721911": [4, 7, 10, 13], "940": 10, "9400481147756811": 9, "942": 10, "95": [10, 11], "96": 0, "9602": 5, "971": 10, "975": 4, "977": 10, "9781118445112": 4, "981": 10, "990": 10, "9939": 4, "994": [10, 13], "9942": 4, "9942499557748269": [4, 7, 10, 13], "996": 10, "9990721119864874": 14, "A": [0, 4, 6, 7, 9, 11, 13], "And": 9, "But": 11, "By": 9, "FOR": 6, "For": [0, 4, 8, 9, 10, 12], "If": [0, 4, 8, 10], "In": [4, 5, 6, 7, 9, 10, 12, 13, 14], "It": [0, 1, 5, 6, 7, 10, 11, 12], "No": [4, 5, 9], "OF": 6, "On": 5, "One": 6, "Or": 10, "THE": 6, "That": 4, "The": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12], "Then": [3, 10], "There": [4, 5, 6, 10], "These": 0, "To": [1, 3, 4, 7, 8, 9, 10, 14], "_": [5, 6, 12, 14], "__init__": [0, 2], "aaai": 5, "ab": [5, 9], "about": [5, 6, 11, 14], "abov": [5, 9, 10], "abraitary_misc": [0, 2], "absenc": 0, "absolut": 0, "ac": 5, "academ": 9, "acc": 5, "access": 8, "accordingli": 0, "account": 5, "accur": [1, 8, 12], "accuraci": [0, 5, 7, 11], "achiev": 8, "acra": 9, "across": 0, "actual": [0, 7], "adapt": [5, 9], "add": [0, 9], "addint": 9, "addit": 0, "adjust": [0, 1, 4, 8, 10, 11], "adjusted_p": 9, "adjusted_preval": 0, "adjusted_prob": 0, "adjusted_proba": 0, "adopt": 5, "advantag": [4, 6, 7], "affect": [5, 6, 7, 9], "after": [8, 9, 12], "after_preval": 9, "again": [6, 8], "against": [0, 11], "aim": [5, 8], "aka": [4, 9], "al": [5, 6], "alern": 13, "all": [0, 3, 4, 5, 8, 10, 13, 14], "allow": 0, "alpha": [0, 6, 12], "alpha_v": [0, 2, 4, 6, 9, 10, 12], "alreadi": 10, "also": [4, 5, 6, 7, 9, 10, 12, 13], "altern": [4, 5, 7, 10], "alternativli": 14, "although": 4, "alwai": 5, "american": [4, 7], "an": [0, 4, 5, 6, 7, 9, 10, 13], "analysi": [0, 1], "ani": [0, 6, 7, 12], "append": [4, 6, 12], "appli": [0, 8, 9, 10], "applic": [0, 4, 9, 13], "apply_prevalence_adjust": [0, 2, 9], "approach": 14, "approxim": 12, "ar": [0, 3, 4, 5, 6, 10, 13], "arang": 5, "arbitrari": [0, 7], "area": 0, "argument": [0, 9, 10], "around": 4, "arrai": [0, 4, 6, 12], "arrieta": 5, "artifici": [5, 11], "arxiv": [5, 9], "assess": [0, 1, 4, 6, 8], "associ": [0, 4, 7], "assum": [0, 9, 10, 11], "assumpt": 6, "auc": 0, "austin": 7, "automat": 10, "avail": 0, "averag": [0, 5, 7, 8, 11], "avoid": 0, "b": [4, 9, 12, 13], "b_m": 5, "back": 0, "background": 1, "bad": 11, "bar": [0, 11], "base": [0, 5, 6], "basic": 10, "batch": 1, "bay": 9, "bayesian": 5, "becaus": 5, "becom": [9, 14], "been": [4, 6], "befor": [1, 9], "before_preval": 9, "being": 9, "below": [4, 5, 11], "bernoulli": 11, "beta": [0, 10], "beta_v": [0, 2, 4, 6, 9, 10, 12], "better": 0, "between": [0, 4, 5, 9], "beyond": 4, "big": 4, "biggest": [5, 6], "bin": [0, 1, 4, 6, 7, 8, 10, 11, 12], "bin_count": [0, 5, 6, 7, 11, 14], "bin_counts_0": 11, "bin_counts_1": 11, "bin_edg": [0, 5, 6, 7, 11, 14], "binari": [0, 1, 4, 8, 9, 10, 11, 14], "binomi": 10, "biostatist": 9, "blue": 11, "bool": [0, 9, 11], "boostrap": 10, "bootstrap": [0, 1, 2, 10], "bootstrap_ci": 10, "both": [0, 4, 5, 6, 7, 9], "bound": 0, "breast": 9, "brier": 12, "brocker": 12, "br\u00f6cker": [11, 12], "c": [0, 5, 6, 7, 9, 10, 13, 14], "cal_ici": [0, 2], "cal_ici_cox": [0, 2, 7], "cal_metr": [4, 6, 10, 12, 13, 14], "calcualt": 8, "calcuat": 11, "calcul": [0, 1, 8, 9, 10, 11], "calculate_ece_mc": [0, 2, 5], "calculate_metr": [0, 2, 4, 5, 6, 7, 9, 10, 12, 13, 14], "calib": 5, "calibbr": 11, "calibr": [0, 1, 6, 9, 10, 11, 12, 13, 14], "calibrationmetr": [0, 2, 4, 5, 6, 7, 9, 10, 12, 13, 14], "call": [4, 5, 6, 7, 12], "callabl": 0, "calmetr": [4, 5, 6, 7, 9, 12], "calster": 4, "calzon": [3, 11, 13, 14], "can": [0, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14], "cancer": 9, "cannot": 6, "cao": 1, "capabl": 1, "captur": [4, 7], "care": 14, "carlo": 0, "case": [4, 7, 9, 10, 12], "caus": 5, "caution": 8, "cd": 10, "cdot": [4, 9], "certain": 4, "cessi": 6, "chanc": 4, "chang": [4, 5], "characterist": 0, "chart": 0, "check": [0, 6, 12], "chen": 9, "chi": [0, 6], "chi_squar": 0, "choic": [7, 9, 11], "choos": 4, "ci": 10, "class": [0, 1, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14], "class_1_index": [9, 11], "class_1_sampl": [9, 11], "class_to_calcul": [0, 4, 5, 6, 7, 9, 10, 12, 13, 14], "class_to_plot": [0, 5, 6, 7, 11, 14], "classif": [0, 1, 8, 9, 10, 11, 14], "classifi": 9, "clasto": 11, "clean": 0, "cleveland": 7, "cli": 10, "clinic": [4, 7, 12], "clip": [0, 7], "clone": 10, "close": [0, 4, 7], "closer": 4, "coef": [0, 4, 7, 9, 10, 13, 14], "coef_ci": 0, "coeffici": 0, "color": [0, 6, 7, 12], "column": [0, 10, 13], "com": 10, "comma": 10, "command": [1, 3, 13], "common": [4, 7, 14], "commun": 6, "compar": [0, 6, 12], "comparison": 6, "compon": 9, "comprehens": [1, 8], "comput": [0, 4, 5, 7], "con": [1, 8], "conda": 10, "conf": 5, "confer": 5, "confid": [0, 1, 4, 5, 10, 11], "confind": [0, 5, 6, 7, 11, 14], "confindence_0": 11, "confindence_1": 11, "conjunct": 0, "connect": 0, "consid": [8, 14], "const": 4, "constant": 1, "constraint": 4, "contain": [0, 8, 13], "content": 2, "continu": 9, "control": 4, "convent": 5, "convention": 6, "converg": 4, "convert": [0, 14], "cooper": 5, "correct": [0, 7, 9, 11, 12, 14], "correspond": [0, 8, 10], "could": [5, 7, 11], "count": [0, 5, 6], "covari": 4, "coverag": [1, 8], "cox": [0, 1, 8, 9, 10, 13, 14], "cox_func": 7, "cox_ici": 7, "cox_intercept": [4, 7], "cox_intercept_ci": [4, 7], "cox_intercept_lowerci": 4, "cox_intercept_upperci": 4, "cox_p_correct": 7, "cox_regression_analysi": [0, 2, 4, 7], "cox_slop": [4, 7], "cox_slope_ci": [4, 7], "cox_slope_lowerci": 4, "cox_slope_upperci": 4, "creat": [0, 11, 13], "credit": 1, "cross": [9, 12], "csv": [0, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14], "csv_file": [10, 13], "cumul": 7, "current": [3, 4], "curv": [0, 1], "custom": 0, "custom_color": [0, 11], "d": [4, 5, 6, 9, 12], "data": [0, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14], "data_load": [0, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14], "data_path": [0, 2, 4, 5, 6, 7, 11, 12], "dataset": [1, 8, 9, 10, 13, 14], "date": 4, "david": 12, "decil": 6, "decompos": 12, "decomposit": 12, "deep": 5, "default": [0, 10], "defin": [5, 12], "degre": [0, 6], "delta": [0, 7], "demonstr": [5, 9, 11], "demostr": [4, 6, 7], "denomin": 9, "densiti": [0, 6, 12], "dep": 4, "depend": [0, 4, 5, 6, 8, 9, 10], "deriv": [9, 10], "describ": 7, "descript": 8, "detail": [0, 4, 8, 13], "detect": 10, "determin": [0, 6, 8], "develop": [3, 10], "deviat": [5, 7, 8], "df": [0, 4, 6], "df_": [5, 7], "diagnosi": 9, "diagnost": 9, "diagram": [0, 1, 5, 6, 7, 8, 10, 13, 14], "dict": 0, "dictionari": 0, "didsr": 10, "differ": [0, 4, 5, 6, 7, 9, 14], "directli": [5, 7, 9, 10, 12], "directori": [3, 10], "disadvantag": [5, 7], "discrimin": 12, "discuss": [9, 11], "diseas": 9, "displai": 0, "distanc": 0, "distribut": [0, 5, 6, 7, 9, 10, 12], "diverg": [9, 12], "divid": [0, 6], "do": [4, 5, 13], "document": 8, "doe": [6, 12], "doesn": [4, 7, 9, 12], "doi": [4, 5, 7, 9, 11, 12], "don": 10, "done": 9, "dot": 0, "dpi": 0, "drop": [5, 9, 11], "drop_indic": [9, 11], "dtype": [9, 11], "due": 8, "dure": 13, "dusenberri": 5, "e": [1, 4, 5, 7, 9, 10, 12], "e_": 6, "each": [0, 6, 8, 10, 11, 13, 14], "easi": [5, 6], "easili": 7, "ec": [0, 1, 4, 7, 8, 9, 10, 13, 14], "ece_": 8, "ece_c": 5, "ece_c_classon": 5, "ece_c_top_class": 5, "ece_equal_width": 5, "ece_h": 5, "ece_h_classon": 5, "ece_h_top_class": 5, "ed": 4, "edg": 0, "effect": 5, "eg": 13, "els": [4, 6, 12], "empir": [0, 7], "encod": 0, "entropi": [9, 12], "enumer": 13, "epsilon": 0, "equal": [0, 4, 5, 6, 11, 14], "equat": 9, "equival": [5, 9], "err": 4, "error": [0, 1, 7, 8, 11, 12], "error_bar": [0, 11, 14], "essenti": [1, 7, 8], "estim": [0, 1, 4, 7, 8, 9], "et": [5, 6], "eta": 9, "etc": [1, 13], "evalu": 0, "evenli": 5, "event": [0, 6], "evid": 12, "exact": [4, 11], "examin": [4, 6, 8], "exampl": [0, 4, 7, 10, 11, 12, 13], "example_data": [4, 5, 6, 7, 10, 11, 12, 13, 14], "exceed": 4, "except": [8, 14], "exepect": 1, "exit": 10, "exp": 0, "expand": 9, "expect": [0, 5, 6, 7, 8], "experi": 5, "experienc": 10, "explan": 8, "explicitli": [5, 6], "extens": [1, 5], "extract": 0, "extrem": 12, "f": [0, 4, 7, 9, 12, 13], "f_": 7, "fact": [9, 12], "factor": [0, 9], "fake": [0, 6], "fake_binary_data_gener": [0, 2, 4, 6, 9, 12], "fakedata_gener": [4, 6, 9, 12], "fals": [0, 4, 5, 6, 7, 9, 10, 11, 12], "fan": 1, "featur": [1, 3], "field": [0, 13], "fig": 7, "figur": 0, "file": [0, 10, 13], "find": [0, 1, 9], "find_optimal_preval": [0, 2, 9], "first": [0, 1, 4, 5, 6, 9, 10, 12], "fit": [0, 1, 4, 6], "fix": [0, 4, 5], "fix_intercept": [0, 4], "fix_slop": [0, 4], "flag": [0, 10], "float": 0, "follow": [0, 3, 5, 6, 9, 10, 11, 12, 13], "foral": 9, "forecast": 11, "format": [0, 10, 13], "formula": 7, "fpr": 0, "frac": [4, 5, 6, 7, 9, 12], "fraction": 0, "freedom": [0, 6], "frequenc": [0, 6], "frequent": 0, "from": [0, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14], "full": [0, 10], "func": 0, "function": [0, 1, 4, 6, 7, 9, 10, 11, 12, 14], "further": [4, 9], "g": [1, 5], "gabriel": [4, 7], "gener": [0, 4, 6, 8, 9, 10, 12], "generate_data": [0, 2, 4, 6, 9, 12], "generate_miscal_data": 10, "generate_subgroup_data": 10, "generate_wellcal_data": 10, "get_ci": [0, 2], "giger": 9, "git": 10, "github": 10, "give": [4, 5, 7], "given": [0, 8, 9, 11, 13], "glaser": 9, "go": 11, "goe": 5, "good": [0, 5, 6, 7, 11], "granular": 0, "graphic": 0, "greater": 6, "greatli": 7, "grid": 7, "group": [0, 5, 6, 7, 11, 13], "gt": [4, 5], "gu": 9, "gui": [1, 10], "gui_cal_metr": 3, "guid": [1, 4], "gujral": 5, "guo": 5, "h": [0, 5, 6, 9, 10, 13, 14], "ha": [4, 10, 12, 13], "had": 6, "half": 9, "hand": 7, "handl": [0, 14], "hat": [4, 5, 7, 8, 9], "hauskrecht": 5, "have": [0, 1, 4, 6, 7, 8, 9, 10, 11, 14], "have_subgroup": [0, 2, 13], "header": [0, 2, 10], "heavili": 5, "help": 10, "helper": 10, "here": 9, "high": 4, "higher": 0, "hist": [6, 12], "histtyp": [6, 12], "hl": [0, 1, 4, 8, 10, 12, 13, 14], "hl_c_p": 6, "hl_c_pvalu": 6, "hl_c_t": 6, "hl_h_p": 6, "hl_h_pvalu": 6, "hl_h_t": 6, "hope": 1, "horsch": 9, "hosmer": [0, 1, 8, 12], "hosmer_lemeshow_test": [0, 2, 6], "hot": 0, "how": [4, 5, 6, 8, 9], "howev": [5, 6, 7, 9, 12], "hsu": 9, "http": [4, 5, 7, 9, 10, 11, 12], "huang": [4, 7], "hyperparamet": [7, 12], "hypothesi": [6, 12], "i": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "ibarra": 5, "ici": [0, 1, 4, 8, 9, 10, 13, 14], "idea": 7, "ideal": 6, "ident": 0, "ig": 7, "ignor": 5, "illur": 10, "imbalanc": 9, "implement": [6, 7], "implicitli": 9, "import": [4, 5, 6, 7, 9, 10, 11, 12, 13, 14], "improv": 1, "inch": 0, "includ": [0, 1, 4, 8, 10], "incorrect": 6, "increas": [5, 11], "independ": [0, 9], "index": [0, 1, 8], "indic": [0, 4, 6], "industri": 6, "inform": [0, 11], "informat": [4, 7], "initi": 0, "input": [0, 10, 13], "insid": 10, "inspir": 12, "instabl": 0, "instal": [1, 3], "instead": [0, 10], "int": [0, 9, 11], "int_0": [5, 7], "intecept": 1, "integr": [0, 1, 8], "intellig": [5, 9], "intend": [1, 8], "interact": 4, "intercept": [0, 1, 7, 8, 9, 10, 13, 14], "intercept_ci": 0, "interest": [0, 1, 4, 5, 8, 10, 13, 14], "interestingli": 7, "interfac": [1, 13], "intern": 0, "interpol": 0, "interpret": [5, 6, 7, 14], "interv": [0, 1, 4, 10, 11], "intrins": 9, "intuit": [5, 6], "invers": 0, "is_equal_freq": [0, 5, 6], "iter": 4, "itself": 7, "j": [5, 9, 11, 12, 13], "jamia": [4, 7], "jason": 1, "jerfel": 5, "journal": [4, 7, 12], "just": [5, 6, 13], "k": [5, 7, 9], "kei": [0, 1, 4, 6, 9, 12], "kenett": 4, "keyword": 0, "kira": 9, "kl": [9, 12], "kwarg": 0, "kwok": 1, "kxq045": 9, "l": [4, 5, 6, 7, 9, 11], "label": [0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "last": 10, "lead": [4, 9, 11], "learn": [1, 5, 8], "left": [6, 9], "legend": [5, 6, 7, 12], "lemesbow": 6, "lemeshow": [0, 1, 8, 12], "len": [5, 9, 11], "level": 0, "li": [4, 7], "librari": 11, "like": [0, 4, 7, 12], "likelihood": [4, 9, 11], "limit": 12, "line": [0, 1, 3, 7, 13], "linear": [0, 4, 7], "linear_misc": [0, 2], "linestyl": [6, 12], "list": [0, 4, 6, 10, 12], "literatur": [5, 6], "liu": 9, "ll": 4, "llr": 4, "load": [0, 4, 5, 6, 7, 11], "loader": 10, "loc": [6, 12], "local": [0, 7, 10], "loess": [0, 1, 8, 9, 10, 13, 14], "loess_ici": 7, "loess_ici2": 7, "log": [0, 4, 9], "logical_and": 4, "logist": [0, 4, 6, 7], "logit": [0, 1, 4], "logit_func": [0, 2, 7], "longford": 4, "look": [7, 11], "loop": 13, "loss": [0, 2, 9], "low": [4, 6], "lower": 0, "lowerci": [4, 7, 9, 10, 13, 14], "lowess": 0, "lowess_fit_p": 7, "lowess_fit_p2": 7, "lowess_fit_p2_correct": 7, "lowess_fit_p_correct": 7, "lowess_regression_analysi": [0, 2, 7, 9], "lr": 9, "lt": 5, "lung": 1, "m": [5, 6, 9, 10, 13], "machado": [4, 7], "macheret": [4, 7], "machin": [1, 5, 8], "mai": 5, "main": 7, "make_roc_curv": [0, 2], "manag": 12, "mani": [6, 7, 12, 13], "mannual": 9, "margin": 9, "marker": [7, 9], "mask": [9, 11], "match": 9, "mathbb": [5, 7, 8], "matplolib": 10, "matplotlib": [0, 5, 6, 7, 10, 12], "max": [5, 6, 12], "max_": 5, "max_m": 5, "max_p": 5, "maximum": [0, 1, 4], "mce": [0, 1, 4, 10, 13, 14], "mce_": 8, "mce_c_classon": 5, "mce_c_top_class": 5, "mce_h_classon": 5, "mce_h_top_class": 5, "mean": [0, 4, 5, 6, 7, 8, 9, 11, 12], "meaning": [1, 8], "measur": [0, 4, 5, 7, 12], "medic": [4, 7, 9], "medicin": 7, "messag": 10, "meteorolog": 12, "method": [0, 4, 5, 6, 7, 9, 11], "metric": [1, 2, 4, 5, 6, 7, 9, 10, 12, 13, 14], "metrics_c": 13, "metz": 9, "mi": [9, 11], "might": [9, 11], "min_": 9, "minim": [0, 9], "miscal_dataload": 7, "miscal_funct": 0, "miscal_scal": [0, 10], "miscalibr": [0, 4, 7, 10, 12], "mislead": 11, "mle": 4, "model": [0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12], "moder": [4, 8], "modern": 5, "modifi": 5, "modul": 2, "monoton": 9, "mont": 0, "more": [0, 4, 8, 10, 11, 13], "most": [5, 7, 8, 14], "much": 5, "multi": [0, 1, 8, 10, 14], "multiclass": [0, 1], "multipl": [0, 6], "must": [0, 10], "n": [4, 5, 7, 9, 10, 12, 13], "n_bootstrap": 10, "n_class": 0, "n_m": 6, "n_point": 0, "n_sampl": 0, "naeini": 5, "name": [0, 12], "nan": [0, 4], "ndarrai": 0, "necessari": 11, "need": [0, 3, 4, 6, 7, 8, 10], "network": 5, "neural": 5, "new": [0, 4, 5, 9], "nicegui": [3, 10], "nixon": 5, "non": [6, 7, 12], "none": [0, 5, 11], "nonrobust": 4, "normal": 12, "note": 0, "notebook": [4, 8, 9, 10, 14], "notic": [5, 6, 7, 9, 10], "now": 14, "np": [4, 5, 6, 7, 9, 11, 12, 13], "null": [4, 6, 12], "num_bin": [0, 5, 6, 7, 10, 11, 13, 14], "number": [0, 4, 5, 6, 10], "numer": 0, "numpi": [0, 4, 5, 6, 7, 9, 10, 11, 12, 13], "o_": 6, "object": 0, "observ": [0, 4, 5, 6, 8], "obtain": 5, "oct": 4, "ocz228": [4, 7], "odd": 4, "off": 7, "offer": [1, 6], "often": 6, "ohno": [4, 7], "one": [0, 10, 13], "ones": [9, 11], "onli": [0, 1, 4, 5, 8, 10, 11, 13, 14], "onlin": 4, "oper": 0, "opposit": [5, 6], "optim": [0, 9], "optimal_preval": [0, 9], "optimal_prevalence_adjust": [0, 2], "option": [0, 4, 10], "order": [0, 6, 10, 13], "org": [4, 5, 7, 9, 11, 12], "origin": [4, 10], "other": [0, 4, 5, 6, 7, 8, 9, 11, 12, 13], "otherwis": 0, "outcom": [0, 4, 9], "output": [0, 9, 10], "over": [4, 5, 8], "overal": [4, 10, 13], "overconfid": 11, "p": [0, 1, 4, 5, 7, 8, 9, 10, 13, 14], "p_": [4, 5, 14], "p_i": [7, 9, 12], "p_valu": [0, 12], "packag": [1, 2, 4, 10, 11, 12, 13], "pakdaman": 5, "paramet": 0, "parametr": [6, 7, 12], "part": 5, "particular": 5, "particularli": 1, "pass": 0, "path": [0, 10], "patient": 12, "peopl": 7, "pepe": 9, "per": 0, "percentil": 0, "perfect": 4, "perfectli": 7, "perform": [0, 4, 9, 10, 13], "perform_pervalance_adjust": [0, 9], "perhap": 5, "petrick": 9, "pezeshk": 9, "piegorsch": 4, "pip": [3, 10], "pleas": [1, 8], "pleiss": 5, "plot": [0, 5, 7, 8, 10, 11, 13, 14], "plot_bin": 10, "plot_reliability_diagram": [0, 2, 7, 11, 14], "plot_roc_curv": [0, 2], "plote": 7, "plt": [5, 6, 7, 12], "png": 10, "point": 0, "polynomi": 7, "poor": 0, "poorli": 0, "popul": [1, 8, 9, 13], "posit": 0, "posterior": [9, 11], "power": [6, 12], "pp": 4, "practic": 9, "predict": [0, 1, 4, 5, 6, 7, 8, 9, 11, 12, 14], "predictor": 4, "preform": [1, 13], "prepar": 10, "preprocess": 0, "presenc": 0, "present": 0, "preval": [0, 1, 4, 8, 10, 11, 12], "prevalecn": 10, "prevalence_adjust": 10, "previou": 14, "print": [0, 4, 5, 6, 7, 9, 10, 12, 13], "print_result": [0, 4, 7], "pro": [1, 8], "prob": [0, 2, 4, 5, 6, 7, 10, 11, 12, 13, 14], "proba": 13, "proba_0": [0, 10, 13], "proba_1": [0, 10, 13], "proba_adjust": 9, "proba_class1": 7, "proba_n": [10, 13], "probabilist": [0, 5, 6, 12], "probabiliticst": 0, "probabl": [0, 4, 5, 6, 7, 8, 9, 10, 11, 14], "problem": [0, 5, 6, 8, 9, 10, 11, 14], "proce": 11, "proceed": 5, "process": [1, 10], "produc": 9, "prognost": 4, "program": 10, "project": 1, "proper": 12, "proport": 0, "propos": [5, 12], "prove": 9, "provid": [0, 1, 6, 8, 9, 10, 11, 12, 13], "pseudo": 4, "purpos": 10, "py": [3, 10, 13], "pyplot": [5, 6, 7, 12], "python": [1, 3], "q": 5, "qian": 1, "qj": 12, "quantifi": 7, "quarterli": 12, "quick": 1, "quickli": [5, 6], "quickstart": 13, "r": [4, 6, 7, 12], "radiologi": 9, "random": [4, 6, 9, 11, 12], "random_se": 10, "rang": [4, 5, 6, 12], "range_of_bin": 5, "rate": 0, "ratio": [9, 11], "raw": 0, "re": 9, "read": [1, 13], "reader": 5, "real": 13, "rearrang": 9, "reason": [5, 11], "recalibr": 4, "receiv": 0, "recommend": [0, 5, 6, 8, 12], "red": 11, "refer": [1, 8], "regress": [0, 4, 6, 7], "regular": 14, "reject": 6, "relat": [7, 11], "relationship": 9, "reli": [5, 9], "reliability_0": 11, "reliability_1": 11, "reliability_diagram": [0, 2, 4, 5, 6, 7, 11, 12, 14], "reliabl": [0, 1, 5, 6, 7, 8, 10, 12, 13, 14], "relibail": 10, "remind": 5, "remov": 0, "removing_nan": [0, 2], "replac": [0, 9, 11], "repositori": 10, "reprens": [1, 8], "repres": [0, 1, 8], "represent": 5, "requir": [6, 7, 10, 12], "resampl": 0, "research": 9, "residu": [0, 4], "resolut": [0, 9, 12], "respect": 9, "rest": [1, 8, 14], "result": [0, 4, 5, 6, 7, 8, 12, 13], "return": [0, 5, 9], "return_fig": 0, "return_numpi": [0, 4, 5, 6, 12], "reveal": 11, "reweight": 0, "right": [6, 9, 12], "risk": 4, "robust": 7, "roc": 0, "roc_auc": 0, "roc_curv": 0, "rough": 5, "round": [6, 12], "row": 0, "royal": 12, "ruggeri": 4, "rule": 12, "run": [0, 1, 10, 13], "sahin": 9, "sai": 9, "same": [0, 5, 7, 9, 10, 13, 14], "sampl": [0, 5, 6, 7, 10, 11, 14], "sample_s": [0, 4, 6, 12], "samuelson": 9, "save": [0, 10], "save_diagram_output": 10, "save_metr": 10, "save_path": 0, "save_plot": 10, "scale": [0, 9], "scatter": 7, "scatterplot": [0, 7], "scheme": [5, 6], "scipi": [0, 10, 11], "scope": 4, "score": [0, 1, 4, 6, 9, 10, 11, 13, 14], "script": [1, 10], "search": 9, "second": [0, 5, 12], "section": [5, 9, 11], "see": [4, 5, 6, 8, 10, 11, 12, 13, 14], "seed": [4, 6, 9, 12], "select": 0, "self": 0, "sens": [8, 11], "sensit": 0, "separ": 10, "seri": [11, 14], "set": [5, 9, 11], "sever": 6, "shape": 0, "shift": [1, 4, 8, 11, 12], "should": [0, 7, 8, 10, 13], "show": [0, 5, 6, 10, 11, 12], "shown": [4, 5, 6, 12], "signific": [0, 6], "sim": [6, 7], "similar": [5, 6], "similarili": 5, "similarli": [4, 5], "simpl": [5, 6, 13], "simpler": 5, "simpli": [3, 5, 10], "simplic": 5, "simul": [0, 13], "simulated_data_subgroup": [10, 13], "simulated_data_subgroup_result": 10, "simulated_misdata": [7, 10], "simulated_misdata_result": 10, "simulated_welldata": [4, 5, 6, 7, 10, 11, 12, 14], "simulated_welldata_diagram_output": 10, "simulated_welldata_result": 10, "simulation_s": [4, 6, 12], "sinc": [4, 6, 9, 11], "situat": 12, "size": [0, 1, 9, 11], "size_c": 6, "size_h": 6, "skip": 7, "slope": [0, 1, 8], "small": 0, "smith": 11, "smooth": [0, 7], "smoothed_proba": 0, "so": 9, "societi": 12, "softmax": [0, 11], "softmax_to_logit": [0, 2, 11], "sole": 8, "some": [4, 5, 12, 13], "sort": [0, 7], "sorted_proba": 0, "sourc": 0, "space": [0, 1, 8], "span": [0, 7], "special": 11, "specif": [8, 9, 10], "specifi": [0, 8, 10, 14], "speigelhalt": 12, "spieegelhalt": 1, "spiegelhalt": [0, 1, 8], "spiegelhalter_z_test": [0, 2, 12], "spiegelhalterz": [0, 10, 12, 13, 14], "spline": 7, "sqrt": 12, "squ": 4, "squar": [0, 6, 12], "standard": [6, 12], "start": 1, "stat08078": 4, "statist": [0, 1, 4, 7, 9, 12], "statistician": 12, "statsmodel": 10, "statsref": 4, "std": 4, "step": [0, 6, 12], "steyerberg": [4, 7], "still": [4, 6, 7, 11, 14], "str": [0, 6, 12], "strongli": 8, "structur": 0, "studi": 6, "subgroup": [0, 1, 2, 10], "subgroup_1": [0, 10, 13], "subgroup_1_group_a": [10, 13], "subgroup_1_group_b": [10, 13], "subgroup_2": [0, 10, 13], "subgroup_class": 13, "subgroup_column": 13, "subgroup_indic": [0, 2, 13], "subgroup_m": [10, 13], "subgroups_class": [0, 2, 13], "subgroups_index": [0, 2, 13], "subject": 4, "submodul": 2, "success": 11, "suffici": [1, 8, 12], "suggest": [0, 6, 8], "suit": 1, "sum": 5, "sum_": [5, 6, 7, 9, 12], "summari": [0, 1], "sun": 5, "support": [0, 3], "t": [0, 4, 5, 6, 7, 9, 10, 12], "take": [0, 8], "tannen": 5, "target": 4, "task": 1, "techniqu": 4, "tell": 4, "tempresult": [4, 6, 12], "term": [5, 7, 9, 12], "test": [0, 1, 8, 10, 11], "test_dataload": 11, "text": [5, 6, 7, 9, 12, 14], "th": [5, 6, 7], "than": [4, 6], "thei": [5, 7], "them": [0, 8, 10], "theorem": 9, "theoret": 1, "theori": 6, "therefor": [5, 6, 7, 8, 9], "thi": [0, 1, 4, 5, 6, 9, 10, 13], "thing": 13, "those": 0, "through": [7, 13], "tian": 9, "time": [4, 9], "titl": [0, 5, 6, 7, 11, 12, 14], "tool": [0, 1, 6, 10, 11], "top": [0, 1, 5, 8, 10, 11, 14], "topclass": [5, 9, 10, 13, 14], "total": [5, 6], "tpr": 0, "tradition": 5, "tran": 5, "transform": [0, 8, 9, 10, 14], "transform_topclass": [0, 2, 14], "transformed_data": 14, "treat": [0, 10], "trend": 4, "trial": [11, 12], "true": [0, 1, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14], "truth": 7, "try": [7, 10], "tune": 12, "tupl": 0, "turn": 10, "tutori": [4, 7, 10], "two": [4, 5, 6, 9, 13], "tygert": 5, "type": [0, 4, 5, 7], "typic": [0, 6], "u": [4, 5, 11], "ubgroup_2": 10, "uitliti": 0, "under": [0, 3, 4, 8, 12], "understand": 6, "uniqu": 0, "up": 5, "upper": [0, 6, 12], "upperci": [4, 7, 9, 10, 13, 14], "us": [0, 1, 3, 4, 5, 6, 8, 9, 11, 13, 14], "usag": 10, "useag": 10, "user": [4, 14], "usual": [4, 6, 9], "util": [2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14], "v": [1, 4, 5, 8, 10, 14], "v29i1": 5, "valid": 6, "valu": [0, 1, 4, 10, 11, 13, 14], "var": 12, "variabl": 4, "varianc": 12, "variou": [0, 1], "verbos": [10, 13], "veri": [6, 11, 12], "versa": 4, "version": [0, 5], "vi": [2, 7, 11, 14], "vice": 4, "visual": [0, 1, 8, 10, 11], "vline": [6, 12], "vstack": 11, "w": [4, 5, 6, 7, 9], "wa": 12, "waf993": 11, "wai": [4, 5, 6, 7, 13, 14], "want": [5, 10], "warn": 4, "we": [1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "weak": 4, "weather": 11, "wed": 4, "weight": [0, 5, 7], "weinberg": 5, "well": [0, 4, 5, 6, 7, 10, 11, 12, 14], "wellcal_dataload": [4, 5, 6, 7, 11, 12], "when": [0, 5, 8, 9, 10, 14], "where": [0, 5, 6, 7, 9, 10, 11, 12, 13], "whether": [0, 4, 6, 8, 9, 10, 12, 13, 14], "which": [0, 4, 5, 7, 8, 9, 10, 11, 12], "while": [4, 5, 6, 7], "who": 12, "whole": 10, "wide": [0, 5, 6], "width": [5, 6, 7], "wilei": 4, "wilson": [0, 11], "window": 7, "within": [0, 9, 13], "without": 0, "word": 9, "work": [1, 6, 8, 10, 14], "workstat": 9, "world": 13, "wrong": 6, "x": [0, 4, 6, 7, 9, 12], "x1": 4, "x_1": 9, "x_2": 9, "x_i": 12, "xlabel": [5, 6, 7, 12], "xu": 5, "y": [0, 4, 5, 6, 7, 8, 9, 12], "y_": 5, "y_i": 9, "y_predict": 0, "y_proba": 0, "y_true": 0, "ylabel": [6, 7, 12], "ylim": 5, "ymax": [6, 12], "ymin": [6, 12], "you": [1, 3, 4, 7, 8, 10, 13, 14], "your": [1, 10], "z": [0, 1, 4, 8, 9], "z_score": [0, 12], "zero": 5, "zhang": 5}, "titles": ["calzone package", "Welcome to the documentation for calzone", "calzone", "Running GUI", "COX calibration analysis", "Exepected Calibration Error(ECE) and Maximum Calibration Error (MCE)", "Hosmer-Lemeshow test (HL test)", "Integrated Calibration Index (ICI)", "Summary and guide for calzone", "Prevalence adjustment", "Quick Start", "Reliability diagram", "Spiegelhalter\u2019s Z-test", "Subgroup analysis", "Multiclass extension"], "titleterms": {"": 12, "adjust": 9, "analysi": [4, 13], "background": [4, 5, 6, 7, 12], "bin": 5, "calcul": [4, 5, 6, 7, 12], "calibr": [4, 5, 7, 8], "calzon": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 12], "class": 9, "command": 10, "con": [4, 5, 6, 7, 12], "constant": 9, "content": [0, 1], "cox": [4, 7], "curv": 7, "diagram": 11, "document": 1, "ec": 5, "error": 5, "estim": 5, "exepect": 5, "extens": 14, "fit": 7, "function": 5, "gui": 3, "guid": 8, "hl": 6, "hosmer": 6, "ici": 7, "index": 7, "instal": 10, "intecept": 4, "integr": 7, "intercept": 4, "interest": 9, "interfac": 10, "lemeshow": 6, "line": 10, "loess": 7, "logit": 9, "maximum": 5, "mce": 5, "metric": [0, 8], "modul": 0, "multiclass": 14, "p": [6, 12], "packag": 0, "preform": 9, "preval": 9, "pro": [4, 5, 6, 7, 12], "python": 10, "quick": 10, "refer": [4, 5, 6, 7, 9, 11, 12], "reliabl": 11, "run": 3, "score": 12, "shift": 9, "size": [4, 5, 6, 12], "slope": 4, "spieegelhalt": 12, "spiegelhalt": 12, "start": 10, "statist": 6, "subgroup": 13, "submodul": 0, "summari": 8, "test": [4, 6, 12], "theoret": [4, 5, 6, 7, 12], "us": [7, 10, 12], "util": 0, "valu": [6, 12], "vi": 0, "visual": 7, "welcom": 1, "z": 12}}) \ No newline at end of file diff --git a/docs/build/latex/calzone.fdb_latexmk b/docs/build/latex/calzone.fdb_latexmk index 58cafcc..444a8e3 100644 --- a/docs/build/latex/calzone.fdb_latexmk +++ b/docs/build/latex/calzone.fdb_latexmk @@ -1,10 +1,10 @@ # Fdb version 3 -["makeindex calzone.idx"] 1728323259 "calzone.idx" "calzone.ind" "calzone" 1728323263 - "calzone.idx" 1728324177 7556 580e7a1735725e6c27bdde56ecb685cf "pdflatex" +["makeindex calzone.idx"] 1729172137 "calzone.idx" "calzone.ind" "calzone" 1729172140 + "calzone.idx" 1729173064 7556 580e7a1735725e6c27bdde56ecb685cf "pdflatex" (generated) "calzone.ilg" "calzone.ind" -["pdflatex"] 1728323261 "calzone.tex" "calzone.pdf" "calzone" 1728323263 +["pdflatex"] 1729172138 "calzone.tex" "calzone.pdf" "calzone" 1729172140 "/etc/texmf/web2c/texmf.cnf" 1728063259 475 c0e671620eb5563b2130f56340a5fde8 "" "/home/kwoklung.fan/.texlive2019/texmf-var/web2c/pdftex/pdflatex.fmt" 1728065444 8258469 f9aaee64b5629d9cdd5c82d0cd0a36eb "" "/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc" 1165713224 4850 80dc9bab7f31fb78a000ccfed0e27cab "" @@ -174,30 +174,30 @@ "/usr/share/texmf/tex/latex/tex-gyre/tgtermes.sty" 1480098840 2211 af9b7d12507105a58a3e8e926996b827 "" "/usr/share/texmf/tex/latex/tex-gyre/ts1qtm.fd" 1480098840 1160 de7b1cf70edab73c9f1704df2a9fdbbd "" "/usr/share/texmf/web2c/texmf.cnf" 1581979058 38841 ce3692aa899bb693b90b87eaa5d4d84e "" - "calzone.aux" 1728324176 22211 21b4440f47eb315552a3c20237aa9f4a "pdflatex" - "calzone.ind" 1728324173 5374 7c24d43a4a21b13b2d7b0902a9618e79 "makeindex calzone.idx" - "calzone.out" 1728324177 11017 0b3b85c9fad9148defdef8b454953f20 "pdflatex" - "calzone.tex" 1728324171 260148 b04d86bb4de82a23f3c99bc712188596 "" - "calzone.toc" 1728324177 5237 4c77a122a8b1b363473f5edf5d76fa9d "pdflatex" + "calzone.aux" 1729173064 22211 21b4440f47eb315552a3c20237aa9f4a "pdflatex" + "calzone.ind" 1729173060 5374 7c24d43a4a21b13b2d7b0902a9618e79 "makeindex calzone.idx" + "calzone.out" 1729173064 11017 0b3b85c9fad9148defdef8b454953f20 "pdflatex" + "calzone.tex" 1729173058 260421 30271436cf0eb7c3b0c8b43dc73aae5a "" + "calzone.toc" 1729173064 5237 4c77a122a8b1b363473f5edf5d76fa9d "pdflatex" "mytable.png" 1727877915 716184 0235eb86d9c3d9d8be3cd26a9ca00db9 "" "nbsphinx.sty" 1723612157 8202 a429e7504022e861d9f81e9a64e9928d "" - "notebooks_ece_mce_12_1.png" 1728324168 55390 1a16cfda687f702d53b1653f869e18ca "" - "notebooks_hl_test_13_1.png" 1728324168 21799 b95978db8e70a26596193ce74b909cd8 "" - "notebooks_hl_test_14_1.png" 1728324168 21843 d147f5f8c65154f77466ca9f2e92235a "" - "notebooks_ici_8_1.png" 1728324168 43328 2354d7edb62b8a1f369fcba69d425870 "" - "notebooks_quickstart_16_1.png" 1728324169 39928 4117abd19af3b57bc8e66a51a57c56f8 "" - "notebooks_quickstart_18_1.png" 1728324169 42921 ee3df6891a29f399f164d5e55f05e6ec "" - "notebooks_quickstart_20_1.png" 1728324169 42127 7de1ea85f325862a865034006d735614 "" - "notebooks_quickstart_20_3.png" 1728324169 42854 005a6f616efd03d978c3cb107a73a066 "" - "notebooks_quickstart_20_5.png" 1728324169 44619 432e67878b412c5e06e1dcc821ed903c "" - "notebooks_reliability_diagram_3_0.png" 1728324169 40555 7f21493f44d7ea51f3eb7d2e560d4f0b "" - "notebooks_reliability_diagram_5_0.png" 1728324169 47576 38437d3c4064586dc155be2ef6c8735b "" - "notebooks_reliability_diagram_8_0.png" 1728324169 40689 0cb4ca8d3c4b37c78e0a871a292c915f "" - "notebooks_reliability_diagram_9_0.png" 1728324169 60864 f866db6032833e6af5b14aa39a869dde "" - "notebooks_spiegelhalter_z_9_1.png" 1728324170 22199 c90489bd51b52e777b195f116cce338b "" - "notebooks_topclass_2_0.png" 1728324170 40555 7f21493f44d7ea51f3eb7d2e560d4f0b "" + "notebooks_ece_mce_12_1.png" 1729173055 55390 1a16cfda687f702d53b1653f869e18ca "" + "notebooks_hl_test_13_1.png" 1729173055 21799 b95978db8e70a26596193ce74b909cd8 "" + "notebooks_hl_test_14_1.png" 1729173055 21843 d147f5f8c65154f77466ca9f2e92235a "" + "notebooks_ici_8_1.png" 1729173056 43328 2354d7edb62b8a1f369fcba69d425870 "" + "notebooks_quickstart_16_1.png" 1729173056 39928 4117abd19af3b57bc8e66a51a57c56f8 "" + "notebooks_quickstart_18_1.png" 1729173056 42921 ee3df6891a29f399f164d5e55f05e6ec "" + "notebooks_quickstart_20_1.png" 1729173056 42127 7de1ea85f325862a865034006d735614 "" + "notebooks_quickstart_20_3.png" 1729173056 42854 005a6f616efd03d978c3cb107a73a066 "" + "notebooks_quickstart_20_5.png" 1729173056 44619 432e67878b412c5e06e1dcc821ed903c "" + "notebooks_reliability_diagram_3_0.png" 1729173057 40555 7f21493f44d7ea51f3eb7d2e560d4f0b "" + "notebooks_reliability_diagram_5_0.png" 1729173057 47576 38437d3c4064586dc155be2ef6c8735b "" + "notebooks_reliability_diagram_8_0.png" 1729173057 40689 0cb4ca8d3c4b37c78e0a871a292c915f "" + "notebooks_reliability_diagram_9_0.png" 1729173057 60864 f866db6032833e6af5b14aa39a869dde "" + "notebooks_spiegelhalter_z_9_1.png" 1729173057 22199 c90489bd51b52e777b195f116cce338b "" + "notebooks_topclass_2_0.png" 1729173057 40555 7f21493f44d7ea51f3eb7d2e560d4f0b "" "sphinx.sty" 1727458774 50659 6d393be3f369a7862f0b19a359f1ab89 "" - "sphinxhighlight.sty" 1728324170 7553 83fb52292c17957d9f4aadcb28c57a87 "" + "sphinxhighlight.sty" 1729173057 7553 83fb52292c17957d9f4aadcb28c57a87 "" "sphinxlatexadmonitions.sty" 1727458774 18222 f3bfd316b630ed188fcc20bf320acafe "" "sphinxlatexcontainers.sty" 1727458774 901 d3a3a1b7b2547f47ade2499350b5c420 "" "sphinxlatexgraphics.sty" 1727458774 4840 a9578332b6f3b35e198751fb632c9b79 "" @@ -212,15 +212,15 @@ "sphinxlatexstyletext.sty" 1727458774 6881 543f3cecccc7dccac396b5720cccf443 "" "sphinxlatextables.sty" 1727458774 57644 2253ce149b29042948a000d2dbf50b50 "" "sphinxmanual.cls" 1727458774 4241 7b0d7a37df7b5715fb0dbd585c52ecdb "" - "sphinxmessages.sty" 1728324171 745 3f5fcd6cdd7964ed608767954a8ced6f "" + "sphinxmessages.sty" 1729173058 745 3f5fcd6cdd7964ed608767954a8ced6f "" "sphinxoptionsgeometry.sty" 1727458774 2061 47bb34b8ed8a78823eb0c886abfb9f4d "" "sphinxoptionshyperref.sty" 1727458774 1094 79beb8b8a3f10784f8cce804e0f9d3aa "" "sphinxpackageboxes.sty" 1727458774 36106 1be2053eb1cb9b083b3a75e3657bcb24 "" "sphinxpackagefootnote.sty" 1727458774 15330 2fb656b6ce8cd1f6aba2d1c508fb51e5 "" (generated) - "calzone.out" - "calzone.log" - "calzone.aux" - "calzone.idx" - "calzone.pdf" "calzone.toc" + "calzone.pdf" + "calzone.idx" + "calzone.aux" + "calzone.log" + "calzone.out" diff --git a/docs/build/latex/calzone.log b/docs/build/latex/calzone.log index 197c156..1b32579 100644 --- a/docs/build/latex/calzone.log +++ b/docs/build/latex/calzone.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2024.10.4) 7 OCT 2024 13:47 +This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2024.10.4) 17 OCT 2024 09:35 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -1083,34 +1083,34 @@ Chapter 9. ] [50] [51] [52] Chapter 10. -Overfull \vbox (0.92192pt too high) detected at line 3041 +Overfull \vbox (0.92192pt too high) detected at line 3044 [] [53 ] [54] -Underfull \vbox (badness 10000) detected at line 3149 +Underfull \vbox (badness 10000) detected at line 3152 [] -Overfull \vbox (3.52196pt too high) detected at line 3149 +Overfull \vbox (3.52196pt too high) detected at line 3152 [] [55] [56] Chapter 11. - + File: notebooks_topclass_2_0.png Graphic file (type png) -Package pdftex.def Info: notebooks_topclass_2_0.png used on input line 3217. +Package pdftex.def Info: notebooks_topclass_2_0.png used on input line 3220. (pdftex.def) Requested size: 469.77333pt x 364.72809pt. -Underfull \vbox (badness 10000) detected at line 3221 +Underfull \vbox (badness 10000) detected at line 3224 [] [57 ] -Underfull \vbox (badness 10000) detected at line 3269 +Underfull \vbox (badness 10000) detected at line 3272 [] [58 <./notebooks_topclass_2_0.png>] [59] [60 @@ -1126,14 +1126,14 @@ LaTeX Font Info: Font shape `TS1/txtt/m/it' in size <10> not available (Font) Font shape `TS1/txtt/m/sl' tried instead on input line 1. [64] LaTeX Font Info: Trying to load font information for U+fontawesomefree1 on i -nput line 3589. +nput line 3592. (/usr/share/texlive/texmf-dist/tex/latex/fontawesome5/ufontawesomefree1.fd) -Overfull \vbox (0.52995pt too high) detected at line 3652 +Overfull \vbox (0.52995pt too high) detected at line 3655 [] [65] [66] [67] [68] [69] [70] -Overfull \hbox (73.01103pt too wide) in paragraph at lines 4368--4372 +Overfull \hbox (73.01103pt too wide) in paragraph at lines 4371--4375 []\T1/qtm/m/n/10 Note: - If there is a header, it must be in the for-mat: proba _0,proba_1,...,subgroup_1(optional),subgroup_2(optional),...,label [] @@ -1261,15 +1261,15 @@ Underfull \hbox (badness 10000) in paragraph at lines 116--118 [80 ]) -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 5016. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 5016. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 5019. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 5019. (./calzone.aux) -Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 5016. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 5016. +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 5019. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 5019. Package rerunfilecheck Info: File `calzone.out' has not changed. (rerunfilecheck) Checksum: 0B3B85C9FAD9148DEFDEF8B454953F20;11017. -Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 5016. +Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 5019. ) Here is how much of TeX's memory you used: 18988 strings out of 481239 @@ -1302,10 +1302,10 @@ fonts/type1/public/tex-gyre/qtmri.pfb> -Output written on calzone.pdf (84 pages, 1434923 bytes). +Output written on calzone.pdf (84 pages, 1435181 bytes). PDF statistics: - 952 PDF objects out of 1000 (max. 8388607) - 798 compressed objects within 8 object streams + 953 PDF objects out of 1000 (max. 8388607) + 799 compressed objects within 8 object streams 190 named destinations out of 1000 (max. 500000) 581 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/docs/build/latex/calzone.pdf b/docs/build/latex/calzone.pdf index 4269334666b3242f7d1e5729d896cdc9b007423b..380d95708e1119f9848faeaf47e9f3645c917810 100644 GIT binary patch delta 19899 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 diff --git a/docs/build/latex/calzone.tex b/docs/build/latex/calzone.tex index b0dcf0f..4dd4923 100644 --- a/docs/build/latex/calzone.tex +++ b/docs/build/latex/calzone.tex @@ -65,7 +65,7 @@ \title{calzone} -\date{Oct 07, 2024} +\date{Oct 17, 2024} \release{develop} \author{Kwok Lung "Jason" Fan, Qian Cao} \newcommand{\sphinxlogo}{\vbox{}} @@ -2900,6 +2900,9 @@ \section{References} \sphinxAtStartPar Tian, J., Liu, Y.\sphinxhyphen{}C., Glaser, N., Hsu, Y.\sphinxhyphen{}C., \& Kira, Z. (2020). Posterior Re\sphinxhyphen{}calibration for Imbalanced Datasets (No. arXiv:2010.11820). arXiv. http://arxiv.org/abs/2010.11820 +\sphinxAtStartPar +Horsch, K., Giger, M. L., \& Metz, C. E. (2008). Prevalence scaling: applications to an intelligent workstation for the diagnosis of breast cancer. Academic radiology, 15(11), 1446\textendash{}1457. \sphinxurl{https://doi.org/10.1016/j.acra.2008.04.022} + \sphinxstepscope diff --git a/docs/source/notebooks/prevalence_adjustment.ipynb b/docs/source/notebooks/prevalence_adjustment.ipynb index ccdf182..08e07a4 100644 --- a/docs/source/notebooks/prevalence_adjustment.ipynb +++ b/docs/source/notebooks/prevalence_adjustment.ipynb @@ -235,6 +235,8 @@ "\n", "\n", "Tian, J., Liu, Y.-C., Glaser, N., Hsu, Y.-C., & Kira, Z. (2020). Posterior Re-calibration for Imbalanced Datasets (No. arXiv:2010.11820). arXiv. http://arxiv.org/abs/2010.11820\n", + "\n", + "Horsch, K., Giger, M. L., & Metz, C. E. (2008). Prevalence scaling: applications to an intelligent workstation for the diagnosis of breast cancer. Academic radiology, 15(11), 1446–1457. https://doi.org/10.1016/j.acra.2008.04.022\n", "\n" ] } diff --git a/paper/paper.bib b/paper/paper.bib index bca0b07..8d2fa2d 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -78,6 +78,28 @@ @article{beta-binomial year = {1973} } +@article{Prevalence_HORSCH, +title = {Prevalence Scaling: Applications to an Intelligent Workstation for the Diagnosis of Breast Cancer}, +journal = {Academic Radiology}, +volume = {15}, +number = {11}, +pages = {1446-1457}, +year = {2008}, +issn = {1076-6332}, +doi = {https://doi.org/10.1016/j.acra.2008.04.022}, +url = {https://www.sciencedirect.com/science/article/pii/S1076633208002936}, +author = {Karla Horsch and Maryellen L. Giger and Charles E. Metz}, +keywords = {ROC analysis, computer-aided diagnosis, mammography, ultrasound}, +abstract = {Rationale and Objectives +Our goal was to investigate the effects of changes that the prevalence of cancer in a population have on the probability of malignancy (PM) output and an optimal combination of a true-positive fraction (TPF) and a false-positive fraction (FPF) of a mammographic and sonographic automatic classifier for the diagnosis of breast cancer. +Materials and Methods +We investigate how a prevalence-scaling transformation that is used to change the prevalence inherent in the computer estimates of the PM affects the numerical and histographic output of a previously developed multimodality intelligent workstation. Using Bayes' rule and the binormal model, we study how changes in the prevalence of cancer in the diagnostic breast population affect our computer classifiers' optimal operating points, as defined by maximizing the expected utility. +Results +Prevalence scaling affects the threshold at which a particular TPF and FPF pair is achieved. Tables giving the thresholds on the scaled PM estimates that result in particular pairs of TPF and FPF are presented. Histograms of PMs scaled to reflect clinically relevant prevalence values differ greatly from histograms of laboratory-designed PMs. The optimal pair (TPF, FPF) of our lower performing mammographic classifier is more sensitive to changes in clinical prevalence than that of our higher performing sonographic classifier. +Conclusions +Prevalence scaling can be used to change computer PM output to reflect clinically more appropriate prevalence. Relatively small changes in clinical prevalence can have large effects on the computer classifier's optimal operating point.} +} + @article{Brocker_decompose, author = {Bröcker, Jochen}, diff --git a/paper/paper.md b/paper/paper.md index 869b6ce..dc058f7 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -241,7 +241,7 @@ and it will return a structured numpy array. $$ P'(D=1|\hat{p}=p) = \frac{\eta'/(1-\eta')}{(1/p-1)(\eta/(1-\eta))} = p' $$ -where $\eta$ is the prevalence of the testing data, $\eta'$ is the prevalence of the training data, and $p$ is the predicted probability [@weijie_prevalence_adjustment;@prevalence_shift;@gu_likelihod_ratio]. We search for the optimal $\eta'$ that minimizes the cross-entropy loss. +where $\eta$ is the prevalence of the testing data, $\eta'$ is the prevalence of the training data, and $p$ is the predicted probability [@weijie_prevalence_adjustment;@prevalence_shift;@gu_likelihod_ratio;@Prevalence_HORSCH]. We search for the optimal $\eta'$ that minimizes the cross-entropy loss. ## Multiclass extension `calzone` also provides multiclass extension to calculate the metrics for multiclass classification. The user can specify the class to calculate the metrics using a 1-vs-rest approach and test the calibration of each class. Alternatively, the user can transform the data and make problem become a top-class calibration problem. The top-class calibration has a similar format to binary classification, but the class 0 probability is defined as 1 minus the probability of the class with the highest probability, and the class 1 probability is defined as the probability of the class with the highest probability. The labels are transformed into whether the predicted class equals the true class, 0 if not and 1 if yes. Notice that the interpretation of some metrics may change in the top-class transformation.